Inquiry
POST/v1.0/transfer-va/inquiry.htm
This API is used to inquiry Virtual Account (VA) and information from Bank to DANA.
API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
24
Accept
application/json
Content Type
application/json
Content-type
string
1 - 127 charactersRequiredContent type, value always
application/jsonAuthorization
string
1 - 2048 charactersConditionalContains bearer JWT token, which has been obtained from Authorization Token Request API
Conditional Info
Y:= Signature option is symmetric approach
X-TIMESTAMP
string
25 charactersRequiredTransaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
X-SIGNATURE
string
RequiredSignature need to be generated with
symmetricSignature or asymmetricSignature methodORIGIN
string
Origin domain
X-PARTNER-ID
string
1 - 36 charactersRequiredUnique identifier for partner was generated by DANA, or known as clientId
X-EXTERNAL-ID
string
1 - 36 charactersRequiredUnique messaging reference identifier generated by merchant and should be unique within the same day
CHANNEL-ID
string
1 - 5 charactersRequiredDevice identification on which the API services is currently being accessed by the end user (customer)
partnerServiceId
string
8 charactersRequiredBiller/merchant code of the virtual account. 8 digit left padding with space
customerNo
string
1 - 20 charactersRequiredUnique number (up to 20 digits). Combine
partnerServiceId and customerNo or virtualAccountNovirtualAccountNo
string
1 - 28 charactersRequiredInformation of virtual account number which combine
partnerServiceId and customerNotrxDateInit
string
25 charactersInformation transaction initiated
paymentRequestId, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)channelCode
number
1 - 4 charactersInformation of channel code based on ISO 18245
amount
money
RequiredAmount. Contains two sub-fields:
- Value: Transaction amount, including the cents
- Currency: Currency code based on ISO
value
string
1 - 19 charactersRequiredValue of amount. Following ISO-4217, for IDR the value includes 2 decimal digits separated with point
e.g. ,IDR 10.000,- will be placed with 10000.00
e.g. ,IDR 10.000,- will be placed with 10000.00
currency
string
1 - 3 charactersRequiredCurrency
hashedSourceAccountNo
string
1 - 32 charactersRequiredSource account number in hash
sourceBankCode
string
1 - 3 charactersSource account Bank code
inquiryRequestId
string
1 - 64 charactersRequiredUnique request identifier for this inquiry. Generated by Bank
passApp
string
1 - 64 charactersKey for 3rd party to access API like client secret
language
string
1 - 2 charactersInformation of language code based on ISO 639-1
additionalInfo
json object
Additional information
POST .../v1.0/transfer-va/inquiry.htm HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
X-TIMESTAMP: 2020-12-23T09:10:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
CHANNEL-ID: 95221
{
"partnerServiceId": " 88899",
"customerNo": "12345678901234567890",
"virtualAccountNo": " 8889912345678901234567890",
"trxDateInit": "2020-12-21T14:56:11+07:00",
"channelCode": 6011,
"amount": {
"value":"5000.00",
"currency":"IDR"
},
"hashedSourceAccountNo":"abcdefghijklmnopqrstuvwxyz123456",
"sourceBankCode": "008",
"inquiryRequestId": "abcdef-123456-abcdef",
"passApp": "abcdefghijklmnopqrstuvwxyz",
"language": "ID",
"additionalInfo": {},
}
Content-type
string
1 - 127 charactersRequiredContent type, value always
application/jsonX-TIMESTAMP
string
25 charactersRequiredTransaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
responseCode
string
7 charactersRequiredRefer to response code list
responseMessage
string
1 - 150 charactersRequiredRefer to response code list
virtualAccountData
json object
RequiredContains virtual account data
inquiryStatus
string
2 charactersStatus of inquiry
inquiryReason
json object
Reason for inquiry status in multi language
english
string
1 - 64 charactersReason for inquiry status in english
indonesia
string
1 - 64 charactersReason for inquiry status in bahasa
partnerServiceId
string
8 charactersRequiredBiller/merchant code of the virtual account. 8 digit left padding with space
customerNo
string
1 - 20 charactersRequiredUnique number (up to 20 digits). Combine
partnerServiceId and customerNo or virtualAccountNovirtualAccountNo
string
1 - 28 charactersRequiredInformation of virtual account number which combine
partnerServiceId and customerNovirtualAccountName
string
1 - 255 charactersRequiredInformation of virtual account name
virtualAccountEmail
string
1 - 255 charactersInformation of virtual account email
inquiryRequestId
string
1 - 64 charactersRequiredUnique request identifier for this inquiry. Generated by Bank
feeAmount
money
Additional information of fee amount. Contains two sub-fields:
- Value: Amount, including the cents
- Currency: Currency code based on ISO
value
string
1 - 19 charactersRequiredValue of amount. Following ISO-4217, for IDR the value includes 2 decimal digits separated with point
e.g. ,IDR 10.000,- will be placed with 10000.00
e.g. ,IDR 10.000,- will be placed with 10000.00
currency
string
1 - 3 charactersRequiredCurrency
totalAmount
money
Total amount. Contains two sub-fields:
- Value: Amount, including the cents
- Currency: Currency code based on ISO
value
string
1 - 19 charactersRequiredValue of amount. Following ISO-4217, for IDR the value includes 2 decimal digits separated with point
e.g. ,IDR 10.000,- will be placed with 10000.00
e.g. ,IDR 10.000,- will be placed with 10000.00
currency
string
1 - 3 charactersRequiredCurrency
freeTexts
array of multilanguagetext
1 - 25 charactersInformation of free text using multi language text
english
string
RequiredEnglish language text.
The length defines as below:
The length defines as below:
- Freetexts: 32 max
- paymentFlagReason: 200 max
indonesia
string
RequiredIndonesia language text.
The length defines as below:
The length defines as below:
- Freetexts: 32 max
- paymentFlagReason: 200 max
virtualAccountTrxType
string
1 charactersInformation of virtual account transaction type. The value include:
1= Closed Payment (C)2= Open Payment (O)3= Partial (I)4= Minimum (M) - only can be paid once with minimum amount5= Maximum (L)6= Open Minimum (N) - can be paid multiple with minimum amount7= Open Maximum (X) - can be paid multiple with cumulative maximum amount8= Bill Variable (V)9= Multi Bill Variable (W)
subCompany
string
1 - 5 charactersSub Company code generated by partner
billDetails
array of json object
Information of bill details
billCode
string
2 charactersBill code for customer choose
billName
string
1 - 20 charactersBill Name
billAmount
money
Bill amount. Contains two sub-fields:
- Value: Amount, including the cents
- Currency: Currency code based on ISO
value
string
1 - 19 charactersRequiredValue of amount. Following ISO-4217, for IDR the value includes 2 decimal digits separated with point
e.g. ,IDR 10.000,- will be placed with 10000.00
e.g. ,IDR 10.000,- will be placed with 10000.00
currency
string
1 - 3 charactersRequiredCurrency
billSubCompany
string
1 - 5 charactersConditionalPartner's product code
Conditional Info
Y:= subCompany was sent
additionalInfo
json object
Additional information
Content-type: application/json
X-TIMESTAMP: 2020-12-23T09:10:11+07:00
{
"responseCode":"2002400",
"responseMessage":"Successful",
"virtualAccountData":{
"inquiryStatus":"00",
"inquiryReason":{
"english":"Success",
"indonesia":"Sukses"
},
"partnerServiceId":" 88899",
"customerNo":"12345678901234567890",
"virtualAccountNo":" 8889912345678901234567890",
"virtualAccountName":"Jokul Doe",
"virtualAccountEmail":"jokul@gmail.com",
"inquiryRequestId":"abcdef-123456-abcdef",
"feeAmount":{
"value":"5000.00",
"currency":"IDR"
},
"totalAmount":{
"value":"88000.00",
"currency":"IDR"
},
"freeTexts":[
{
"english":"Free text",
"indonesia":"Tulisan bebas"
}
],
"virtualAccountTrxType":"1",
"subCompany": "00000",
"billDetails": [
{
"billCode": "01",
"billName": "DNID MUHXXXXX AHYXXXX KAMXX",
"billAmount": {
"value": "0.00",
"currency": "IDR"
},
"billSubCompany": "00000"
}
],
"additionalInfo":{
}
}
}
| Response | Cause | Solution |
|---|---|---|
2002400Successful | Success to be processed | Mark Inquiry process as Success |
4002400Bad Request | General request failed error | Mark Inquiry process as Failed. Retry request with proper parameter |
4002401Invalid Field Format | Invalid format for certain field | Mark Inquiry process as Failed. Retry request with proper parameter |
4002402Invalid Mandatory Field | Missing or invalid format on mandatory field | Mark Inquiry process as Failed. Retry request with proper parameter |
4012400Unauthorized. [reason] | General unauthorized error | Mark Inquiry process as Failed. Retry request with proper parameter |
4012401Invalid Token (B2B) | Authorization token are invalid, perhaps due to token expiry for B2B | Mark Inquiry process as Failed. Retry request with proper parameter |
4032418Inactive Card/Account/Customer | Indicates inactive account | Mark Inquiry process as Failed. Retry new Inquiry process with proper customer info |
4032462Top Up Lower Than Minimum Amount | Request lower than minimum amount | Mark Inquiry process as Failed. Retry new Inquiry process with proper amount |
4032463Exceed Maximum Limit Amount | Request exceed maximum limit amount | Mark Inquiry process as Failed. Retry new Inquiry process with proper amount |
4032466Exceed Maximum Monthly Limit Amount | Request exceed monthly limit amount | Mark Inquiry process as Failed. Retry new Inquiry process next month |
4042400Invalid Transaction Status | Invalid transaction status | Mark Inquiry process as Failed. Retry new Inquiry process |
4042401Transaction Not Found | Transaction not found | Mark Inquiry process as Failed. Retry new Inquiry process |
4042411Invalid Card/Account/Customer [info]/Virtual Account | Card information may be invalid, or the card account may be blacklisted, or Virtual Account number maybe invalid | Mark Inquiry process as Failed. Retry new Inquiry process with proper customer info |
4042412Invalid Bill/Virtual Account [Reason] | The bill is blocked/ suspended/not found; Virtual account is suspend/not found | Mark Inquiry process as Failed. Retry new Inquiry process |
4042414Paid Bill | The bill has been paid | Mark Inquiry process as Failed. Retry new Inquiry process |
4042419Invalid Bill/Virtual Account | The bill is expired; Virtual account is expired | Mark Inquiry process as Failed. Retry new Inquiry process |
4292400Too Many Requests | Maximum transaction limit exceeded | Mark Inquiry process as Pending. Retry request periodically |
5002400General Error | General error non retry-able | Mark Inquiry process as Failed. Retry new Inquiry process |
5002401Internal Server Error | Unknown internal server failure, please retry the process again | Mark Inquiry process as Pending. Retry request periodically |
Total timeout | Total timeout, the client side does not get any responses from the server side (Can be due to network issue, server slowing down, and so on) | Mark Inquiry process as Failed. Retry new Inquiry process |
Unexpected response (Empty field/field does not exist/undefined response code) | The server does not produce expected responses (Can be due to hardware failure, bugs, and so on) |
|