Skip to main content

Notifikasi Callback

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);
MethodMerchant URL
POSThttps://url.callback.merchant/

Data Request

NoNameTypeMandatoryMin LengthMax LengthDescription
1 transactionDateStringO150ISO 8601 format
2 transferDateTimeStringM150Actual transfer date time ISO 8601 format
3 originalReferenceNoStringM164Original transaction identifier on service provider system
4 originalPartnerReferanceNoStringO164Original Transaction identifier on service consumer system
5 beneficiaryBackCodeStringM16Original beneficiary bank code on service provider system
6 beneficiaryAccountNameStringM164Original beneficiary account name on service provider system
7 beneficiaryAccountNoStringM164Original beneficiary account number on service provider system
8 amountObjectO12Detail of amount
9 latestTransactionStatusStringM1200 - Success 01 - Initiated 02 - Paying 03 - Pending 04 - Refunded 05 - Cancelled 06 - Failed 07 - Not found
10 triggerTypeStringM19Type of Notification: - automatic (updated by system) - manual (triggered by merchant/operation)
11 additionalInfoObjectO118Additional Info

Sample Request

{
"transactionDate": "2025-06-25T16:43:41+07:00",
"transferDateTime": "2025-06-25T16:43:44+07:00",
"originalReferenceNo": "20250625164341499267",
"originalPartnerReferenceNo": "f6c1bf23-8c86-4241-a445-591275d7efb0",
"beneficiaryBankCode": "91122",
"beneficiaryAccountName": "AHMAD ARIFAI",
"beneficiaryAccountNo": "3205309801",
"amount": {
"currency": "IDR",
"value": "3036663.00"
},
"latestTransactionStatus": "00",
"triggerType": "automatic",
"additionalInfo": {
"notes": null
}
}

Data Response

NoNameTypeMandatoryMin LengthMax LengthDescription
1 responseCodeEnumM17Response Code
2 responseMessageStringM1500Response Message
3 processingTimeNumberM120Processing Time

Sample Response

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