API Services

OGP H2H

Version 2.0
 
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

Request

{
	"clientId" : "IDBNI" + BASE64(clientName),
	"signature" :"[SIGNATURE]",
	"accountNo" : "115471119"
}

Exp full url

https://{BNIServer}:{port}/H2H/v2/getbalance?access_token= 
XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc

Response (Success)

{
    "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
        }
    }
}
 
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

Request

{
   "clientId" : "IDBNI" + BASE64(clientName),
   "signature" :"[SIGNATURE]",
   "accountNo" : "115471119"
}

Request VA Number

{
   "clientId" : "IDBNI" + BASE64(clientName),
   "signature" :"[SIGNATURE]",
   "accountNo" : "8696000000000146"
}

Exp full url

 https://{BNIServer}:{port}/H2H/v2/getinhouseinquiry?access_token= nXUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc 

Response (Success)

{
    "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"
        }
    }
}
 
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

Request

{  
    "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" 
}

Exp full url

https://{BNIServer}:{port}/H2H/v2/dopayment?access_token= 
XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc

Response (Success)

{
    "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     
        }   
    } 
}
 
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

Request

{
    "clientId": "IDBNI" + BASE64(clientName),
    "signature": "[SIGNATURE]",
    "customerReferenceNumber": "20170227000000000020"
}

Exp full url

https://{BNIServer}:{port}/H2H/v2/getpaymentstatus?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc

Response (Success)

{
    "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
        }
    }
}
 
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

Request

{
    "clientId": "IDBNI" + BASE64(clientName),
    "signature": "[SIGNATURE]",
    "customerReferenceNumber": "20170227000000000021",
    "accountNum": "113183203",
    "destinationBankCode": "014",
    "destinationAccountNum": "3333333333"
}

Exp full url

https://{BNIServer}:{port}/H2H/v2/getinterbankinquiry?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc

Response (Success)

{
    "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
        }
    }
}
 
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

Request

{
    "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"
}

Exp full url

https://{BNIServer}:{port}/H2H/v2/getinterbankpayment?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc

Response (Success)

{
    "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"
        }
    }
}
 
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

Request

{
    "clientId": "IDBNI" + BASE64(clientName),
    "signature": "M4+FEsYOQluwIldqTqRti6oK3EhtGcTtrQZVtNrNZHxGz71kzXBoRCVgGuT8rq/jSE7c/sUXnSl/lqOPSvechI6HX1RpatHudd5mmLe2kcX38a2jg3L46dDuKC92cVrRmuPdvpOIH24J/gsNjrHHsgN3eEq8tmwKxQhgTkoZ4+Y=",
    "customerReferenceNumber": "20170504153218296",
    "amount": 12007,
    "accountNo": "0115476151",
    "detail": "testHold"
}

Exp full url

https://{BNIServer}:{port}/H2H/v2/holdamount?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc

Response (Success)

{
    "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
        }
    }
}

Response (error)

{
    "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
        }
    }
}
 
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

Request

{
    "clientId": "IDBNI" + BASE64(clientName),
    "signature": "M4+FEsYOQluwIldqTqRti6oK3EhtGcTtrQZVtNrNZHxGz71kzXBoRCVgGuT8rq/jSE7c/sUXnSl/lqOPSvechI6HX1RpatHudd5mmLe2kcX38a2jg3L46dDuKC92cVrRmuPdvpOIH24J/gsNjrHHsgN3eEq8tmwKxQhgTkoZ4+Y=",
    "customerReferenceNumber": "20170504153218298",
    "amount": 12007,
    "accountNo": "0115476151",
    "bankReference": "513668",
    "holdTransactionDate": "31052010"
}

Exp full url

https://{BNIServer}:{port}/H2H/v2/holdamountrelease?access_token=XUVAtlHXbjJZE69AJQXwjTzuNlYR1otNm2xLxFpcYZQiQp0Sbr5QUc

Response (Success)

{
    "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
        }
    }
}

Response (error)

{
    "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
        }
    }
}