Skip to main content

Transaction History

Ringkasan

Layanan ini digunakan untuk mengelola dan menampilkan daftar riwayat transaksi bisnis Paydia pengguna. Informasi detail akan dijelaskan pada bagian selanjutnya.

Spesifikasi API Paydia akan mencakup 1 endpoint utama, yaitu:

NoNama APIDeskripsi
1Riwayat TransaksiAPI ini digunakan untuk mengambil daftar riwayat transaksi bisnis Paydia pengguna

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
  1. Rangkai string yang akan ditandatangani:
  2. X-CLIENT-KEY + "|" + X-TIMESTAMP
  3. String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan SHA-256 dengan enkripsi RSA-2048 menggunakan kunci privat pkcs8, dan kemudian kodekan hasilnya ke base64.
  4. Letakkan string Signature ke dalam header HTTP “X-SIGNATURE“ saat memanggil API untuk menerapkan akses token B2B.
Signature Transaksi
  1. Rangkai string yang akan ditandatangani:
  2. HTTP METHOD + ”:” + URL PATH RELATIF + “:“ + TOKEN AKSES B2B + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP
  3. 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.
  4. Letakkan string Signature ke dalam header HTTP “X-SIGNATURE“ saat memanggil API Paydia.

Validasi Signature Digital

Terapkan Signature Token B2B

Berikut adalah langkah-langkah Pembuatan Signature digital:

  1. Ambil Signature dari header HTTP “X-SIGNATURE“.
  2. Dekripsi Signature menggunakan kunci publik yang sesuai dengan kunci privat yang digunakan untuk menghasilkan Signature.
  3. Verifikasi kebenaran Signature berdasarkan enkripsi SHA-256 dengan enkripsi RSA-2048 terhadap string yang akan ditandatangani.
  4. Jika verifikasi benar, maka terima pesan tersebut.
Signature Transaksi
  1. Rangkai string yang akan ditandatangani:
  2. HTTP METHOD + ”:” + URL PATH RELATIF + “:“ + TOKEN AKSES B2B + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP
  3. 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.
  4. Ambil Signature dari header HTTP “X-SIGNATURE“.
  5. Bandingkan nilai antara X-SIGNATURE dan Signature yang dihasilkan, jika nilai tersebut sama, maka terima pesan tersebut.

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
  • openssl genrsa -out rsa_private_key.pem 2048
  • Ekspor Kunci Publik
  • openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout
  • Kodekan Kunci Privat ke PKCS#8
  • 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:

  1. Rangkai string yang akan ditandatangani:
    • Terapkan token:
    • X-CLIENT-KEY + "|" + X-TIMESTAMP
    • Transaksional:
    • HTTP METHOD + ”:” + URL PATH RELATIF + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP
  2. 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.
  3. Letakkan string Signature ke dalam header HTTP “X-SIGNATURE“.

Contoh:

X-SIGNATURE: HVbXQ3t0LFSwQeIhsyBKyqzDwPvzEMOWkcvd/meK5FmflPtkAMPgIEnpITcGHGNrXi8yOAsaNLOYwk2/FEp5bKpj9IsEXerCmnAtEs6Ys6pn6SwtGdm+ds99ClppYbJ+D6S1hf+r2NwJ8noFK1CnwxJaN67vj/zKIlNNltsXbJUAlo3FDsoJYXtWS9yda87vzqn2N38xTiYVQrdwQv2uilMZQf/cI92Wejm80W6qiW3sizqo0I3vi3CHUHgE672/Jy1UWAIymPYjGW1WOzfnCWRjG5OcFW1qkUqGt2GIlR7GzlZaduj/mVOnOg+kbQ6BNxdsU+ZbBdADsEwmUsfpIg==

Validasi Signature Digital

Berikut adalah langkah-langkah validasi Signature digital:

  1. Ambil Signature dari header HTTP “X-SIGNATURE“.
  2. Dekripsi Signature menggunakan kunci publik yang sesuai dengan kunci privat yang digunakan untuk menghasilkan Signature.
  3. Verifikasi kebenaran Signature berdasarkan enkripsi SHA-256 dengan enkripsi RSA-2048 terhadap string yang akan ditandatangani.
  4. Jika verifikasi benar, maka terima pesan tersebut.

Versi Dokumen

Tabel berikut digunakan untuk menunjukkan versi dokumen ini:

NoTanggalVersiCatatanHalaman
110 Mei 20231.2.2
  • Menghapus TOKEN AKSES B2B dalam Pembuatan Signature Digital
227 April 20231.2.1
  • Release Awal
  • Ditambahkan ke daftar API SNAP
  • Ditambahkan ke daftar Layanan SNAP