Callback Virtual Account
API Name Callback Payment Notif VA Function API yang digunakan untuk menginformasikan kepada mitra PakaiLink ketika Nomor VA telah dilakukan pembayaran. Service Code 28 Method POST URL {{url_callback_partner}} yang ditambahkan saat mengakses endpoint create va Content Type application/json Related Service Virtual Account Notes PakaiLink akan melakukan maksimal 3x hit retry callback.
Request
Header
No Name Type Length Required Condition Remarks 1 Content-Type String Variable, 127 max Wajib – Tipe konten, nilai selalu application/json 2 X-TIMESTAMP String Fixed, 25 max Wajib – Waktu transaksi dalam format YYYY-MM-DDTHH:mm:ss+07:00. Zona waktu harus GMT+7 (Jakarta time) 3 X-SIGNATURE String Variable Wajib – Signature harus dihasilkan dengan metode Symmetric Signature.
Body
No Name Type Length Required Condition Remarks 1 transactionData JSON Object Variable Wajib – Berisikan informasi data callback transaksi Virtual Account. 2 paymentFlagStatus 3 paymentFlagReason MultilanguageText Variable Optional – Alasan Status Pembayaran multi bahasa 4 paymentFlagReason.english String Variable – – Alasan status pembayaran dalam bahasa inggris 5 paymentFlagReason.indonesia String Variable – – Alasan status pembayaran dalam bahasa indonesia 6 partnerServiceId String Fixed, 8 max Wajib – Kode penjual/pembayar dari akun virtual 7 customerNo String Variable, 20 max Wajib – Nomor unik (hingga 20 digit) 8 virtualAccountNo String Variable, 28 max Wajib – Informasi nomor akun virtual hasil gabungan partnerServiceId dan customerNo 9 virtualAccountName String Variable, 255 max Wajib – Informasi nama pelanggan 10 partnerReferenceNo String Variable, 64 max Wajib – Pengenal transaksi unik pada sistem mitra yang diberikan untuk setiap transaksi 11 callbackType callbackType Variable, 64 max Wajib – Jenis callback yang dikirim oleh sistem 12 virtualAccountTrxType String Variable, 1 max Wajib – Digunakan untuk mengidentifikasi tipe kode VA yang dibuat, Untuk saat ini PakaiLink hanya support untuk tipe VA Statis dan VA Dinamis. VA Statis [O] VA Dinamis [C] 13 paidAmount JSON Object Variable Optional – Berisi nominal yang berhasil dibayarkan 14 paidAmount.value String Variable, 1 max – – Transaction paidAmount, termasuk pecahan 15 paidAmount.currency String Variable, 3 max – – Kode mata uang berdasarkan ISO 16 feeAmount JSON Object Variable Optional – Jumlah biaya layanan yang dikenakan dalam suatu transaksi 17 feeAmount.value String Variable – – Transaction paidAmount, termasuk pecahan 18 feeAmount.currency String Variable – – Kode mata uang berdasarkan ISO 19 creditBalance JSON Object Variable Optional – Nominal yang masuk ke saldo mitra 20 creditBalance.value String Variable – – Nominal creditBalance, termasuk pecahan 21 creditBalance.currency String Variable – – Kode mata uang berdasarkan ISO 22 additionalInfo JSON Object Variable – – Informasi tambahan. 23 additionalInfo.callbackUrl String Variable Wajib – URL untuk dapat menerima notifikasi pembayaran setelah pembayaran dilakukan oleh pelanggan. 24 additionalInfo.balance JSON Object Variable – – Saldo mitra saat ini 25 additionalInfo.balance.value String Variable – – Nominal additional.balance, termasuk pecahan. 26 additionalInfo.balance.currency String Variable – – Kode mata uang berdasarkan ISO
Contoh Request
callback va
POST /callback/partner
"Content-Type": "application/json",
"X-Timestamp": "2025-03-04T12:33:28+07:00",
"X-Signature": "Au/HnhHlzXvfe3VK0zLYAEkEGiH2Zrc9lctjastNB/Ho/G4Z9N67e8zvH0j4WeK+2fTCsQg0LoWJqAlFtMBDqN7IBtffy4MzJ6uNN5P9TDp758f/xZlPrdT/c9MY7Y1IuirLHSQUxg3pO/ZDW0iKseordnGcxYYbhiApZxzd6Bw3z+uR+PlZA4CbZdORwCWLzcI1DL9VCXmjeH+NZCtf24CskGA+RhiFH/Vr95Vxux2oYSzDyy/xG5GASYujdIZ/dx9zC+lh9okLwhIEhF5bJ07bYu/IqKFPREEWZgiJ0gbyO5Mgh1RZh7EK6NNx7KuZSLZLW0aa3c62fNa6VhQFbA=="
{
"transactionData": {
"paymentFlagStatus": "00",
"paymentFlagReason": {
"english": "Success",
"indonesia": "Sukses"
},
"customerNo": "131857418122353",
"virtualAccountNo": "7137010000000885",
"virtualAccountName": "Setya Wardana",
"partnerReferenceNo": "1Mfo8gsQa43Sd2zJ3CJzDHYjGkeG3ErDD6tu",
"callbackType": "settlement",
"paidAmount": {
"value": "10000.00",
"currency": "IDR"
},
"feeAmount": {
"value": "3000.00",
"currency": "IDR"
},
"creditBalance": {
"value": "7000.00",
"currency": "IDR"
},
"additionalInfo": {
"callbackUrl": "http://localhost:10007/callback/partner"
}
}
}
Response
Body
No Name Type Length Required Condition Remarks 1 responseCode String Fixed, 7 max Wajib – Lihat daftar kode response. 2 responseMessage String Variable, 150 max Wajib – Lihat daftar kode response.
Contoh Response
{
"responseCode": "2002800",
"responseMessage": "Successful"
}
Kode dan Pesan Response
No Response Kode Response Pesan Keterangan 1 2002800 Successful Request telah berhasil diproses tanpa ada masalah