Skip to main content

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

API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
43
Accept
application/json
Content Type
application/json

Content-Type
string
1 - 127 charactersRequired
Content type, value always application/json
Authorization
string
1 - 2048 charactersConditional
Contains bearer JWT token, which has been obtained from Authorization Token Request API
Conditional Info
Y:= Signature option is symmetric approach
X-TIMESTAMP
string
25 charactersRequired
Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time)
X-SIGNATURE
string
Required
Signature need to be generated with symmetricSignature or asymmetricSignature method
ORIGIN
string
Origin domain
X-PARTNER-ID
string
1 - 36 charactersRequired
Unique identifier for partner was generated by DANA, or known as clientId
X-EXTERNAL-ID
string
1 - 36 charactersRequired
Unique messaging reference identifier generated by merchant and should be unique within the same day
CHANNEL-ID
string
1 - 5 charactersRequired
Device identification on which the API services is currently being accessed by the end user (customer)

originalPartnerReferenceNo
string
1 - 64 characters
Original 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
originalReferenceNo
string
1 - 64 charactersRequired
Original transaction identifier on partner system
latestTransactionStatus
string
2 charactersRequired
Category code for the status of the transaction.
The values include:
  • 00 = Success
  • 01 = Initiated
  • 02 = Paying
  • 03 = Pending
  • 04 = Refunded
  • 05 = Cancelled
  • 06 = Failed
  • 07 = Not found
transactionStatusDesc
string
1 - 50 characters
Description of transaction status
createdTime
string
25 characters
Transaction created time, in format YYYY-MM-DDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time)
finishedTime
string
25 characters
Transaction finished time, in format YYYY-MM-DDTHH:mm:ss+07:00.
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 charactersRequired
Content type, value always application/json
X-TIMESTAMP
string
25 charactersRequired
Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time)

responseCode
string
7 charactersRequired
Refer to response code list
responseMessage
string
1 - 150 charactersRequired
Refer to response code list
Content-type: application/json
X-TIMESTAMP: 2020-12-21T17:50:44+07:00
{
"responseCode": "2004300",
"responseMessage": "Successful"
}

ResponseCauseSolution
2004300Successful
Success to be processed
Mark Transfer to Bank Notify based on latestTransactionStatus:
  • 00 - Order has been successfully paid, mark Transfer as Success
  • 01 - Order waiting payment process, mark Transfer as Pending and retry periodically
  • 02 - Order waiting payment result, mark Transfer as Pending and retry periodically
  • 03 - Order waiting payment result, mark Transfer as Pending and retry periodically
  • 04 - Order has been refunded, mark Transfer as Failed
  • 05 - Order has been cancelled, mark Transfer as Failed
  • 06 - Order payment failed, mark Transfer as Failed
  • 07 - Order not found, mark Transfer as Failed
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)
  • If the response code prefix are 202 and 5XX, mark Transfer to Bank Notify process as Pending and mark Transfer as Pending
  • If empty field/field does not exist, mark Transfer to Bank Notify process as Pending and mark Transfer as Pending