Asynchronous Notification
Asynchronous Notification Panduan callback notifikasi pembayaran dari Paylabs ke Merchant.
Jika status 02 (Sukses) atau 09 (Gagal), sistem akan mengirim callback.
URL diambil dari notifyUrl yang dikirim saat pembuatan order.
Jika response tidak sesuai, notifikasi akan dikirim ulang hingga 8 kali pada interval 1s, 5s, 10s, 30s, 60s, 300s, 900s, 1800s.
URL: nilai notifyUrl saat kirim request order
HTTPMethod: POST
EndpointUrl: path dari URL, contoh jika URL=https://merchant-domain.com/v2/qris/notify maka Path=/v2/qris/notify
Cara Membuat Signature
Field Name Type Value Required Content-Type String(30) Isi dengan nilai "application/json;charset=utf-8" Yes X-TIMESTAMP String(29) Waktu saat ini, dengan format 2022-09-16T16:58:47.964+07:00 Yes X-SIGNATURE String(64) Signature. Untuk selengkapnya cek Yes X-PARTNER-ID String(20) Merchant ID Yes X-REQUEST-ID String(64) ID unik merepresentasikan setiap request yang dikirim Yes
Kode Error
Parameter Type Required Remarks requestId String(64) Yes Kode unik untuk setiap request errCode String(32) Yes 0 adalah sukses, untuk lainnya bisa lihat tabel errCodeDes String(128) No Deskripsi terkait error merchantId String(20) Yes Merchant ID storeId String(30) No Jika Merchant memiliki cabang dan ingin membuat order dengan ID cabang paymentType String(20) Yes Nama tipe pembayaran, cek tabel Tipe Pembayaran amount Decimal(12,2) Yes Nominal dalam Rupiah Indonesia, with 2 decimal places merchantTradeNo String(32) Yes Kode unik yang dibuat oleh Merchant untuk setiap transaksi platformTradeNo String(32) No Nomor order di platform Paylabs createTime String(16) No yyyyMMddHHmmss successTime String(16) No yyyyMMddHHmmss status String(32) No 01: Pending, 09: Failed, 02: Success productName String(100) No Nama produk atau layanan +productInfo Array<Object>(30)No Informasi detil atas produk atau layanan dalam transaksi a?Oid String(10) Yes Product ID a?Oname String(32) Yes Product Name a?Oprice decimal(12,2) Yes Nilai dalam Rupiah, mendukung dua angka belakang koma a?Otype String(20) Yes Product Type a?Ourl String(200) No Product URL a?Oquantity Number(4) Yes Product Quantity +paymentMethodInfo Object No Informasi tambahan terkait Payment channel transFeeRate Decimal(6,6) No Rate Transaksi, mendukung enam angka belakang koma transFeeAmount Decimal(12,2) No Biaya, mendukung dua angka belakang koma totalTransFee Decimal(12,2) No Total rate biaya layanan transaksi (tidak termasuk vatFee), mendukung dua angka belakang koma vatFee Decimal(12,2) No Pajak, mendukung dua angka belakang koma
Parameter Type Required Remarks nmid String(32) Yes National Merchant ID rrn String(32) No Kode pembayaran sukses tid String(32) No Terminal ID (Hanya ada di QRIS) payer String(60) No Nama payer sebenarnya (jika didukung). Catatan: bukan nilai payer yang dikirim saat inisiasi. phoneNumber String(20) No Nomor telepon pembayar issuerId String(20) No ID Aplikasi dari issuer accountNo String(32) No Nomor rekening payer sebenarnya (jika didukung), null jika tidak.
Parameter Type Required Remarks vaCode String(32) Yes Nomor Virtual Account payer String(60) No Nama payer sebenarnya (jika didukung), null jika tidak. accountNo String(32) No Nomor rekening payer sebenarnya (jika didukung), null jika tidak.
Parameter Type Required Remarks paymentCode String(32) Yes Nomor kode pembayaran payer String(60) No Nama payer sebenarnya (jika didukung), null jika tidak. accountNo String(32) No Nomor rekening payer sebenarnya (jika didukung), null jika tidak.
Parameter Type Required Remarks payer String(60) No Nama payer sebenarnya (jika didukung), null jika tidak. accountNo String(32) No Nomor rekening payer sebenarnya (jika didukung), null jika tidak.
Cara Membuat Signature
Field Name Type Value Required Content-Type String(30) Isi dengan nilai "application/json;charset=utf-8" Yes X-TIMESTAMP String(29) Waktu saat ini, dengan format 2022-09-16T16:58:47.964+07:00 Yes X-SIGNATURE String(64) Signature. Untuk selengkapnya cek Yes X-PARTNER-ID String(20) Merchant ID Yes X-REQUEST-ID String(64) ID unik merepresentasikan setiap request yang dikirim Yes
Kode Error
Parameter Type Required Remarks requestId String(64) Yes Kode unik untuk setiap request errCode String(32) Yes 0 adalah sukses, untuk lainnya bisa lihat tabel errCodeDes String(128) No Deskripsi error merchantId String(20) Yes Merchant ID storeId String(30) No Jika Merchant memiliki cabang dan ingin membuat order dengan ID cabang
POST URL yang diberikan Merchant
# HTTP Header
Content-Type: application/json;charset=utf -8
X-TIMESTAMP: 2022-09-16 T 16 : 58 : 47.964 + 07 : 00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx
# HTTP Body
{
"merchantId" : "010001" ,
"requestId" : "N01029020230619290000003911687350380290" ,
"errCode" : "0" ,
"paymentType" : "MandiriVA" ,
"amount" : "150000.00" ,
"createTime" : "20230619221611" ,
"successTime" : "20230621094325" ,
"merchantTradeNo" : "673492076" ,
"platformTradeNo" : "2023061929000000001" ,
"status" : "02" ,
"vaCode" : "8959410619000001" ,
"transFeeRate" : "0" ,
"transFeeAmount" : "0" ,
"totalTransFee" : "0" ,
"vatFee" : "0"
}
POST URL yang diberikan Merchant
# HTTP Header
Content-Type: application/json;charset=utf -8
X-TIMESTAMP: 2022-09-16 T 16 : 58 : 47.964 + 07 : 00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx
# HTTP Body
{
"merchantId" : "010001" ,
"requestId" : "N01029020230619290000003911687350380290" ,
"errCode" : "0"
}