bri-va-direct-inquiry-snap
API Request
Type | Value |
---|---|
Service Code | 24 |
HTTP Method | POST |
Path | .../{version}/transfer-va/inquiry |
Here is the sample of request header for direct inquiry BRI VA :
'X-TIMESTAMP: 2020-12-21T14:56:11+07:00'
'X-SIGNATURE: ieNOENDdN4MnectGytx5UvmOfASZ2oGWMCJ8gVqkw3tB98ofgY9cbxSeY4IYoYeoKs+0QP4h8BTBhemlfeXp1w=='
'X-PARTNER-ID: 82150823919040624621823174737537'
'X-EXTERNAL-ID: 41807553358950093184162180797837'
'Authorization: bearer DUMMY'
'Content type: application/ json'
'CHANNEL-ID: VA003'
Request Header Explanation
Parameter | Data Type | Type | Description |
---|---|---|---|
X-TIMESTAMP | string | Mandatory | Client's current local time with format : YYYY-MM-DDTHH:mm:ssZD |
X-SIGNATURE | string | Mandatory | Represents signature of a request. Identify Signature Type used Value: 1. Symmetric Signature with Get Token (Default) HMAC_SHA512 (clientSecret, stringToSign) dengan formula stringToSign = HTTPMethod +”:“+ EndpointUrl +":"+ AccessToken +":“+ Lowercase(HexEncode(SHA-256(minify(RequestBody))))+ ":“ + TimeStamp Notes : 1. The full URL endpoint includes all parameters in the associated URL 2. For the minify(Request Body) parameter, if there is no Request Body then an empty string is used. |
X-PARTNER-ID | string | Mandatory | Client Id for merchant that generated by DOKU |
X-EXTERNAL-ID | string | Mandatory | Numeric String. Reference number that should be unique in the same day (Request Id) |
Authorization | string | Mandatory | Represents access_token of a request; String starts with keyword “Bearer ” followed by access_token (e.g. Bearer eyJraWQiOi...Jzc29zIiwiY) |
Content type | string | Mandatory | String represents indicate the media type of the resource (e.g. application/json) |
CHANNEL-ID | string(5) | Mandatory | VA003 |
Here is the sample of request body for direct inquiry BTN VA :
{
"partnerServiceId":"78896",
"customerNo":"1220023342200",
"virtualAccountNo":"788961220023342200",
"trxDateInit":"2023-07-28T15:16:40+07:00",
"channelCode":"1",
"language":"ID",
"amount":{
"value":"12345678.00",
"currency":"IDR"
},
"hashedSourceAccountNo":"abcdefghijklmnopqrstuvwxyz123456",
"sourceBankCode":"008",
"passApp":"abcdefghijklmnopqrstuvwxyz",
"inquiryRequestId":"R_1690532200"
}
Parameter | Type | Mandatory | Description |
---|---|---|---|
partnerServiceId | string(8) | Mandatory | This parameter is similar to company code/BIN, 8 digit left padding space. |
customerNo | string(20) | Mandatory | Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
virtualAccountNo | string(28) | Mandatory | partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
trxId | string(64) | Mandatory | Transaction ID in Partner system |
trxDateInit | string(25) | Mandatory | Transaction date. ISO-8601. Example: 2020-12- 31T23:59:59-07:00 |
channelCode | String(4) | Optional | Channel code from acquirer |
language | String(3) | Optional | Language used |
amount.value | String | Optional | |
amount.currency | String(3) | Optional | |
hashedSourceAccountNo | String | Optional | Hashed source account number |
sourceBankCode | String(3) | Mandatory | Source account bank code |
passApp | String | Optional | Reference number for tracking inquiry |
inquiryRequestId | String(64) | Optional | Reference number for tracking inquiry |
API Response
After hitting the above API request, DOKU will give the response.
Here is the sample of response header :
X-TIMESTAMP: 2020-12-21T14:36:19+07:00
Response Header Explanation
Parameter | Data Type | Type | Description |
---|---|---|---|
X-Timestamp | string | Mandatory | Client's current local time with format YYYY-MM-DDTHH:mm:ssZ |
Type | Value |
---|---|
HTTP Status | 200 |
Result | SUCCESS |
Here is the sample of response body of success scenario :
{
"responseCode" : "2002400",
"responseMessage" : "Successfull",
"virtualAccountData" : {
"partnerServiceId" : " 78896",
"customerNo" : "1220023342200",
"virtualAccountNo" : "788961220023342200",
"virtualAccountName" : "Jokul Doe 001",
"virtualAccountEmail" : "jokul@email.com",
"virtualAccountPhone" : "6281828384858",
"trxId" : "INV-1234"
"totalAmount" : {
"value" : "12345678.00",
"currency" : "IDR"
},
"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" : { }
} ],
"freeTexts" : [ {
"english" : "Free text",
"indonesia" : "Tulisan bebas"
} ],
"virtualAccountTrxType" : "1",
"feeAmount" : {
"value" : "12345678.00",
"currency" : "IDR"
},
"expiredDate" : "2024-12-31T23:59:59-07:00",
"additionalInfo" : {
"deviceId" : "12345679237",
"channel" : "mobilephone"
},
"inquiryStatus" : "00",
"inquiryReason" : {
"english" : "Success",
"indonesia" : "Sukses"
},
"inquiryRequestId" : "R_1690532200"
}
}
Response Body Explanation
Parameter | Type | Mandatory | Description |
---|---|---|---|
responseCode | string(7) | Mandatory | Response Code : HTTP status code + service code + case code |
responseMessage | string(150) | Mandatory | Response Description |
virtualAccountData.partnerServiceId | string(8) | Mandatory | similar to company code, 8 digit left padding space |
virtualAccountData.customerNo | String (20) | Optional | Unique number (up to 20 digits). partnerServiceId + customerNo = virtualAccountNo |
virtualAccountData.virtualAccountNo | String (28) | Optional | partnerServiceId (8 digit left padding 0) + customerNo up to 20 digits). |
virtualAccountData.virtualAccountName | string(255) | Mandatory | Customer Name |
virtualAccountData.virtualAccountEmail | string(255) | Optional | Customer Email |
virtualAccountData.virtualAccountPhone | string(30) | Optional | Customer Phone, Format: 62xxxxxxxxx xxxx |
virtualAccountData.inquiryRequestId | string(64) | Mandatory | Reference number for tracking inquiry |
virtualAccountData.trxId | string(64) | Mandatory | Transaction ID in Partner system |
virtualAccountData.totalAmount.value | string(8) | Optional | Transaction Amount. Total Amount with 2 decimal, format ISO 4217 |
virtualAccountData.totalAmount.Currency | string(3) | Optional | Currency. Example: IDR |
billDetails.billCode | string(2) | Optional | Bill code for Customer choose. Example : 01 |
billDetails.billNo | string(18) | Optional | Bill number from Partner |
billDetails.billName | string(20) | Optional | Bill Name |
billDetails.billShortName | string(10) | Optional | Bill Name to shown to |
billDetails.billDescription.english | string(18) | Optional | Bill Description in English |
billDetails.billDescription.indonesia | string(18) | Optional | Bill Description in Bahasa Indonesia |
billDetails.billSubCompany | string(5) | Optional | Partner’s product code |
billDetails.billAmount.value | String (16.2)(ISO 4217) | Optional | Transaction Amount. Nominal inputted by Customer with 2 decimal |
billDetails.billAmount.currency | string(3) | Optional | Currency |
billDetails.additionalInfo | Object(Unlimited) | Optional | Additional Information for custom use for each bill |
freeTexts.english | string(32) | Optional | This parameter will be shown in Channel |
freeTexts.indonesia | string(32) | Optional | This parameter will be shown in Channel |
virtualAccountTrxType | string(1) | Optional | Type of Virtual Account : C : closed paymentO : open payment |
feeAmount.value | String (16.2) | Optional | Format ISO 4217 |
feeAmount.currency | string(3) | Optional | Example : IDR |
expiredDate | string(25) | Optional | Expiration date for Virtual Account. ISO-8601. Example: 2020-12- 31T23:59:59-07:00 |
additionalInfo | Object | Optional | Additional Information for custom use |
inquiryStatus | String (2) | Optional | Show inquiry status code |
inquiryReason.english | String | Optional | Success/ failed reason in English |
inquiryReason.indonesia | String | Optional | Success/ failed reason in Indonesia |
inquiryRequestId | String (64) | Optional | Reference number for tracking inquiry |