Examples
1. Get Balance
Hostname
To be confirm
Port
To be confirm
HTTP Method
POST
Path
/H2H/v2/getbalance
HTTP Headers
Name
Format
Mandatory
Description
Content-Type
application/json
Yes
X-API-Key
String
Yes
API Key
Query string parameters
Name
Format
Mandatory
Description
access_token
String
Yes
Token provided from gettoken request
Format
JSON
Authentication
OAuth 2.0 (client credential)
Request Definition
Field
Data Type
Mandatory
Description
clientId
String
Yes
BNI 3rd Part Identification
signature
String
Yes
Key combination : Digital Signature
accountNo
String
Yes
Nomor rekening 3rd Party yang telah terdaftar di BNI
Response Definition
Name
Type
Description
responseCode
String
Response Code
responseMessage
String
Response Description
errorMessage
String
Error Description
responseTimestamp
DateTime
Timestamp transaction
customerName
String
Customer Name
accountCurrency
String
Account Currency
accountBalance
Numeric
Account Balance
Response (error)
See Response Code
{
"clientId" : "IDBNI" + BASE64(clientName),
"signature" :"[SIGNATURE]",
"accountNo" : "115471119"
}
https://{BNIServer}:{port}/H2H/v2/getbalance?access_token=
XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc
{
"getBalanceResponse": {
"clientId": “BNISERVICE”,
"parameters": {
"responseCode": "0001",
"responseMessage": "Request has been processed successfully",
"responseTimestamp": "2017-02-24T14:12:25.871Z",
"customerName": "Bpk JONOMADE MADEMADEMADEMADE IMAMADE",
"accountCurrency": "IDR",
"accountBalance": 16732765949981
}
}
}
Examples
2. Get In House Inquiry
Hostname
To be confirm
Port
To be confirm
HTTP Method
POST
Path
H2H/v2/getinhouseinquiry
HTTP Headers
Name
Format
Mandatory
Description
Content-Type
application/json
Yes
X-API-Key
String
Yes
API Key
Query string parameters
Name
Format
Mandatory
Description
access_token
String
Yes
Token provided from gettoken request
Format
JSON
Authentication
OAuth 2.0 (client credential)
Request Definition
Field
Data Type
Mandatory
Description
clientId
String
Yes
BNI 3rd Part Identification
signature
String
Yes
Key combination : Digital Signature
accountNo
String
Yes
Nomor rekening 3rd Party yang telah terdaftar di BNI
Response Definition
Name
Type
Description
responseCode
String
Response Code
responseMessage
String
Response Description
errorMessage
String
Error Description
responseTimestamp
DateTime
Timestamp transaction
customerName
String
Customer Name
accountCurrency
String
Account Currency
accountNumber
String
Account Number
accountStatus
String
Account Status.
For Virtual Account Number:
1 : Aktif
2 : Non Aktif
accountType
String
Account Type.
For Virtual Account Number:
000 : Credit Max Open Payment
001 : Credit Open Payment
002 : Credit Closed Payment
003 : Credit Partial Payment
004 : Debit Open Payment
005 : Debit Fixed Payment
006 : Debit Partial Payment
007 : Credit And Debit
008 : Credit Min Payment
009 : Credit Min Open Payment
Response (error)
See Response Code
{
"clientId" : "IDBNI" + BASE64(clientName),
"signature" :"[SIGNATURE]",
"accountNo" : "115471119"
}
{
"clientId" : "IDBNI" + BASE64(clientName),
"signature" :"[SIGNATURE]",
"accountNo" : "8696000000000146"
}
https://{BNIServer}:{port}/H2H/v2/getinhouseinquiry?access_token= nXUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc
{
"getInHouseInquiryResponse": {
"clientId": "BNISERVICE",
"parameters": {
"responseCode": "0001",
"responseMessage": "Request has been processed successfully",
"responseTimestamp": "2017-09-07T14:10:23.431Z",
"customerName": "Bpk JONOMADE MADEMADEMADEMADE IMAMADE",
"accountCurrency": "IDR",
"accountNumber": "0115475045",
"accountStatus": "BUKA",
"accountType": "DEP"
}
}
}
Response VA Number (Success)
{
"getInHouseInquiryResponse": {
"clientId": "BNISERVICE",
"parameters": {
"responseCode": "0001",
"responseMessage": "Request has been processed successfully",
"responseTimestamp": "2018-08-19T17:02:05.711Z",
"customerName": "VA CREDIT DEBET111111",
"accountNumber": "8696000000000146",
"accountStatus": "1",
"accountType": "007"
}
}
}
Examples
3. Do Payment
Hostname
To be confirm
Port
To be confirm
HTTP Method
POST
Path
/H2H/v2/dopayment
HTTP Headers
Name
Format
Mandatory
Description
Content-Type
application/json
Yes
X-API-Key
String
Yes
API Key
Query string parameters
Name
Format
Mandatory
Description
access_token
String
Yes
Token provided from gettoken request
Format
JSON
Authentication
OAuth 2.0 (client credential)
Request Definition
Field
Data Type
Mandatory
Description
clientId
String
Yes
BNI 3rd Part Identification
signature
String
Yes
Key combination : Digital Signature
customerReferenceNumber
String
Yes
Referensi sebagai key untuk rekonsiliasi.
Maksimum 20 chars.
Format yyyyMMddHHmmssSSSXXX.
XXX: client defined or random number
paymentMethod
String
Yes
0 : In-house (antar rekening BNI).
1 : RTGS transfer.
2 : Kliring transfer
debitAccountNo
String
Yes
Nomor rekening 3rd Party yang telah terdaftar di BNI
creditAccountNo
String
Yes
Nomor rekening tujuan (BNI / Non BNI)
valueDate
String
Yes
Format yyyyMMddHHmmss
valueCurrency
String
Yes
Example : IDR
valueAmount
Numeric
Yes
Nominal transaksi
Remark
String
No
Max 50 digits
beneficiaryEmailAddress
String
No
Email penerima
destinationBankCode
String
No
Kode bank tujuan (wajib diisi jika paymentmethod selain 0)
beneficiaryName
String
No
Nama penerima (wajib diisi jika paymentmethod selain 0) Max 50 digits
beneficiaryAddress1
String
No
Alamat penerima (wajib diisi jika paymentmethod selain 0) Max 50 digits
beneficiaryAddress2
String
No
Max 50 digits
chargingModelId
String
No
OUR : fee will be paid by sender (default).
BEN : fee will be paid by beneficary.
SHA : fee divided
Response Definition
Name
Type
Description
responseCode
String
Response Code
responseMessage
String
Response Description
errorMessage
String
Error Description
responseTimestamp
DateTime
Timestamp transaction
debitAccountNo
String
Debit Account Number
creditAccountNo
String
Credit Account Number (BNI / Non BNI)
customerReference
String
Customer Reference Number
bankReference
String
Bank Journal Number
valueAmount
Numeric
Transaction amount
Response (error)
See Response Code
{
"clientId" : "IDBNI" + BASE64(clientName),
"signature" : "[SIGNATURE]",
"customerReferenceNumber" : "20170227000000000020",
"paymentMethod" : "0",
"debitAccountNo" : "113183203",
"creditAccountNo" : "115471119",
"valueDate" : "20170227000000000",
"valueCurrency" : "IDR",
"valueAmount" : "100500",
"remark" : "?",
"beneficiaryEmailAddress":"",
"beneficiaryName":"Mr.X",
"beneficiaryAddress1":"Jakarta",
"beneficiaryAddress2":"",
"destinationBankCode":"CENAIDJAXXX",
"chargingModelId":"OUR"
}
https://{BNIServer}:{port}/H2H/v2/dopayment?access_token=
XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc
{
"doPaymentResponse" : {
"clientId" : “BNISERVICEâ€,
"parameters" : {
"responseCode" : "0001",
"responseMessage" : "Request has been processed successfully",
"responseTimestamp" : "2017-02-27T14:46:55.084Z",
"debitAccountNo" : 113183203,
"creditAccountNo" : 115471119,
"valueAmount" : 100500,
"valueCurrency" : "IDR",
"bankReference" : 953403,
"customerReference" : 20170227000000000020
}
}
}
Examples
4. Get Payment Status
Hostname
To be confirm
Port
To be confirm
HTTP Method
POST
Path
/H2H/v2/getpaymentstatus
HTTP Headers
Name
Format
Mandatory
Description
Content-Type
application/json
Yes
X-API-Key
String
Yes
API Key
Query string parameters
Name
Format
Mandatory
Description
access_token
String
Yes
Token provided from gettoken request
Format
JSON
Authentication
OAuth 2.0 (client credential)
Request Definition
Field
Data Type
Mandatory
Description
clientId
String
Yes
BNI 3rd Part Identification
signature
String
Yes
Key combination : Digital Signature
customerReferenceNumber
String
Yes
Referensi sebagai key untuk rekonsiliasi.
Maksimum 20 chars.
Format yyyyMMddHHmmssSSSXXX.
XXX: client defined or random number
Response Definition
Name
Type
Description
responseCode
String
Response Code
responseMessage
String
Response Description
errorMessage
String
Error Description
responseTimestamp
DateTime
Timestamp transaction
debitAccountNo
String
Debit Account Number
creditAccountNo
String
Credit Account Number (BNI / Non BNI)
customerReference
String
Customer Reference Number
bankReference
String
Bank Journal Number
valueAmount
Numeric
Transaction amount
previousResponse
String
Previous response
transactionStatus
String
Y : Success transaction.
N : Failed transaction
previousResponseCode
String
Previous response code
previousResponseMessage
String
Response Description
previousResponseTimestamp
DateTime
Tanggal dan waktu transaksi di BNI
valueCurrency
String
Mata uang nominal transaksi
Response (error)
See Response Code
{
"clientId": "IDBNI" + BASE64(clientName),
"signature": "[SIGNATURE]",
"customerReferenceNumber": "20170227000000000020"
}
https://{BNIServer}:{port}/H2H/v2/getpaymentstatus?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc
{
"getPaymentStatusResponse": {
"clientId": “BNISERVICE”,
"parameters": {
"responseCode": "0001",
"responseMessage": "Request has been processed successfully",
"responseTimestamp": "2017-02-27T15:04:00.927Z",
"previousResponse": {
"transactionStatus": "Y",
"previousResponseCode": null,
"previousResponseMessage": null,
"previousResponseTimestamp": "2017-02-27T07:47:14.640Z",
"debitAccountNo": 113183203,
"creditAccountNo": 115471119,
"valueAmount": 100500,
"valueCurrency": "IDR"
},
"bankReference": 953403,
"customerReference": 20170227000000000000
}
}
}
Examples
5. Get Inter Bank Inquiry
Hostname
To be confirm
Port
To be confirm
HTTP Method
POST
Path
/H2H/v2/getinterbankinquiry
HTTP Headers
Name
Format
Mandatory
Description
Content-Type
application/json
Yes
X-API-Key
String
Yes
API Key
Query string parameters
Name
Format
Mandatory
Description
access_token
String
Yes
Token provided from gettoken request
Format
JSON
Authentication
OAuth 2.0 (client credential)
Request Definition
Field
Data Type
Mandatory
Description
clientId
String
Yes
BNI 3rd Part Identification
signature
String
Yes
Key combination : Digital Signature
customerReferenceNumber
String
Yes
Referensi sebagai key untuk rekonsiliasi.
Maksimum 20 chars.
Format yyyyMMddHHmmssSSSXXX.
XXX: client defined or random number
destinationBankCode
String
No
Kode bank tujuan (wajib diisi jika paymentmethod selain 0)
accountNum
String
Yes
Nomor rekening 3rd Party yang telah terdaftar di BNI
destinationAccountNum
String
Yes
Destination Account number for another bank
Response Definition
Name
Type
Description
responseCode
String
Response Code
responseMessage
String
Response Description
responseTimestamp
DateTime
Timestamp transaction
destinationAccountNum
String
Destination account number
destinationAccountName
String
Destination Owner’s account name
destinationBankName
String
Destination Bank Name
retrievalReffNum
String
Reference number for Interbank Transaction
Response (error)
See Response Code
{
"clientId": "IDBNI" + BASE64(clientName),
"signature": "[SIGNATURE]",
"customerReferenceNumber": "20170227000000000021",
"accountNum": "113183203",
"destinationBankCode": "014",
"destinationAccountNum": "3333333333"
}
https://{BNIServer}:{port}/H2H/v2/getinterbankinquiry?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc
{
"getInterbankInquiryResponse": {
"clientId": "BNISERVICE",
"parameters": {
"responseCode": "0001",
"responseMessage": "Request has been processed successfully",
"responseTimestamp": "2017-05-08T14:57:51.963Z",
"destinationAccountNum": "113183203",
"destinationAccountName": "DUMMY NAME",
"destinationBankName": "BCA",
"retrievalReffNum": 100000000097
}
}
}
Examples
6. Get Inter Bank Payment
Hostname
To be confirm
Port
To be confirm
HTTP Method
POST
Path
/H2H/v2/getinterbankpayment
HTTP Headers
Name
Format
Mandatory
Description
Content-Type
application/json
Yes
X-API-Key
String
Yes
API Key
Query string parameters
Name
Format
Mandatory
Description
access_token
String
Yes
Token provided from gettoken request
Format
JSON
Authentication
OAuth 2.0 (client credential)
Request Definition
Field
Data Type
Mandatory
Description
clientId
String
Yes
BNI 3rd Part Identification
signature
String
Yes
Key combination : Digital Signature
customerReferenceNumber
String
Yes
Referensi sebagai key untuk rekonsiliasi.
Maksimum 20 chars.
Format yyyyMMddHHmmssSSSXXX.
XXX: client defined or random number
accountNum
String
Yes
Nomor rekening 3rd Party yang telah terdaftar di BNI
destinationAccountNum
String
Yes
Destination Account number for another bank
amount
Numeric
Yes
Nominal transaksi
destinationAccountName
String
Yes
[getInterbankInquiryResponse]
Destination Account name for another bank
destinationBankName
String
Yes
[getInterbankInquiryResponse]
Destination Bank Name
retrievalReffNum
String
Yes
[getInterbankInquiryResponse]
Refference number for Interbank Transaction
Response Definition
Name
Type
Description
responseCode
String
Response Code
responseMessage
String
Response Description
responseTimestamp
DateTime
Timestamp transaction
destinationAccountNum
String
Destination account number
destinationAccountName
String
Destination Owner’s account name
destinationBankName
String
Destination Bank Name
accountName
String
Owner’s account name
Response (error)
See Response Code
{
"clientId": "IDBNI" + BASE64(clientName),
"signature": "[SIGNATURE]",
"customerReferenceNumber": "20170227000000000021",
"amount": "10000",
"destinationAccountNum": "3333333333",
"destinationAccountName": "BENEFICIARY NAME 1 UNTIL HERE1BENEFICIARY NAME 2(OPT) UNTIL HERE2",
"destinationBankCode": "014",
"destinationBankName": "BCA",
"accountNum": "115471119",
"retrievalReffNum": "100000000024"
}
https://{BNIServer}:{port}/H2H/v2/getinterbankpayment?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc
{
"getInterbankPaymentResponse": {
"clientId": "BNISERVICE",
"parameters": {
"responseCode": "0001",
"responseMessage": "Request has been processed successfully",
"responseTimestamp": "2017-03-01T11:45:02.062Z",
"destinationAccountNum": 3333333333,
"destinationAccountName": "BENEFICIARY NAME 1 UNTIL HERE1BENEFICIARY NAME 2(OPT) UNTIL HERE2",
"customerReffNum": 100000000011,
"accountName": "BPK JONOMADE MADEMADEMADEMADE"
}
}
}
Examples
7. Hold Amount
Hostname
To be confirm
Port
To be confirm
HTTP Method
POST
Path
/H2H/v2/holdamount
HTTP Headers
Name
Format
Mandatory
Description
Content-Type
application/json
Yes
X-API-Key
String
Yes
API Key
Query string parameters
Name
Format
Mandatory
Description
access_token
String
Yes
Token provided from gettoken request
Format
JSON
Authentication
OAuth 2.0 (client credential)
Request Definition
Field
Data Type
Mandatory
Description
clientId
String
Yes
BNI 3rd Part Identification
signature
String
Yes
Key combination : Digital Signature
customerReferenceNumber
String
Yes
Referensi sebagai key untuk rekonsiliasi.
Maksimum 20 chars.
Format yyyyMMddHHmmssSSSXXX.
XXX: client defined or random number
accountNo
String
Yes
Nomor rekening 3rd Party yang telah terdaftar di BNI
amount
Numeric
Yes
Nominal transaksi
detail
String
No
Remark for hold amount transaction
Response Definition
Name
Type
Description
responseCode
String
Response Code
responseMessage
String
Response Description
errorMessage
String
Error Description
responseTimestamp
DateTime
Timestamp transaction
customerReference
String
Customer Reference Number
bankReference
String
Bank Journal Number
accountOwner
String
Account name
Response (error)
See Response Code
{
"clientId": "IDBNI" + BASE64(clientName),
"signature": "M4+FEsYOQluwIldqTqRti6oK3EhtGcTtrQZVtNrNZHxGz71kzXBoRCVgGuT8rq/jSE7c/sUXnSl/lqOPSvechI6HX1RpatHudd5mmLe2kcX38a2jg3L46dDuKC92cVrRmuPdvpOIH24J/gsNjrHHsgN3eEq8tmwKxQhgTkoZ4+Y=",
"customerReferenceNumber": "20170504153218296",
"amount": 12007,
"accountNo": "0115476151",
"detail": "testHold"
}
https://{BNIServer}:{port}/H2H/v2/holdamount?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc
{
"holdAmountResponse": {
"clientId": "BNISERVICE",
"parameters": {
"responseCode": "0001",
"responseMessage": "Request has been processed successfully",
"responseTimestamp": "2017-09-25T14:45:47.746Z",
"accountOwner": "Nama : ROBERT NARO",
"bankReference": 513621,
"customerReference": 20170504153218296
}
}
}
{
"holdAmountReleaseResponse": {
"clientId": "BNISERVICE ",
"parameters": {
"responseCode": "0210",
"responseMessage": "NILAI BLOKIR BUKAN NOL",
"errorMessage": "NILAI BLOKIR BUKAN NOL",
"responseTimestamp": "2017-09-25T15:24:18.736Z",
"customerReference": 20170504153218290
}
}
}
Examples
8. Hold Amount Release
Hostname
To be confirm
Port
To be confirm
HTTP Method
POST
Path
/H2H/v2/holdamountrelease
HTTP Headers
Name
Format
Mandatory
Description
Content-Type
application/json
Yes
X-API-Key
String
Yes
API Key
Query string parameters
Name
Format
Mandatory
Description
access_token
String
Yes
Token provided from gettoken request
Format
JSON
Authentication
OAuth 2.0 (client credential)
Request Definition
Field
Data Type
Mandatory
Description
clientId
String
Yes
BNI 3rd Part Identification
signature
String
Yes
Key combination : Digital Signature
customerReferenceNumber
String
Yes
Referensi sebagai key untuk rekonsiliasi.
Maksimum 20 chars.
Format yyyyMMddHHmmssSSSXXX.
XXX: client defined or random number
accountNo
String
Yes
Nomor rekening 3rd Party yang telah terdaftar di BNI
amount
Numeric
Yes
Nominal transaksi
bankReference
String
Yes
Journal number. You can get this value from ResponseHoldAmount
holdTransactionDate
String
Yes
The date when you do the hold transaction.
When you do the hold transaction, you need to save the date to release the hold transaction.
Format: ddMMYYYY ex: 31052010
Due to development purpose there’s a condition that in development and testing environment, the value for this tag must be static.
Development: 31052010
Test: 30092014
Response Definition
Name
Type
Description
responseCode
String
Response Code
responseMessage
String
Response Description
errorMessage
String
Error Description
responseTimestamp
DateTime
Timestamp transaction
customerReference
String
Customer Reference Number
bankReference
String
Bank Journal Number
accountOwner
String
Account name
Response (error)
See Response Code
{
"clientId": "IDBNI" + BASE64(clientName),
"signature": "M4+FEsYOQluwIldqTqRti6oK3EhtGcTtrQZVtNrNZHxGz71kzXBoRCVgGuT8rq/jSE7c/sUXnSl/lqOPSvechI6HX1RpatHudd5mmLe2kcX38a2jg3L46dDuKC92cVrRmuPdvpOIH24J/gsNjrHHsgN3eEq8tmwKxQhgTkoZ4+Y=",
"customerReferenceNumber": "20170504153218298",
"amount": 12007,
"accountNo": "0115476151",
"bankReference": "513668",
"holdTransactionDate": "31052010"
}
https://{BNIServer}:{port}/H2H/v2/holdamountrelease?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc
{
"holdAmountReleaseResponse": {
"clientId": "BNISERVICE",
"parameters": {
"responseCode": "0001",
"responseMessage": "Request has been processed successfully",
"responseTimestamp": "2017-09-25T15:19:36.697Z",
"accountOwner": "Nama : ROBERT NARO",
"bankReference": 513685,
"customerReference": 20170504153218296
}
}
}
{
"holdAmountReleaseResponse": {
"clientId": "BNISERVICE",
"parameters": {
"responseCode": "0173",
"responseMessage": "BLOKIR atau HOLD YG DIMINTA TDK ADA",
"errorMessage": "BLOKIR atau HOLD YG DIMINTA TDK ADA",
"responseTimestamp": "2017-09-25T15:21:48.723Z",
"customerReference": 20170504153218300
}
}
}