Direct Debit
Informasi API
Title | API Transfer Debit SNAP BI - API Direct Debit |
---|---|
Version | v1.0 |
URL Sandbox | https://sandbox.partner.api.bri.co.id |
URL Production |
Version Control
Versi API | Tanggal | Link Dokumen | Deskripsi |
---|---|---|---|
v1.0 | 2 Desember 2021 | Halaman ini | Baseline version. |
v2.0 |
21 April 2022 |
Halaman Ini |
Update field format |
Product Description
Gambaran Produk
API Transfer Debit digunakan untuk melakukan pemindahanbukuan dana dari satu rekening ke rekening lain baik dalam PJP AIS yang sama maupun PJP AIS yang berbeda yang diinisiasi oleh pihak penerima.
Header
Key |
Value |
Format |
Mandatory |
Length |
Deskripsi |
---|---|---|---|---|---|
Authorization |
Authorization |
Alphanumeric |
M |
|
Bearer {Token} |
X-TIMESTAMP |
BRI - timestamp |
Datetime |
M |
|
Format Timestamp ISO8601 |
X-SIGNATURE |
BRI - Signature |
Alphanumeric |
M |
|
HMAC_SHA512 |
Content-Type |
application/json |
Alpha |
M |
|
application/json |
X-PARTNER-ID |
|
Alphanumeric |
M |
36 |
|
CHANNEL-ID |
|
Alpha |
M |
5 |
|
X-EXTRENAL-ID |
|
Numeric |
M |
36 |
|
Endpoint
A. Direct Debit Payment
Endpoint ini digunakan untuk pembayaran dari transaksi berdasarkan nomor kartu pada card_token yang diperoleh dari proses binding (pembuatan token kartu)
General Information
HTTP Method |
POST |
---|---|
Path |
|
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Request Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
partnerR eference No |
String |
Alphanum eric |
M |
64 |
Identifikasi transaksi pada sistem layanan konsumen |
213423 121521 232 |
urlParam |
Object |
|
O |
|
|
|
>url |
String |
Alphanum eric |
M |
512 |
The URL |
|
>type |
String |
Alpha |
M |
32 |
URL Tipe PAY_RET URN/PAY _NOTIFY |
PAY_N OTIFY |
>isDeep Link |
String |
Alpha |
M |
1 |
Apakah URL tersebut adalah deeplink URL atau bukan Y/N |
N |
transAm ount |
Object |
|
O |
|
|
|
>value |
String (ISO421 7) |
Numeric |
M |
15,2
Note : Length SNAP BI (16,2) |
Jumlah transaksi yang akan dibayarkan menggunakan metode pembayaran ini apabila dalam rupiah maka nilainya termasuk 2 digit desimal. misalnya RP 10.000, akan ditempatkan dengan 10000.00 |
12345678. 00 |
>currency |
String |
Alpha |
M |
3 |
Mata uang |
IDR |
bankCar dToken |
String |
|
M Note : SNAP BI (O) |
560
Note : Length SNAP BI (128) |
|
00007100 01 0926 |
additiona lInfo |
Object |
|
O |
|
Informasi tambahan |
|
>otpStatus |
String |
Alpha |
M |
3 |
|
|
>settlem entAcco unt |
String |
Numeric |
M |
16 |
|
|
>merche ntTrxId |
String |
Alpha |
O |
64 |
|
|
Response Structure & Sample (OTP)
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
response Code |
String |
Numeric |
M |
7 |
Respon kode |
2005400 |
response Message |
String |
Alpha |
M |
150 |
Respon Deskripsi |
Successful |
reference No |
String |
Numerric |
M Note : SNAP BI (C) |
64 |
Identifikasi transaksi pada sistem layanan konsumen |
20201 02900 00000 0000001 |
partner ReferenceNo |
String |
Alphanumeric |
O |
64 |
Identifikasi transaksi pada sistem penyedia layanan. Harus diisisetelah transaksi berhasil |
202010 2977 77000 0000009 |
additional Info |
Object |
|
O |
|
Additional information |
|
>charge Token |
String |
Alphanum eric |
M |
50
Note : SNAP BI Length (40) |
|
|
>merchant TrxId |
String |
Alphanum eric |
O |
64 |
|
|
Response Structure & Sample (without OTP)
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
response Code |
String |
Numeric |
M |
7 |
Respon kode |
2005400 |
response Message |
String |
Alpha |
M |
150 |
Respon deskripsi |
Successful |
partner Reference No
|
String |
Alphanumeric |
O |
64 |
Identifikasi transaksi pada sistem layanan konsumen |
213423121 521232 |
reference No |
String |
Numeric |
M Note : SNAP BI (C) |
64 |
Identifikasi transaksi pada sistem penyedia layanan. Harus diisi setelah transaksi berhasil |
20201 02977 770000 000009 |
additional Info |
String |
|
O |
|
Informasi tambahan |
|
>amount |
String |
Numeric |
M |
15,2
Note : Length SNAP BI (16,2) |
Jumlah transaksi yang akan dibayarkan menggunakan metode pembayaran ini apabila dalam rupiah maka nilainya termasuk 2 digit desimal. misalnya RP 10.000, akan ditempatkan dengan 10000.00 |
2000.0 |
>currency |
String |
Alpha |
M |
3 |
Mata Uang |
IDR |
>mercha ntTrxId |
String |
Alphanum eric |
O |
64 |
|
|
Request & Response Payload Sample
Request :
{
"partnerReferenceNo": "213423121521232",
"urlParam": {
"url": "http://iniurl.com",
"type": "PAY_NOTIFY",
"isDeepLink": "N"
},
"transAmount": {
"value": "",
"currency": ""
},
"bankCardToken": "xly2uyDFMQ345efsddsf",
"additionalInfo": {
"otpStatus": "YES",
"settlementAccount": "",
"merchantTrxId": ""
}
}
Normal Response ( OTP ):
{ "responseCode": "2005400", "responseMessage": "Successful", "referenceNo": "84191395354248915228", "partnerReferenceNo": "213423121521232", "additionalInfo": { "chargeToken": "7KNSxmbcMjD16aP", "merchantTrxId": "" } }
Normal Response ( without OTP ):
{ "responseCode": "2005400", "responseMessage": "Successful", "referenceNo": "08493296759260462774", "partnerReferenceNo": "213423121521232", "additionalInfo": { "amount": "2000.00", "currency": "IDR", "merchantTrxId": "" } }
Error Response :
{ "responseCode": "4035418", "responseMessage": "Inactive Account" }
List of Error/Response Code
HTTP Status |
Service Code |
Case Code |
Status |
Response Description |
Deskripsi |
---|---|---|---|---|---|
200 |
54 |
00 |
Sukses |
Successful |
|
400 |
54 |
00 |
Gagal |
Bad Request |
|
400 |
54 |
01 |
Gagal |
Invalid Field Format value |
|
401 |
54 |
01 |
Gagal |
B2B2C Access Token Invalid/Expired |
Token found in request is invalid (Access Token Not Exist, Access Token Expiry) |
403 |
54 |
02 |
Gagal |
Exceeds Transaction Amount Limit |
Melebihi batas jumlah transaksi |
403 |
54 |
03 |
Gagal |
Suspected Fraud |
|
403 |
54 |
05 |
Gagal |
Inactive Card/Account/Customer |
Menunjukan akun tidak aktif |
403 |
54 |
08 |
Gagal |
Card Expired |
|
403 |
54 |
14 |
Gagal |
Insufficient Funds |
Dana tidak mencukupi |
403 |
54 |
15 |
Gagal |
Transaction Not Permitted |
|
403 |
54 |
18 |
Gagal |
Inactive Account |
|
404 |
54 |
11 |
Gagal |
Card Token Invalid |
|
404 |
54 |
13 |
Gagal |
Invalid Amount |
Jumlah tidak sesuai dengan yang seharusnya |
409 |
54 |
00 |
Gagal |
Conflict |
Tidak dapat menggunakan X-EXTERNAL-ID yang sama dihari yang sama |
429 |
54 |
00 |
Gagal |
To Many Request |
|
500 |
54 |
00 |
Gagal |
General Error |
|
504 |
54 |
00 |
Pending |
Timeout |
Timeout |
B. Payment Status
Endpoint ini digunkaan untuk memberikan status dari payment
Note: Payment status dapat menggunakan "originalPartnerReferenceNo" atau "originalReferenceNo". salah satunya harus diisi walau keduanya optional
General Information
HTTP Method |
POST |
---|---|
Path |
snap/v1/debit/status |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Request Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
original Partner Reference No |
String |
Alphanumeric |
O |
64 |
Identifikasi transaksi asli pada sistem layanan konsumen |
2020102900 00000000 0001 |
original ReferenceNo |
String |
Numeric |
O |
64 |
Identifikasi transaksi asli pada sistem penyedia layanan |
2020102977 7700000 00009
|
service Code |
String |
Numeric |
M |
2 |
Indikator jenis transaksi (kode layanan dari permintaan transaksi asli) |
55 |
Response Structure & Sample
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
response Code |
String |
Numeric |
M |
7 |
Respon kode |
2005500 |
response Message |
String |
Alpha |
M |
150 |
Respon deskripsi |
Successful |
original Reference No |
String |
Numeric |
M |
64 |
Identifikasi transaksi asli pada sistem layanan konsumen |
20201029777 70000000009
|
original Partner ReferenceNo |
String |
Aphanumeric |
M Note: SNAP BI (C) |
64 |
Identifikasi transaksi asli pada sistem penyedia layanan. Harus diisi setelah transaksi berhasil |
2020102900 00000000 0001 |
service Code |
String |
Numeric |
M |
2 |
Indikator jenis transaksi (kode layanan dari permintaan transaksi asli) |
17 |
latest Transaction Status |
String |
Numeric |
M |
2 |
00 - Success |
00 |
transaction StatusDesc |
String |
Alpha |
M Note: SNAP BI (O) |
7 Note : Length SNAP BI |
Deskripsi status transaksi |
success |
original Response Code |
String |
Numeric |
M |
7 |
Respon kode |
2005500 |
refund History |
Array of Object |
|
M |
|
|
|
>partner RefundNo |
String |
Numeric |
M |
64 |
Nomor referensi dari PJP AIS untuk pengembalian dana |
23985 09182 04981 205970 |
>refund Amount |
Object |
|
O |
|
|
|
>>value |
String (ISO4217) |
Numeric |
M |
15,2
Note : Length SNAP BI (16,2) |
Jumlah bersih pengembalian dana |
123456 78.00 |
>>currency |
String |
Alpha |
M |
3 |
Mata Uang |
IDR |
>refund Status |
String |
Numeric |
M |
2 |
00 - Success 06 - Failed |
00 |
>refund Date |
String |
Datetime |
M Note: SNAP BI (C) |
25 |
(ISO 8601) Tanggal transaksi : dd-MMyyyy |
2020-12- 23T07: 44:16 +07:00 |
>reason |
String |
Alpha |
M Note: SNAP BI (O) |
255
Note : Length SNAP BI (256) |
Alasan pengembalian dana |
Customer complain |
Request & Response Payload Sample
Request :
{
"originalPartnerReferenceNo": "020102900000000000001",
"originalReferenceNo": "23132132214193",
"serviceCode": "55",
}
Normal :
{ "responseCode": "2000000", "responseMessage": "Successfully", "originalPartnerReferenceNo": "2020102900000000000001", "originalReferenceNo": "03644644447113800584999629575440", "latestTransactionStatus": "00", "transactionStatusDesc": "success", "originalResponseCode": "2000000", "serviceCode": "55", "refundHistory": [ { "refundNo": "96194816941239812", "partnerRefundNo": "239850918204981205970", "refundAmount": { "value": "12345678.00", "currency": "IDR" }, "refundStatus": "00", "refundDate": "2020-12-23T07:44:16+07:00", "reason": "Customer Complain" }, { "refundNo": "96194816941239812", "partnerRefundNo": "239850918204981205970", "refundAmount": { "value": "12345678.00", "currency": "IDR" }, "refundStatus": "00", "refundDate": "2020-12-23T07:44:16+07:00", "reason": "Customer Complain" } ] }
Error Response :
{ "responseCode": "4045501", "responseMessage": "Transaction Not Found" }
List of Error/Response Code
HTTP Status |
Service Code |
Case Code |
Status |
Response Message |
Deskripsi |
---|---|---|---|---|---|
200 |
55 |
00 |
Sukses |
Successful |
|
400 |
55 |
01 |
Gagal |
Invalid Field Format [field request] |
|
400 |
55 |
02 |
Gagal |
Invalid Mandatory Field [field request] |
|
404 |
55 |
01 |
Gagal |
Transaction Not Found |
|
409 |
55 |
00 |
Gagal |
Conflict |
|
500 |
55 |
00 |
Gagal |
General Erorr |
|
504 |
55 |
00 |
Pending |
Timeout |
C. Payment Notify
Endpoint ini digunakan untuk memberikan notifikasi dari payment status
General Information
HTTP Method |
POST |
---|---|
Path |
snap/v1/debit/notify |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Format |
Mandatory |
Length |
Description |
---|---|---|---|---|---|
X-SIGNATURE |
BRI - Signature |
Alphanumeric |
M |
|
HMAC_SHA512 |
Request Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Example |
---|---|---|---|---|---|---|
originalPartn erReferenceNo |
String |
Alphanum eric |
O |
64 |
Identifikasi transaksi asli pada sistem layanan konsumen |
202010290 000000000 0001 |
originalReferenceNo |
String |
Numeric |
M |
64 |
Identifikasi transaksi asli pada sistem penyedia layanan. |
202010297 777000000 0009 |
amount |
Object |
|
O |
|
|
|
>value |
String |
Numeric |
M |
15,2
Note : Length SNAP BI (16,2) |
Jumlah transaksi yang akan dibayarkan menggunakan metode pembayaran ini apabila dalam rupiah maka nilainya termasuk 2 digit desimal. misalnya RP 10.000, akan ditempatkan dengan 10000.00 |
12345678.0 0 |
>currency |
String (ISO421 7) |
Alpha |
M |
3 |
Mata Uang |
IDR |
latestTransa ctionStatus |
String |
Numeric |
M |
2 |
00 - Success 01 - Initiated 02 - Paying 03 - Pending 04 - Refunded 05 - Canceled 06 - Failed 07 - Not found |
00 |
transactionS tatusDescrip tion |
String |
Alpha |
O |
50 |
Deskripsi status transaksi |
success |
additionalInfo |
Object |
|
O |
|
|
|
>merchantTrxid |
String |
Alphanum eric |
O |
64 |
|
302201075 04 |
>refundId |
String |
Numeric |
O |
64 |
|
528786398 613 |
Response Structure & Sample
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Respon kode |
2000000 |
responseMessage |
String |
Alpha |
M |
150 |
Respon deskripsi |
Successful |
Request (Merchant) :
{
"originalPartnerReferenceNo": "202010290000000000056",
"originalReferenceNo": "2020102900000000000009",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"latestTransactionStatus": "00",
"transactionStatusDescription": "success",
"additionalInfo": {
"merchantTrxid": "30220107504"
}
}
Request (Refund) :
{
"originalPartnerReferenceNo": "202010290000000000056",
"originalReferenceNo": "2020102900000000000009",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"latestTransactionStatus": "00",
"transactionStatusDescription": "success",
"additionalInfo": {
"refundId": "528786398613"
}
}
Normal :
{ "responseCode": "2000000", "responseMessage": "successful" }
Error Response :
{ "responseCode": "4045601", "responseMessage": "Transaction Not Found" }
List of Error/Response Code
HTTP Status |
Service Code |
Case Code |
Status |
Response Message |
Deskripsi |
---|---|---|---|---|---|
200 |
56 |
00 |
Sukses |
Successful |
|
500 |
56 |
00 |
Gagal |
General Erorr |
D. Refund Payment
Endpoint ini digunakan untuk membuat permintaan pengembalian dana untuk pembayaran yang sebelumnya berhasil. Pengembalian dana dapat dilakukan dengan jumlah penuh atau sebagian.
General Information
HTTP Method |
POST |
---|---|
Path |
snap/v1/debit/refund |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Acces Token |
Request Structure
Field |
Data Type |
Format |
Mandatory |
Length |
Deskripsi |
Contoh |
---|---|---|---|---|---|---|
originalPartner ReferenceNo |
String |
Alphanum eric |
M |
64 |
Identifikasi transaksi asli pada sistem layanan konsumen |
20201029000 00000000001 |
originalReferen ceNo |
String |
Numeric |
M |
64 |
Identifikasi transaksi asli pada sistem penyedia layanan. |
2020102977 7700000000 09 |
partnerRefund No |
String |
Numeric |
M |
64 |
Nomor referensi dari PJP AIS untuk pengembalian dana |
2398509182 0498120597 0 |
refundAmount |
Object |
|
M |
|
|
|
>value |
String |
Numeric |
M |
15,2
Note : Length SNAP BI (16,2) |
Jumlah bersih pengembalian dana. Jika itu IDR maka nilainya termasuk 2 angka desimal. misalnya Rp 10.000, akan ditempatkan dengan 10000.00 |
10000.00 |
>currency |
String |
Alpha |
M |
3 |
Mata Uang |
IDR |
reason |
String |
Alphanum eric |
O |
256 |
Alasan pengembalian |
Customer complain |
additionalInfo |
Object |
|
O |
|
|
|
>callbackUrl |
String |
Alphanum eric |
O |
512 |
|
|
Response Structure & Sample
Field |
Data Type |
Format |
Mandatory |
Length |
Desckripsi |
Contoh |
---|---|---|---|---|---|---|
response Code |
String |
Numeric |
M |
7 |
Respon kode |
2005400 |
response Message |
String |
Alpha |
M |
150 |
Respon deskripsi |
Request hasbeen processed successfully |
original Reference No |
String |
Numeric |
M |
64 |
Identifikasi transaksi asli pada sistem layanan konsumen |
20201029 77770000 000009 |
original Partner Reference No |
String |
Alphanum eric |
M Note : SNAP BI (O) |
64 |
Identifikasi transaksi asli pada sistem penyedia layanan. |
20201029 00000000 000001 |
refundNo
|
String |
Numeric |
M |
64 |
Nomor referensi dari PJP AIS untuk pengembalian dana |
239850 9182 049812 05970 |
partner Refund No |
String |
Numeric |
M |
64 |
Nomor referensi dari PJP AIS untuk pengembalian dana |
23985 09182 04981 205970 |
refund Amount |
Object |
|
O |
|
|
|
>value |
String (ISO421 7) |
Numeric |
M |
15,2 Note : Length SNAP BI (16,2) |
Jumlah bersih pengembalian dana. Jika itu IDR maka nilainya termasuk 2 angka desimal. misalnya Rp 10.000, akan ditempatkan dengan 10000.00 |
1000 0.00 |
>currency |
String |
Alpha |
M |
3 |
Mata Uang |
IDR |
refund Time |
String |
Datetime |
M |
25 |
Waktu pengembalian dana. ISO 8601 |
2020-12- 21T17:21: 41 +07:00 |
Request & Response Payload Sample
Request :
{
"originalPartnerReferenceNo": "2020102900000000000",
"originalReferenceNo": "2312312",
"partnerRefundNo": "2398509182049812123",
"refundAmount": {
"value": "10000.00",
"currency": "IDR"
},
"reason": "Customerx complain",
"additionalInfo": {
"callbackUrl": "http://(url_partner)/directdebit/notif/refunds",
}
}
Normal :
{ "responseCode": "2000000", "responseMessage": "Request has been processed successfully", "originalPartnerReferenceNo": "2020102900000000000001", "originalReferenceNo": "2020102977770000000009", "referenceNumber": "REF993883", "refundNo": "202010173821904898012234423", "partnerRefundNo": "", "refundAmount": { "value": "10000.00", "currency": "IDR" }, "refundTime": "2020-12-21T17:07:25+07:00" }
Error Response :
{ "responseCode": "4045800", "responseMessage": "Invalid Transaction Status" }
List of Error/Response Code
HTTP Status |
Service Code |
Case Code |
Status |
Response Message |
Deskripsi |
---|---|---|---|---|---|
200 |
58 |
00 |
Sukses |
Successful |
|
400 |
58 |
00 |
Gagal |
Bad Request |
|
400 |
58 |
01 |
Gagal |
Invalid Field Format {field request} |
|
400 |
58 |
02 |
Gagal |
Invalid Mandatory Field {field request} |
|
403 |
58 |
15 |
Gagal |
Transaction Not Permitted |
|
404 |
58 |
13 |
Gagal |
Invalid Amount |
|
404 |
58 |
18 |
Gagal |
Inconsistent Request |
Parameter permintaan yang tidak konsisten ditemukan untuk nomor referensi/id transaksi mitra yang sama |
404 |
400 |
00 |
Gagal |
Invalid transaction status |
Status transaksi tidak valid |
404 |
58 |
01 |
Gagal |
Transaction Not Found |
|
409 |
58 |
00 |
Gagal |
Conflict |
|
500 |
58 |
00 |
Gagal |
General Erorr |
|
504 |
58 |
00 |
Pending |
Timeout |