Skip to main content

Notifikasi Disbursement

Untuk alasan keamanan, kami sangat menyarankan Merchant untuk memastikan bahwa notifikasi yang diterima oleh backend Merchant, benar-benar dikirim oleh sistem Finpay. Ada dua cara untuk melakukan hal tersebut:

  1. Validasi respons dengan meminta pengecekan status transaksi ke Finpay menggunakan Layanan Cek Status. Alur ini merupakan metode yang paling aman untuk memverifikasi keaslian Callback. Jika status transaksi sesuai dengan Callback maka Merchant dapat melanjutkan proses order.
  2. Validasi respon dengan membandingkan signature key yang diterima dari sistem Finpay saat mengirimkan Callback dengan signature yang dibuat oleh Merchant. Jika signature key tidak sesuai, maka silahkan abaikan Callback yang dikirimkan oleh Finpay dan Anda tidak perlu memproses transaksi tersebut.

Berikut adalah logika Signature Key untuk menghasilkan Signature Key:

hash_hmac("sha512", json_encode($fields), $key);

Data Request

NoNameTypeMandatoryMin LengthMax LengthDescription
1 amountObjectO12Detail of amount
2 originalReferenceNoStringM164Original transaction identifier on service provider system
3 beneficiaryAccountNoStringM164Original beneficiary account number on service provider system
4 originalPartnerReferanceNoStringO164Original Transaction identifier on service consumer system
5 latestTransactionStatusStringM1200 - Success 01 - Initiated 02 - Paying 03 - Pending 04 - Refunded 05 - Cancelled 06 - Failed 07 - Not found
6 beneficiaryAccountNameStringM164Original beneficiary account name on service provider system
7 beneficiaryBackCodeStringM16Original beneficiary bank code on service provider system
8 transactionDateStringO150ISO 8601 format
9 additionalInfoObjectO118Additional Info

Sample Request

{
"amount": {
"currency": "IDR",
"value": "1000.00"
},
"originalReferenceNo": "20240921061636205623",
"beneficiaryAccountNo": "500654309",
"originalPartnerReferenceNo": "240921-9865405967",
"latestTransactionStatus": "00",
"beneficiaryAccountName": "Karman Prasasta",
"beneficiaryBankCode": "91014",
"transactionDate": "2024-09-21T06:16:37+07:00",
"additionalInfo": {
"notes": null
}
}

Data Response

Sample Response

{
"responseCode": "2000000",
"responseMessage": "Success",
"processingTime": 0.6609270572662354
}