Transfer to Bank
Ringkasan
Layanan ini digunakan untuk menanyakan dan mengirim uang dari Paydia Bisnis ke rekening Bank. Informasi detail akan dijelaskan pada bagian selanjutnya.
Spesifikasi API Paydia akan mencakup 2 endpoint utama, yaitu:
No | Nama API | Deskripsi |
---|---|---|
1 | Inkuisisi Akun | API ini digunakan oleh pedagang untuk melakukan pengecekan informasi rekening Bank melalui Paydia Bisnis |
2 | Transaksi Pembayaran | API ini digunakan oleh pedagang untuk melakukan permintaan transfer ke Bank melalui Paydia Bisnis |
Pembuatan dan Validasi Signature
Berikut akan dijelaskan tentang Pembuatan dan validasi Signature.
Simetris dengan Akses Token B2B (HMAC_SHA512)
Langkah-langkah berikut akan menjelaskan Simetris dengan Akses Token B2B (HMAC_SHA512).
Pembuatan Signature Digital
Terapkan Signature Token B2B
- Rangkai string yang akan ditandatangani:
- String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan enkripsi SHA-256 dengan kunci privat pkcs8, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke dalam header HTTP “X-SIGNATURE“ saat memanggil API untuk menerapkan akses token B2B.
X-CLIENT-KEY + "|" + X-TIMESTAMP |
Signature Transaksi
- Rangkai string yang akan ditandatangani:
- String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan enkripsi HMAC_SHA512 menggunakan kunci rahasia yang diberikan oleh Paydia, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke dalam header HTTP “X-SIGNATURE“ saat memanggil API Paydia.
HTTP METHOD + ”:” + URL PATH RELATIF + “:“ + TOKEN AKSES B2B + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP |
Validasi Signature Digital
Terapkan Signature Token B2B
Berikut adalah langkah-langkah Pembuatan Signature digital:
- Ambil Signature dari header HTTP “X-SIGNATURE“.
- Dekripsi Signature menggunakan kunci publik yang sesuai dengan kunci privat yang digunakan untuk menghasilkan Signature.
- Verifikasi kebenaran Signature berdasarkan enkripsi SHA-256 dengan enkripsi RSA-2048 terhadap string yang akan ditandatangani.
- Jika verifikasi benar, maka terima pesan tersebut.
Signature Transaksi
- Rangkai string yang akan ditandatangani:
- Hasilkan Signature dari string yang akan ditandatangani di atas dengan menerapkan enkripsi HMAC_SHA512 menggunakan kunci rahasia yang diberikan oleh Paydia, dan kemudian kodekan hasilnya ke base64.
- Ambil Signature dari header HTTP “X-SIGNATURE“.
- Bandingkan nilai antara X-SIGNATURE dan Signature yang dihasilkan, jika nilai tersebut sama, maka terima pesan tersebut.
HTTP METHOD + ”:” + URL PATH RELATIF + “:“ + TOKEN AKSES B2B + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP |
Asimetris tanpa Akses Token (SHA256withRSA)
Langkah-langkah berikut akan menjelaskan Asimetris tanpa Akses Token (SHA256withRSA).
Pembuatan Kunci Asimetris
Berikut akan dijelaskan tentang Pembuatan kunci asimetris:
- Buat Kunci Privat
- Ekspor Kunci Publik
- Kodekan Kunci Privat ke PKCS#8
openssl genrsa -out rsa_private_key.pem 2048 |
openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout |
openssl pkcs8 -topk8 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt |
Mitra harus menghasilkan Signature dengan pkcs8_rsa_private_key.pem, dan Paydia akan menggunakan rsa_public_key.pem untuk memvalidasi Signature dan sebaliknya.
Pembuatan Signature Digital
Berikut adalah langkah-langkah Pembuatan Signature digital:
- Rangkai string yang akan ditandatangani:
- Terapkan token:
- Transaksional:
- String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan enkripsi SHA-256 dengan enkripsi RSA-2048 menggunakan kunci privat pkcs8, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke dalam header HTTP “X-SIGNATURE“.
X-CLIENT-KEY + "|" + X-TIMESTAMP |
HTTP METHOD + ”:” + URL PATH RELATIF + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY))) + “:“ + X-TIMESTAMP |
Contoh:
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5 |
Validasi Signature Digital
Berikut adalah langkah-langkah validasi Signature digital: