Finish Notify
POST/v1.0/debit/notify
This API is used to notify payment status and information from DANA to merchant’s platform
API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
56
Accept
application/json
Content Type
applciation/json
This API is used for the following solution:
Seamlessly integrate DANA payments into merchant's platform, allowing customers to link their DANA accounts for faster, smoother transactions across all merchant's services.
This API is used for the following solution:
Integrate DANA as a payment method in merchant's platform without account binding. Users simply select DANA, get redirected to the DANA App, and complete payments using their DANA account.
Content-Type
string
1 - 127 charactersRequiredContent type, value always
application/json
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
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 charactersRequiredOriginal transaction identifier on DANA system
originalReferenceNo
string
1 - 64 charactersRequiredOriginal transaction identifier on partner system
originalExternalId
string
1 - 36 charactersOriginal external identifier on header message
merchantId
string
1 - 64 charactersRequiredMerchant identifier that is unique per each merchant
subMerchantId
string
1 - 32 charactersInformation of sub merchant identifier
amount
money
RequiredAmount. Contains two sub-fields:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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
latestTransactionStatus
string
2 charactersRequiredCategory code for the status of the transaction. The values include:
•
•
•
00
= Success, the order has been paid •
05
= Cancelled, the order has been closed because it is expiredtransactionStatusDesc
string
1 - 50 charactersDescription of transaction status
createdTime
string
25 charactersRequiredTransaction created time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
finishedTime
string
25 charactersRequiredTransaction finished time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
externalStoreId
string
1 - 64 charactersStore identifier to indicate to which store this payment belongs to
additionalInfo
json object
Additional information
additionalInfo.paymentInfo
json object
Additional information of payment
cashierRequestId
string
1 - 64 charactersRequiredCashier request identifier
paidTime
string
25 charactersRequiredInformation of paid time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
payOptionInfos
array of json object
RequiredInformation of pay option. Refer to payOptionInfos for the detailed
payMethod
string
1 - 64 charactersRequiredPayment method name, refer to PayMethodEnum
BALANCE
string
Payment method with balance
COUPON
string
Payment method with coupon
NET_BANKING
string
Payment method with internet banking
CREDIT_CARD
string
Payment method with credit card
DEBIT_CARD
string
Payment method with debit card
VIRTUAL_ACCOUNT
string
Payment method with virtual account
OTC
string
Payment method with OTC
DIRECT_DEBIT_CREDIT_CARD
string
Payment method with direct debit of credit card
DIRECT_DEBIT_DEBIT_CARD
string
Payment method with direct debit of debit card
ONLINE_CREDIT
string
Payment method with online credit
LOAN_CREDIT
string
Payment method with DANA Cicil
NETWORK_PAY
string
Payment method with e-wallet
VIRTUAL_ACCOUNT
string
Payment method with virtual account
payOption
string
1 - 64 charactersPayment option which shows the provider of this payment, refer to PayOptionEnum
NETWORK_PAY_PG_SPAY
string
Payment method with ShopeePay e-wallet
NETWORK_PAY_PG_OVO
string
Payment method with OVO e-wallet
NETWORK_PAY_PG_GOPAY
string
Payment method with Gopay e-wallet
NETWORK_PAY_PG_LINKAJA
string
Payment method with LinkAja e-wallet
NETWORK_PAY_PG_CARD
string
Payment method with Card
VIRTUAL_ACCOUNT_BCA
string
Payment method with BCA virtual account
VIRTUAL_ACCOUNT_BNI
string
Payment method with BNI virtual account
VIRTUAL_ACCOUNT_MANDIRI
string
Payment method with Mandiri virtual account
VIRTUAL_ACCOUNT_BRI
string
Payment method with BRI virtual account
VIRTUAL_ACCOUNT_BTPN
string
Payment method with BTPN virtual account
VIRTUAL_ACCOUNT_CIMB
string
Payment method with CIMB virtual account
VIRTUAL_ACCOUNT_PERMATA
string
Payment method with Permata virtual account
payAmount
money
RequiredPay amount. Contains two sub-fields:
1. Value: Amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Amount, including the cents
2. 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
transAmount
money
Trans amount. Contains two sub-fields: Contains two sub-fields:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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
chargeAmount
money
Charge amount. Contains two sub-fields:
1. Value: Amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Amount, including the cents
2. 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
payOptionBillExtendInfo
string
1 - 4096 charactersExtend information of pay option bill
extendInfo
string
1 - 4096 charactersExtend information
payRequestExtendInfo
string
1 - 4096 charactersExtend information of pay request
extendInfo
string
1 - 4096 charactersExtend information
additionalInfo.shopInfo
json object
Additional information of shop
shopId
string
1 - 64 charactersConditionalInformation of shop identifier
Conditional Info
Y:= externalShopId is blank
externalShopId
string
1 - 64 charactersConditionalInformation of external shop identifier
Conditional Info
Y:= shopId is blank
operatorId
string
1 - 32 charactersInformation of operator identifier
shopAddress
string
1 - 256 charactersInformation of shop address
divisionId
string
1 - 64 charactersInformation of division identifier
externalDivisionId
string
1 - 64 charactersInformation of external division identifier
divisionType
string
1 - 32 charactersInformation of division type
shopName
string
1 - 128 charactersInformation of shop name
additionalInfo.extendInfo
string
1 - 4096 charactersAdditional information of extend
additionalInfo.extendInfo.closedReason
string
1 - 64 charactersConditionalAdditional information of closed reason
Conditional Info
Y:= Order is closed
POST .../v1.0/debit/notify HTTP/1.2
Content-type: application/json
X-TIMESTAMP: 2020-12-23T07:44:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
CHANNEL-ID: 95221
{
"originalPartnerReferenceNo": "2020102900000000000001",
"originalReferenceNo": "2020102977770000000009",
"originalExternalId": "30443786930722726463280097920912",
"merchantId": "23489182303312",
"subMerchantId": "23489182303312",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"latestTransactionStatus": "00",
"transactionStatusDesc": "success",
"createdTime": "2020-12-21T17:07:18+07:00",
"finishedTime": "2020-12-21T17:07:20+07:00",
"externalStoreId": "91863213913112",
"additionalInfo": {
"paymentInfo": {
"paidTime": "2022-01-04T19:13:54+07:00",
"payRequestExtendInfo": "{\"key\":\"value\"}",
"extendInfo": "{\"topupAndPay\":\"false\",\"paymentStatus\":\"SUCCESS\"}",
"payOptionInfos": [
{
"payMethod": "NETWORK_PAY",
"payOption": "NETWORK_PAY_PG_OVO",
"payAmount": {
"value": "51312.00",
"currency": "IDR"
},
"transAmount": {
"value": "51312.00",
"currency": "IDR"
},
"chargeAmount": {
"value": "0.00",
"currency": "IDR"
},
"payOptionBillExtendInfo": "{}",
"extendInfo": "{\"key\":\"value\"}"
}
],
"cashierRequestId": "64c4fdc544a7edff9c1e51aebc80f2eb"
},
"shopInfo": {
"divisionId": "21665000011111119920",
"externalDivisionId": "Test",
"externalShopId": "TEST0000001",
"shopAddress": "{\"key\":\"value\"}",
"shopId": "216660000274111177110",
"shopName": "Test",
"operatorId": "",
"divisionType": ""
},
"extendInfo": "{\"closedReason\":\"some reason\"}"
}
}
Content-Type
string
1 - 127 charactersRequiredContent type, value always
application/json
X-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
Content-type: application/json
X-TIMESTAMP: 2020-12-23T07:44:16+07:00
{
"responseCode": "2005600",
"responseMessage": "Successful"
}
Response | Cause | Solution |
---|---|---|
2005600Successful | Success to be processed | Mark Finish Notify process as Success |
5005601Internal Server Error | Unknown internal server failure, please retry the process again | Mark Finish Notify process as Pending. Retry periodically within 7 days |
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 Finish Notify process 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) |
|