Inquiry Status
POST/v1.0/transfer-va/status
This API is used to inquiry status and information from DANA to Bank.
API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
26
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 customerNoinquiryRequestId
string
1 - 64 charactersRequiredUnique request identifier for this inquiry. Generated by Bank
paymentRequestId
string
1 - 64 charactersUnique request identifier for this inquiry. Generated by Bank
Notes
- If Payment comes from the Inquiry process, this value must be the same with inquiryRequestId
- Bank App should display a paymentRequestId that users can reference when making a complaint
additionalInfo
json object
Additional information
POST .../v1.0/transfer-va/status 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",
"inquiryRequestId": "abcdef-123456-abcdef",
"paymentRequestId": "abcdef-123456-abcdef",
"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
paymentFlagReason
json object
Reason for payment flag status using multi language text
english
string
1 - 200 charactersRequiredReason for inquiry status in english
indonesia
string
1 - 200 charactersRequiredReason 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 customerNo
inquiryRequestId
string
1 - 64 charactersRequiredUnique request identifier for this inquiry. Generated by Bank
paymentRequestId
string
1 - 64 charactersRequiredUnique request identifier for this inquiry. Generated by Bank.
Note
If Payment comes from the Inquiry process, this value must be the same with inquiryRequestId
paidAmount
money
RequiredPaid 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
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
currency
string
1 - 3 charactersRequiredCurrency
trxDateTime
string
25 charactersBank internal system datetime with timezone, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
transactionDate
string
25 charactersPayment datetime when the payment happened, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
referenceNo
string
1 - 15 charactersPayment auth code generated by Bank
paymentType
string
1 charactersPayment type. The values include:
1= Cash2= Transfer
paymentFlagStatus
string
2 charactersRequiredStatus for payment flag from merchant/biller. The values include:
The initial status from the bank is
00- Success
The payment has been accepted successfully by the merchant/biller. No more retry needed from the Bank01- Fail
The payment has been rejected by the merchant/biller. No more retry needed from the Bank and the money can be returned to the user02- Unknown/Pending
The payment status is not confirmed yet by the merchant/biller. Bank will need to retry up to the retry limit set by the Bank
The initial status from the bank is
02 - Unknown/Pending and the Bank needs to update the status to success if the payment retry process has been stopped and no clear success/fail response from the merchant/billerflagAdvise
string
1 charactersStatus is this is a retry notification:
Y= Retry notificationN= New notification
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
additionalInfo
json object
Additional information
Content-type: application/json
X-TIMESTAMP: 2020-12-23T09:10:11+07:00
{
"responseCode":"2002600",
"responseMessage":"Successful",
"virtualAccountData":
{
"paymentFlagReason":{
"english":"Success",
"indonesia":"Sukses"
},
"partnerServiceId":" 88899",
"customerNo":"12345678901234567890",
"virtualAccountNo":" 8889912345678901234567890",
"inquiryRequestId": "abcdef-123456-abcdef",
"paymentRequestId":"abcdef-123456-abcdef",
"paidAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"totalAmount":{
"value":"12345678.00",
"currency":"IDR"
},
"trxDateTime":"2020-12-21T17:55:11+07:00",
"transactionDate":"2020-12-21T17:55:11+07:00",
"referenceNo":"123456789012345",
"paymentType":"1",
"paymentFlagStatus":"00",
"flagAdvise":"Y",
"freeTexts": [
{
"english":"",
"indonesia":"Tolong sesuaikan pembayaran"
}
],
"additionalInfo": {}
}
}
| Response | Cause | Solution |
|---|---|---|
2002600Successful | Success to be processed | Mark Inquiry Status process as Success |
4002600Bad Request | General request failed error | Mark Inquiry Status process as Failed. Retry request with proper parameter |
4002601Invalid Field Format | Invalid format for certain field | Mark Inquiry Status process as Failed. Retry request with proper parameter |
4002602Invalid Mandatory Field | Missing or invalid format on mandatory field | Mark Inquiry Status process as Failed. Retry request with proper parameter |
4012600Unauthorized. [reason] | General unauthorized error | Mark Inquiry Status process as Failed. Retry request with proper parameter |
4012601Invalid Token (B2B) | Authorization token are invalid, perhaps due to token expiry for B2B | Mark Inquiry Status process as Failed. Retry request with proper parameter |
4042601Transaction Not Found | Transaction not found | Mark Inquiry Status process as Failed. Retry new Inquiry Status process |
4292600Too Many Requests | Maximum transaction limit exceeded | Mark Inquiry Status process as Pending. Retry request periodically |
5002600General Error | General error non retry-able | Mark Inquiry Status process as Failed. Retry new Inquiry Status process |
5002601Internal Server Error | Unknown internal server failure, please retry the process again | Mark Inquiry Status 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) | Do a retry maximum 15 attempts, if still fails mark Inquiry Status process as Not Found |
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) | • If the response code prefix are 202 and 5XX, do a retry maximum 15 attempts, if still fails mark Inquiry Status process as Not Found; • If empty field/field does not exist, do a retry maximum 15 attempts, if still fails mark Inquiry Status process as Not Found |