Skip to main content

Order Complete Callback

POST/dana/bizcenter/digitalgoods/orderComplete.htm

This API is used for merchant to inform DANA of the final status (successful or failed) of a previously pending transaction.

API Type
DANA Open API
Expected Timeout
8 second
SNAP Service Code
-
Accept
application/json
Content Type
application/json

version
string
1 - 8 charactersRequired
API version. As per the respective API reference
function
string
1 - 128 charactersRequired
According to specifications defined by each business domain
Value: dana.digital.goods.order.complete
reqTime
string
25 charactersRequired
Request time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
reqMsgId
string
1 - 64 charactersRequired
Identify a unique system request. Each request will be assigned with a unique identifier (UUID)

orders
json object
Required
Define the detail of order information, refer to order
partnerId
string
1 - 64 charactersRequired
Merchant identifier
aggregatorId
string
1 - 64 charactersRequired
Aggregator identifier
requestId
string
1 - 64 charactersRequired
DANA’s request identifier. Merchant should store this parameter as the reference to merchant’s order
orderId
string
1 - 64 charactersRequired
Merchant’s order identifier
createdTime
string
25 charactersRequired
Created order date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
modifiedTime
string
25 charactersRequired
Modified order date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
destinationInfo
json object
Required
Define the detail of destination information
primaryParam
string
1 - 64 charactersRequired
Mandatory destination parameter, e.g., mobile phone number for mobile recharge, account identifier for game top up
secondaryParam
string
1 - 64 characters
Secondary destination parameter, e.g., server identifier
billAmount
money
User's bill amount. Contains:
1. Value: Amount
2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value of amount. Need to provide the amount in the smallest common currency unit. For most, this is the amount in cents (or pence, or similarly named unit).
For example: To create a charge for $1.00, set amount=100 (100 cents
currency
string
1 - 3 charactersRequired
Currency
orderStatus
json object
Required
Define the detail of destination information
Note

Only applicable for RC 10, 30, 31, 32 and 33

code
string
1 - 8 charactersRequired
Order status code
status
string
1 - 16 charactersRequired
Order status
message
string
1 - 256 charactersRequired
Order status message
serialNumber
string
1 - 32 charactersRequired
Provider identifier
token
string
1 - 32 charactersConditional
Electricity token number
Conditional Info
Y := bizType is ELECTRICITY
product
json object
Required
Define the detail of product
productId
string
1 - 64 charactersRequired
Merchant’s product identifier
type
string
1 - 32 charactersRequired
Product type specified by DANA, e.g., MOBILE_CREDIT and MOBILE_DATA. Refer to Biz Type List
provider
string
1 - 32 charactersRequired
Product provider, e.g., telkomsel, indosat. Refer to Provider List
price
money
Required
Merchant’s selling price. Contains:
1. Value: Amount
2. Currency: Currency code based on ISO
*Insurance not use this parameter
value
string
1 - 19 charactersRequired
Value of amount. Need to provide the amount in the smallest common currency unit. For most, this is the amount in cents (or pence, or similarly named unit).
For example: To create a charge for $1.00, set amount=100 (100 cents
currency
string
1 - 3 charactersRequired
Currency
availability
boolean
Required
Product availability from merchant. This field will be used to update merchant product's availability status in DANA. Will be true if the product is available and ready to buy
extendInfo
json string
Required
Extend Information
customerName
string
1 - 64 charactersRequired
Customer name
billItemIds
array of string
Required
Identifier of bill items
baseAmount
money
Required
Merchant’s base amount. Contains:
1. Value: Amount
2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value of amount. Need to provide the amount in the smallest common currency unit. For most, this is the amount in cents (or pence, or similarly named unit).
For example: To create a charge for $1.00, set amount=100 (100 cents
currency
string
1 - 3 charactersRequired
Currency
{
"request": {
"head": {
"version": "1.0",
"function": "dana.digital.goods.order.complete",
"reqTime": "2018-07-04T12:08:56+07:00",
"reqMsgId": "1234567asdfasdf1123fd123123aasd123"
},
"body": {
"orders": [
{
"partnerId": "1827381273912793829321381",
"aggregatorId": "ayopop",
"requestId": "2016234891823981234000",
"orderId": "723894791882739847100",
"createdTime": "2001-07-04T12:08:56+07:30",
"modifiedTime": "2001-07-04T12:08:56+07:30",
"completedTime": "2001-07-04T12:08:56+07:30",
"destinationInfo": {
"primaryParam": "0812312415234"
},
"orderStatus": {
"code": "10",
"status": "SUCCESS",
"message": "Success"
},
"serialNumber": "12983791283097423",
"token": "",
"product": {
"productId": "123",
"type": "MOBILE_CREDIT",
"provider": "telkomsel",
"price": {
"value": "9700000",
"currency": "IDR"
},
"availability": true
},
"extendInfo": "{\"customerName\":\"John Doe\",\"billItemIds\":\"[\"67543\", \"67583\"]\",\"baseAmount\":\"{\"value\":\"250000\",\"currency\":\"IDR\"}"
}
}
]
}
},
"signature": "signature string"
}

version
string
1 - 8 charactersRequired
API version. As per the respective API reference
function
string
1 - 128 charactersRequired
According to specifications defined by each business domain
Value: dana.digital.goods.order.complete
respTime
string
25 charactersRequired
Response time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
reqMsgId
string
1 - 64 charactersRequired
Identify an unique system request. Each request will be assigned with a unique identifier (UUID)

orders
json object
Required
Define the detail of order information, refer to order
partnerId
string
1 - 64 charactersRequired
Merchant identifier
aggregatorId
string
1 - 64 charactersRequired
Aggregator identifier
requestId
string
1 - 64 charactersRequired
DANA’s request identifier. Merchant should store this parameter as the reference to merchant’s order
orderId
string
1 - 64 charactersRequired
Merchant’s order identifier
destinationInfo
json object
Required
Define the detail of destination information
primaryParam
string
1 - 64 charactersRequired
Mandatory destination parameter, e.g., mobile phone number for mobile recharge, account identifier for game top up
secondaryParam
string
1 - 64 characters
Secondary destination parameter, e.g., server identifier
billAmount
money
User's bill amount. Contains:
1. Value: Amount
2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value of amount. Need to provide the amount in the smallest common currency unit. For most, this is the amount in cents (or pence, or similarly named unit).
For example: To create a charge for $1.00, set amount=100 (100 cents
currency
string
1 - 3 charactersRequired
Currency
notifyStatus
json object
Required
Define the detail of notify status
code
string
1 - 8 charactersRequired
Order status code
status
string
1 - 16 charactersRequired
Order status
SUCCESS
string
DANA acknowledges and accepts the order status
FAILED
string
DANA does not acknowledge and rejects the order's status due to errors: Result Code 30, 31, 32, 33, 34, 35, 40, 99
message
string
1 - 256 charactersRequired
Order status message
retryable
boolean
Required
Retry able process for merchant. The possible value are true or false
{
"response": {
"head": {
"version": "1.0",
"function": "dana.digital.goods.order.complete",
"respTime": "2018-07-04T12:08:56+07:00",
"reqMsgId": "1234567asdfasdf1123fd123123aasd123"
},
"body": {
"orders": [
{
"partnerId": "1827381273912793829321381",
"aggregatorId": "ayopop",
"requestId": "2016234891823981234000",
"orderId": "723894791882739847100",
"destinationInfo": {
"primaryParam": "0812312415234"
},
"notifyStatus": {
"code": "10",
"status": "SUCCESS",
"message": "Success",
"retryable": false
}
}
]
}
},
"signature": "signature string"
}

ResultStatusResultCodeIdResultCodeResultMessageSolution
S 10SUCCESSSuccess
Stop send callback API
Note: Retryable is false
F 30FAILED<FAIL_REASON>
Stop send callback API
Note: Retryable is false
F 31PARAM_ILLEGALParam illegal
Stop send callback API
Note: Retryable is false
F 32EXCEED_CUT_OFF_TIMEExceed Cut-off Time
Stop send callback API
Note: Retryable is false
F 33ORDER_HAS_BEEN_SUCCESSOrder already success
Stop send callback API
Note: Retryable is false
F 34ORDER_HAS_BEEN_FAILEDOrder already failed
Stop send callback API
Note: Retryable is false
F 35PARAM_MISSINGMandatory request param missing
Stop send callback API
Note: Retryable is false
F 40ORDER_NOT_FOUNDOrder Not Found
Try re hit callback API
Note: Retryable is true
U 99SYSTEM_ERRORInternal system Error
Try re hit callback API
Note: Retryable is true
ask AIAI Assistant
Need help with our documentation?
Start from our frequently asked questions or feel free to ask anything else.

AI generated responses may contain mistakes.