Transfer Status Inquiry Bank
Ringkasan
Layanan ini digunakan untuk memeriksa status transfer setelah mengirim uang dari Paydia Bisnis ke rekening Bank. Informasi rinci akan dijelaskan pada bagian selanjutnya.
Spesifikasi API Paydia akan mencakup 1 titik utama, yaitu:
No | Nama API | Deskripsi |
---|---|---|
1 | Status Transfer | API ini digunakan oleh pedagang untuk memeriksa status transfer melalui Paydia Bisnis |
Pembuatan dan Validasi Signature
Berikut akan dijelaskan tentang Pembuatan dan validasi Signature.
Simetris dengan Token Akses B2B (HMAC_SHA512)
Langkah-langkah berikut akan menjelaskan tentang Simetris dengan Token Akses B2B (HMAC_SHA512).
Pembuatan Signature Digital
Terapkan Signature B2B Token
- Composisi string yang akan ditandatangani:
- String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan enkripsi SHA-256 dengan kunci pribadi pkcs8, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke header HTTP “X-SIGNATURE“ saat memanggil API untuk menerapkan token akses B2B.
X-CLIENT-KEY + "|" + X-TIMESTAMP |
Signature Transaksi
- Composisi string yang akan ditandatangani:
- String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan penyandian HMAC_SHA512 menggunakan kunci rahasia yang diberikan oleh Paydia, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke header HTTP “X-SIGNATURE“ saat memanggil API Paydia.
HTTP METHOD + ”:” + RELATIVE PATH URL + “:“ + B2B ACCESS TOKEN + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP |
Validasi Signature Digital
Terapkan Signature B2B Token
Berikut adalah langkah-langkah Pembuatan Signature digital:
- Ambil Signature dari header HTTP “X-SIGNATURE“.
- Dekripsi Signature menggunakan kunci publik yang sesuai dengan kunci pribadi yang digunakan untuk menghasilkan Signature.
- Verifikasi kebenaran Signature berdasarkan enkripsi SHA-256 dengan Signature RSA-2048 terhadap string yang akan ditandatangani.
- Jika verifikasi benar, maka konsumsi pesan tersebut.
Signature Transaksi
- Composisi string yang akan ditandatangani:
- Hasilkan Signature dari string yang akan ditandatangani di atas dengan menerapkan penyandian 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 konsumsi pesan tersebut.
HTTP METHOD + ”:” + RELATIVE PATH URL + “:“ + B2B ACCESS TOKEN + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP |
Asimetris tanpa Token Akses (SHA256denganRSA)
Langkah-langkah berikut akan menjelaskan tentang Asimetris tanpa Token Akses (SHA256denganRSA).
Pembuatan Kunci Asimetris
Berikut akan dijelaskan tentang Pembuatan kunci asimetris:
- Buat Kunci Pribadi
- Ekspor Kunci Publik
- Kodekan Kunci Pribadi 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:
- Composisi 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 pribadi pkcs8, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke header HTTP “X-SIGNATURE“.
X-CLIENT-KEY + "|" + X-TIMESTAMP |
HTTP METHOD + ”:” + RELATIVE PATH URL + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY))) + “:“ + X-TIMESTAMP |
Contoh:
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5 |
Validasi Signature Digital
Berikut adalah langkah-langkah validasi Signature digital:
- Ambil Signature dari header HTTP “X-SIGNATURE“.
- Dekripsi Signature menggunakan kunci publik yang sesuai dengan kunci pribadi yang digunakan untuk menghasilkan Signature.
- Verifikasi kebenaran Signature berdasarkan enkripsi SHA-256 dengan enkripsi RSA-2048 pada Signature terhadap string yang akan ditandatangani.
- Jika verifikasi benar, maka konsumsi pesan tersebut.
Versi Dokumen
Tabel berikut digunakan untuk menunjukkan versi dokumen ini:
No | Tanggal | Versi | Catatan | Halaman |
---|---|---|---|---|
1 | 20 Juni 2023 | 1.0.0 | Rilis Awal |