Transfer to Bank Notify
POST/v1.0/debit/emoney/transfer-bank/notify.htm
This API is used to notify withdraw status and information from DANA to merchant’s platform. For the easiest integration, use DANA's Libraries to implement Disbursement to Bank.
API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
43
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)
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)
originalPartnerReferenceNo
string
1 - 64 charactersOriginal transaction identifier on DANA system
Note: Required to be filled using the partnerReferenceNo that is the same as the one used in Transfer to Bank
Note: Required to be filled using the partnerReferenceNo that is the same as the one used in Transfer to Bank
originalReferenceNo
string
1 - 64 charactersRequiredOriginal transaction identifier on partner system
latestTransactionStatus
string
2 charactersRequiredCategory code for the status of the transaction.
The values include:
The values include:
00= Success01= Initiated02= Paying03= Pending04= Refunded05= Cancelled06= Failed07= Not found
transactionStatusDesc
string
1 - 50 charactersDescription of transaction status
createdTime
string
25 charactersTransaction created time, in format YYYY-MM-DDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time)
Time must be in GMT+7 (Jakarta time)
finishedTime
string
25 charactersTransaction finished time, in format YYYY-MM-DDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time)
Time must be in GMT+7 (Jakarta time)
additionalInfo
json object
Additional information
POST .../v1.0/debit/emoney/transfer-bank/notify.htm HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
X-TIMESTAMP: 2020-12-21T17:50:43+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
CHANNEL-ID: 95221
{
"originalPartnerReferenceNo": "2020102900000000000001",
"originalReferenceNo": "2020102977770000000009",
"latestTransactionStatus": "00",
"transactionStatusDesc": "success",
"createdTime": "2020-12-21T17:48:41+07:00",
"finishedTime": "2020-12-21T17:50:41+07:00",
"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)
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
Content-type: application/json
X-TIMESTAMP: 2020-12-21T17:50:44+07:00
{
"responseCode": "2004300",
"responseMessage": "Successful"
}
| Response | Cause | Solution |
|---|---|---|
2004300Successful | Success to be processed | Mark Transfer to Bank Notify based on latestTransactionStatus:
|
4004300Bad Request | General request failed error | Mark Transfer to Bank Notify process as Failed and mark Transfer as Pending. Retry request with proper parameter |
4004301Invalid Field Format | Invalid format for certain field | Mark Transfer to Bank Notify process as Failed and mark Transfer as Pending. Retry request with proper parameter |
4004302Invalid Mandatory Field | Missing or invalid format on mandatory field | Mark Transfer to Bank Notify process as Failed and mark Transfer as Pending. Retry request with proper parameter |
4014300Unauthorized. [reason] | General unauthorized error | Mark Transfer to Bank Notify process as Failed and mark Transfer as Pending. Retry request with proper parameter |
4014301Invalid Token (B2B) | Authorization token are invalid, perhaps due to token expiry for B2B | Mark Transfer to Bank Notify process as Failed and mark Transfer as Pending. Retry request with proper parameter |
4294300Too Many Requests | Maximum transaction limit exceeded | Mark Transfer to Bank Notify process as Pending and mark Transfer as Pending. Retry request periodically |
5004300General Error | General error non retry-able | Mark Transfer to Bank Notify process as Failed and mark Transfer as Pending. Retry request periodically |
5004301Internal Server Error | Unknown internal server failure, please retry the process again | Mark Transfer to Bank Notify process as Pending and mark Transfer 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 3 attempts, if still fails mark Transfer to Bank Notify process as Pending and mark Transfer as Pending |
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) |
|