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

snap/v1/debit/payment-host-to-host

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

http://i niurl. com

>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
(50)

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