Virtual Account SNAP
Payment VA (NOTIFY)
Notifikasi saat pembayaran sukses
| Field | Value |
|---|
| URL | ${ROOT_URL}/api/v1.0/transfer-va/payment |
| Method | POST |
| Endpoint | /transfer-va/payment |
| Service Code | 25 |
| Version | 1.0 |
| ServiceGroup | transfer-va |
| ProductType | payment |
Notifikasi saat pembayaran sukses
| Parameter | Required | Type | Length | Remarks |
|---|
| Content-Type | M | String | - | Nilai tetap application/json |
| Authorization | C | String | Variabel | Nilai yang dikembalikan oleh antarmuka permintaan access_token, perlu diisi jika memilih metode tanda tangan enkripsi simetris |
| X-TIMESTAMP | M | String | 64 | Waktu Jakarta Indonesia, format 2021-11-29T09:22:18+07:00 |
| X-PARTNER-ID | M | String | 36 | ID Merchant |
| X-EXTERNAL-ID | M | String | 12 | ID Permintaan |
| X-SIGNATURE | M | String | Variabel | Signature. Untuk detailnya cek Cara Membuat Signature |
| X-IP-ADDRESS | M | String | 15 | IP Klien (IPv4) |
| Parameter | Required | Type | Length | Remarks |
|---|
| partnerServiceId | M | String | 8 | ID Merchant |
| customerNo | M | String | 20 | Nilai tetap 00000000000000000000 |
| virtualAccountNo | M | String | 28 | virtualAccountNo |
| virtualAccountName | M | String | 255 | Pembayar |
| virtualAccountEmail | O | String | 255 | Email |
| virtualAccountPhone | O | String | 30 | Nomor Ponsel, Format: 62xxxxxxxxxxxxx |
| trxId | C | String | 64 | Unique identifier generated by Partner |
| paymentRequestId | M | String | 128 | Unique identifier generated by PJP. Nomor Transaksi Platform |
| channelCode | O | Number | 4 | Channel code based on ISO 18245 |
| hashedSourceAccountNo | O | String | 32 | Source account number in hash |
| sourceBankCode | O | String | 3 | Source account bank code based on |
| + paidAmount | M | Object | | |
| - Value | M | String (ISO4217) | 16,2 | Paid Amount with 2 decimal |
| - Currency | M | String | 3 | Currency, tetap kirim: IDR |
| + cumulativePaymentAmount | O | Object | | |
| - Value | M | String (ISO4217) | 16,2 | Transaction Amount |
| - Currency | M | String | 3 | Currency, tetap kirim: IDR |
| paidBills | O | String | 6 | Hexadecimal format of binary of flag of paid bills |
| + totalAmount | O | Object | | |
| - Value | M | String (ISO4217) | 16,2 | Transaction Amount. |
| - Currency | M | String | 3 | Currency, tetap kirim: IDR |
| trxDateTime | O | Date | 25 | PJP internal system datetime with timezone, which follows the ISO-8601 standard |
| referenceNo | O | String | 64 | Payment auth code generated by PJP, Nomor Transaksi Platform |
| journalNum | O | String | 6 | Sequence journal number in PJP Core System |
| paymentType | O | String | 1 | Type of payment |
| flagAdvise | O | String | 1 | Status is this a retry notification, N: No, Y: Yes |
| subCompany | O | String | 5 | Sub Company code generated by Partner |
| + billDetails | O | Array of Objects | | Array with maximum 24 Objects |
| - billCode | O | String | 2 | From Inquiry Response |
| - billNo | O | String | 18 | From Inquiry Response |
| - billName | O | String | 20 | From Inquiry Response |
| - billShortName | O | String | 10 | From Inquiry Response |
| + billDescription | O | Object | | From Inquiry Response |
| - english | O | String | 18 | From Inquiry Response |
| - indonesia | O | String | 18 | From Inquiry Response |
| - billSubCompany | O | String | 5 | From Inquiry Response |
| + billAmount | O | Object | | |
| - Value | M | String (ISO4217) | 16,2 | Transaction Amount. From Inquiry Response |
| - Currency | M | String | 3 | Currency, tetap kirim: IDR |
| + additionalInfo | O | Object | unlimited | From Inquiry Response |
| - BillReferenceNo | O | Number | 15 | Bill auth code generated by PJP |
| + freeTexts | O | Array of Objects | | Array with maximum 25 Objects |
| - english | O | String | 32 | Will be shown in Channel |
| - indonesia | O | String | 32 | Will be shown in Channel |
| + additionalInfo | O | Object | | |
| - transFeeRate | O | decimal(8,6) | No | Tarif Biaya Transaksi |
| - transFeeAmount | O | decimal(12,2) | No | Biaya Per Transaksi |
| - totalTransFee | O | decimal(12,2) | No | Total Tarif Biaya Transaksi (tidak termasuk PPN) |
| - vatFee | O | decimal(12,2) | No | Pajak |
| - payer | O | String(60) | No | Pembayar Sebenarnya |
| - accountNo | O | String(32) | No | Nomor Rekening Pembayar Sebenarnya |
POST .../v1.0/transfer-va/payment HTTP/1.2
Content-type: application/json
X-TIMESTAMP: 2020-12-21T14:56:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-ORIGIN: www.hostname.com
X-PARTNER-ID: 010001
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24
{
"partnerServiceId":" 088899",
"customerNo":"12345678901234567890",
"virtualAccountNo":" 08889912345678901234567890",
"virtualAccountName":"Jokul Doe",
"virtualAccountEmail":"jokul@email.com",
"virtualAccountPhone":"6281828384858",
"trxId":"abcdefgh1234",
"paymentRequestId":"abcdef-123456-abcdef",
"channelCode":6011,
"hashedSourceAccountNo":"abcdefghijklmnopqrstuvwxyz123456",
"sourceBankCode":"008",
"paidAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"cumulativePaymentAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"paidBills":"95000",
"totalAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"trxDateTime":"20201231T235959Z",
"referenceNo":"123456789012345",
"journalNum":"123456",
"paymentType":1,
"flagAdvise":"Y",
"subCompany":"12345",
"billDetails":[
{
"billCode":"01",
"billNo":"123456789012345678",
"billName":"Bill A for Jan",
"billShortName":"Bill A",
"billDescription":{
"english":"Maintenance",
"indonesia":"Pemeliharaan"
},
"billSubCompany":"00001",
"billAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"additionalInfo":{
},
"billReferenceNo":"123456789012345"
}
],
"freeTexts":[
{
"english":"Free text",
"indonesia":"Tulisan bebas"
}
],
"additionalInfo":{
"transFeeRate": "0",
"transFeeAmount": "0",
"totalTransFee": "0",
"vatFee": "0"
}
}
| Parameter | Required | Type | Length | Remarks |
|---|
| Content-Type | M | String | - | Nilai tetap application/json |
| X-TIMESTAMP | M | String | 64 | Waktu Jakarta Indonesia, format 2021-11-29T09:22:18+07:00 |
| Parameter | Required | Type | Length | Remarks |
|---|
| responseCode | M | String | 7 | Response Code. response code = HTTP status code + service code + case code |
| responseMessage | M | String | 150 | Response Description |
| + virtualAccountData | M | Object | | |
| + paymentFlagReason | O | Object | | Reason for Payment Status multi language |
| - indonesia | O | String | 200 | Reason for Payment Status in English |
| - english | O | String | 200 | Reason for inquiryStatus in Bahasa |
| - partnerServiceId | M | String | 8 | Derivative of X-PARTNER-ID , similar to company code, |
| - customerNo | M | String | 20 | Nilai tetap 00000000000000000000 |
| - virtualAccountNo | M | String | 28 | virtualAccountNo |
| - virtualAccountName | M | String | 255 | Customer name |
| - virtualAccountEmail | O | String | 255 | Customer email |
| - virtualAccountPhone | O | String | 30 | Customer's phone number |
| - trxId | O | String | 32 | From Payment Request |
| - paymentRequestId | M | String | 128 | From Payment Request |
| + paidAmount | O | Object | | |
| - Value | M | String (ISO4217) | 16,2 | Transaction Amount. |
| - Currency | M | String | 3 | Currency, tetap kirim: IDR |
| - paidBills | O | String | 6 | From Payment Request |
| + totalAmount | O | Object | | |
| - Value | M | String (ISO4217) | 16,2 | Transaction Amount. Contoh: 10000.00 , Static VA tetap kirim: 0.00 |
| - Currency | M | String | 3 | Currency, tetap kirim: IDR |
| - trxDateTime | O | Date | 25 | From Payment Request |
| - referenceNo | O | String | 15 | From Payment Request |
| - journalNum | O | String | 6 | From Payment Request |
| - paymentType | O | String | 1 | From Payment Request |
| - flagAdvise | O | String | 1 | From Payment Request |
| - paymentFlagStatus | O | String | 2 | Status for Payment Flag from Partner |
| + billDetails | O | Array of Objects | | Array with maximum 24 Objects |
| - billerReferenceId | O | | 64 | From Inquiry Response |
| - billCode | O | String | 2 | From Inquiry Response |
| - billNo | O | String | 18 | From Inquiry Response |
| - billName | O | String | 20 | From Inquiry Response |
| - billShortName | O | String | 10 | From Inquiry Response |
| + billDescription | O | Object | | From Inquiry Response |
| - english | O | String | 18 | From Inquiry Response |
| - indonesia | O | String | 18 | From Inquiry Response |
| - billSubCompany | O | String | 5 | From Inquiry Response |
| + billAmount | O | Object | | |
| - Value | M | String (ISO4217) | 16,2 | Transaction Amount. |
| - Currency | M | String | 3 | Currency, tetap kirim: IDR |
| + additionalInfo | O | Object | unlimited | From Inquiry Response |
| - status | O | String | 2 | Payment status for specific Bill |
| + reason | O | Object | | Reason for Payment Status for specific Bill multi language |
| - english | O | String | 64 | Reason for Payment Status for specific Bill in English |
| - indonesia | O | String | 64 | Reason for Payment Status for specific Bill in Bahasa |
| + freeTexts | O | Array of Objects | | Array with maximum 25 Objects |
| - english | O | String | 32 | Will be shown in Channel |
| - indonesia | O | String | 32 | Will be shown in Channel |
| + additionalInfo | O | Object | | |
| - transFeeRate | O | decimal(8,6) | No | Tarif Biaya Transaksi |
| - transFeeAmount | O | decimal(12,2) | No | Biaya Per Transaksi |
| - totalTransFee | O | decimal(12,2) | No | Total Tarif Biaya Transaksi (tidak termasuk PPN) |
| - vatFee | O | decimal(12,2) | No | Pajak |
| - payer | O | String(60) | No | Pembayar Sebenarnya |
| - accountNo | O | String(32) | No | Nomor Rekening Pembayar Sebenarnya |
| Code | DESC |
|---|
| 00 | Success |
| 01 | Initiated |
| 02 | Paying |
| 03 | Pending |
| 04 | Refunded |
| 05 | Canceled |
| 06 | Failed |
| 07 | Not found |
Content-type: application/json
X-TIMESTAMP: 2020-12-21T14:36:19+07:00
{
"responseCode":"2002500",
"responseMessage":"Success",
"virtualAccountData":{
"paymentFlagReason":{
"english":"Success",
"indonesia":"Sukses"
},
"partnerServiceId":" 088899",
"customerNo":"12345678901234567890",
"virtualAccountNo":" 08889912345678901234567890",
"virtualAccountName":"Jokul Doe",
"virtualAccountEmail":"jokul@email.com",
"virtualAccountPhone":"6281828384858",
"trxId":"abcdefgh1234",
"paymentRequestId":"abcdef-123456-abcdef",
"paidAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"paidBills":"95000",
"totalAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"trxDateTime":"20201231T235959Z",
"referenceNo":"123456789012345",
"journalNum":"123456",
"paymentType":1,
"flagAdvise":"Y",
"paymentFlagStatus":"00",
"billDetails":[
{
"billerReferenceId":"123456789012345678",
"billCode":"01",
"billNo":"123456789012345678",
"billName":"Bill A for Jan",
"billShortName":"Bill A",
"billDescription":{
"english":"Maintenance",
"indonesia":"Pemeliharaan"
},
"billSubCompany":"00001",
"billAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"additionalInfo":{
},
"status":"00",
"reason":{
"english":"Success",
"indonesia":"Sukses"
}
}
],
"freeTexts":[
{
"english":"Free text",
"indonesia":"Tulisan bebas"
}
]
},
"additionalInfo":{
}
}