Skip to main content

Destination Inquiry

POSThttps://<merchant_base_url>/destination/inquiry

This API is used by DANA to inquire user information to merchant in regards to billing information

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

HTTP Response Code

This API must return one of these HTTP response status for the following case:

Response CodeBodyDescription
200OKSuccess
201CreatedOrder successfully created
400Bad requestEmpty mandatory or illegal parameter(s)
401UnauthorizedInvalid authentication

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.destination.inquiry
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 an unique system request. Each request will be assigned with a unique identifier (UUID)

destinationInfos
array of json object
Required
Define the detail of product, refer to destinationInfo
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
productId
string
1 - 64 charactersRequired
Merchant's product identifier
1. General Example
{
"request":{
"head":{
"version":"2.0",
"function":"dana.digital.goods.destination.inquiry",
"reqTime":"2018-07-04T12:08:56+07:00",
"reqMsgId":"1234567asdfasdf1123fd123123aasd123"
},
"body":{
"destinationInfos":[
{
"primaryParam":"111111111",
"secondaryParam":""
},
{
"primaryParam":"22222222",
"secondaryParam":""
}
],
"productId":"merchant_sku_1"
}
},
"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.destination.inquiry
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)

inquiryResults
array of json object
Required
Define the detail of product, refer to inquiryResult
inquiryId
string
1 - 64 charactersRequired
Inquiry identifier
inquiryStatus
json object
Required
Define the detail of billing inquiry status, refer to inquiryStatus
code
string
1 - 8 charactersRequired
Inquiry status code
status
string
1 - 16 charactersRequired
Inquiry status
message
string
1 - 256 charactersRequired
Inquiry status message
destinationInfo
json object
Required
Define the detail of product, refer to destinationInfo
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
customerName
string
1 - 128 charactersRequired
Customer name of the bill owner
period
array of string
Billing period. In format the day with 01 and the time and timezone with 0 since only month and year information is needed.
For example:
["2001-07-01T00:00:00+00:00", "2001-08-01T00:00:00+00:00"]
totalAmount
money
Required
The total amount of bills that user need to pay. 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
baseAmount
money
Required
Base amount not including admin fee and fine 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
adminFee
money
Administration fee. 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
providerName
string
128 characters
Provider name e.g.,PLN Palyja
fineAmount
money
Fine (penalty) 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
minimumPayAmount
money
Conditional
Minimum pay amount. Contains:
1. Value: Amount
2. Currency: Currency code based on ISO
Conditional Info
Y:= bizType is CREDITCARD
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
maximumPayAmount
money
Conditional
Maximum pay amount. Contains:
1. Value: Amount
2. Currency: Currency code based on ISO
Conditional Info
Y:= bizType is CREDITCARD
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
dueDate
string
25 characters
Payment due date, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
paymentCount
number
1 - 8 characters
Installment or insurance payment count
familyNumber
string
1 - 64 characters
BPJS family number
familyCount
number
1 - 8 charactersConditional
BPJS family count
Conditional Info
Y:= bizType is BPJS
detailAmount
json object
Define the detail of detail amount or nominal of the bill, refer to billAmount
period
string
Required
Month of the bill
amount
money
Required
Amount of the bill. 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
policeNumber
string
1 - 128 characters
Police number
address
string
1 - 256 characters
Billing owner's address
standMeter
string
1 - 64 characters
Stand meter
usage
string
1 - 64 characters
Usage
tagNonAir
money
Tag non air. 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
load
string
1 - 64 characters
Load
amount
string
1 - 128 charactersConditional
Amount or quantity of goods/service to be paid e.g., 2000KWH
Conditional Info
Y:= bizType is ELECTRICITY and ELECTRICITY_POST
meterNumber
string
1 - 128 charactersConditional
Electricity meter number
Conditional Info
Y:= bizType is ELECTRICITY and ELECTRICITY_POST
fare
string
1 - 128 charactersConditional
Electricity fare
Conditional Info
Y:= bizType is ELECTRICITY
totalEnergy
string
1 - 128 charactersConditional
Total energy
Conditional Info
Y:= bizType is ELECTRICITY
refNumber
string
1 - 128 characters
Reference number
type
string
1 - 64 characters
Type of product
certificateNumber
string
1 - 128 characters
Certificate number
phoneNumber
string
1 - 64 characters
Customer phone number
startDate
string
25 characters
Start date, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
endDate
string
25 characters
End date, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
billDetail
array of json object
Billing detail for each period, refer to billDetail
customerName
string
1 - 128 charactersRequired
Customer name of the bill owner
invoiceNumber
string
1 - 128 charactersRequired
Invoice number
amount
money
Required
Amount of the bill. 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
description
string
1 - 256 charactersRequired
Description of the bill
billDate
string
25 charactersConditional
Bill date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
Conditional Info
Y:= EDUCATION & IPL
billInfo
string
1 - 128 charactersConditional
Billing information, e.g.,Uang Antar Jemput
Conditional Info
Y:= EDUCATION & IPL
billItemId
string
1 - 64 charactersConditional
Bill item detail identifier
Conditional Info
Y:= EDUCATION & IPL
fineAmount
money
Conditional
Fine (penalty) amount per bill detail. Contains:
1. Value: Amount
2. Currency: Currency code based on ISO
Conditional Info
Y:= EDUCATION & IPL
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
dueDate
string
25 charactersConditional
Payment due date per bill, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
Conditional Info
Y:= EDUCATION
expiredDate
string
25 charactersConditional
Expired date per bill, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
Conditional Info
Y:= EDUCATION & IPL
respMapping
string
1 - 128 charactersConditional
Response mapping on DANA side
Conditional Info
Y:= ESAMSAT
flowId
string
1 - 64 charactersConditional
Merchant order identifier or user's validate user identifier from merchant
Conditional Info
Y:= bizType is GAME
customerIdNumber
string
1 - 128 charactersConditional
Customer identifier number
Conditional Info
Y:= bizType is ESAMSAT
owned
string
1 - 64 charactersConditional
Vehicle ownership
Conditional Info
Y:= bizType is ESAMSAT
brand
string
1 - 128 charactersConditional
Vehicle brand
Conditional Info
Y:= bizType is ESAMSAT
model
string
1 - 128 charactersConditional
Vehicle model
Conditional Info
Y:= bizType is ESAMSAT
machineNumber
string
1 - 128 charactersConditional
Vehicle machine number
Conditional Info
Y:= bizType is ESAMSAT
frameNumber
string
1 - 128 charactersConditional
Vehicle frame number
Conditional Info
Y:= bizType is ESAMSAT
yearOfProduction
string
1 - 128 charactersConditional
Vehicle year of production
Conditional Info
Y:= bizType is ESAMSAT
newTaxExpirationDate
string
25 charactersConditional
New tax end date, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
Conditional Info
Y:= bizType is ESAMSAT
extendInfo
json string
1 - 4096 charactersConditional
Extended information. Such as billerMessages. These fields are mandatory:
- tower
- unitNo
Conditional Info
Y:= bizType is IPL
All Successful Inquiry
{
"response":{
"head":{
"version":"2.0",
"function":"dana.digital.goods.destination.inquiry",
"reqTime":"2018-07-04T12:08:56+07:00",
"reqMsgId":"1234567asdfasdf1123fd123123aasd123"
},
"body":{
"inquiryResults":[
{
"inquiryId":"12323453523",
"inquiryStatus":{
"code":"10",
"status":"SUCCESS",
"message":"Success"
},
"destinationInfo":{
"primaryParam":"111111111",
"secondaryParam":""
},
"customerName":"John Rambo",
"period":[
"2001-07-01T00:00:00+00:00",
"2001-08-01T00:00:00+00:00"
],
"totalAmount":{
"value":"20000000",
"currency":"IDR"
},
"baseAmount":{
"value":"10000000",
"currency":"IDR"
},
"adminFee":{
"value":"250000",
"currency":"IDR"
},
"providerName":"PLN Palyja",
"fineAmount":null,
"dueDate":"2019-07-01T00:00:00+07:00",
"quantity":"2000KWH",
"fare":"100",
"totalEnergy":"10 KWH",
"meterNumber":"1234567890",
"minimumPayAmount":{
"value":"5000000",
"currency":"IDR"
},
"maximumPayAmount":{
"value":"50000000",
"currency":"IDR"
},
"type":"ELECTRICITY"
},
{
"inquiryId":"12323453523",
"inquiryStatus":{
"code":"10",
"status":"SUCCESS",
"message":"Success"
},
"destinationInfo":{
"primaryParam":"22222222",
"secondaryParam":""
},
"customerName":"John Rambo",
"period":[
"2001-07-01T00:00:00+00:00",
"2001-08-01T00:00:00+00:00"
],
"totalAmount":{
"value":"12000000",
"currency":"IDR"
},
"baseAmount":{
"value":"10000000",
"currency":"IDR"
},
"adminFee":{
"value":"250000",
"currency":"IDR"
},
"providerName":"PLN Palyja",
"fineAmount":null,
"dueDate":"2019-07-01T00:00:00+07:00",
"quantity":"2000KWH",
"fare":"100",
"totalEnergy":"10 KWH",
"meterNumber":"1234567890",
"minimumPayAmount":{
"value":"5000000",
"currency":"IDR"
},
"maximumPayAmount":{
"value":"10000000",
"currency":"IDR"
},
"type":"ELECTRICITY"
}
]
}
},
"signature":"signature string"
}

Note

For CREDITCARD payment, if on inquiry response the minimumPayAmount is not empty or null, DANA will validate the amount by the minimumPayAmount value.


ResultStatusResultCodeResultMessageSolution
SUCCESS 10Success
DANA displays billing information to the user
FAILED 20Invalid Destination
Invalid customer number.
- If biz type is ELECTRICITY/ELECTRICITY_POST, DANA will popup error message: "ERROR - IDPEL YANG ANDA MASUKKAN SALAH, MOHON TELITI KEMBALI"
- If biz type is BPJS, DANA will popup error message: "ERROR - No va salah"
FAILED 21Destination is blocked
Customer account is blocked.
- If biz type is ELECTRICITY/ELECTRICITY_POST, DANA will popup error message: "ERROR - KONSUMEN IDPEL DIBLOKIR HUBUNGI PLN"
FAILED 22Invalid Amount
Amount paid by customer is not valid for example by exceeding the maximum billing payment.
For ELECTRICITY if the bill amount exceeds max value so that this account is blocked,DANA will popup error message: "ERROR - TOTAL TAGIHAN MELEBIHI BATAS MAKSIMUM"
FAILED 23Invalid Payment Time
Customer is not allowed to make payment at this point of time.
- If biz type is ELECTRICITY, DANA will popup error message: "ERROR - MOHON MAAF NO PELANGGAN WAKTU TRANSAKSI TERLALU BERDEKATAN DENGAN SEBELUMNYA,MOHON DICOBA KEMBALI BEBERAPA SAAT KEMUDIAN,TERIMA KASIH"
FAILED 24Timeout
Merchant/provider got timeout.
- If biz type is ELECTRICITY/ELECTRICITY_POST/BPJS, DANA will popup error message: "ERROR - Timeout"
FAILED 25Bill is already paid
- If biz type is ELECTRICITY_POST, DANA will popup error message: "ERROR - TAGIHAN SUDAH TERBAYAR"
- If biz type is BPJS, DANA will popup error message: "ERROR - Tagihan sudah dibayar"
FAILED 26Bill is not available
If biz type is ELECTRICITY_POST, DANA will popup error message: "ERROR - TAGIHAN BULAN BELUM TERSEDIA"
FAILED 27Transaction failed
- If biz type is ELECTRICITY_POST, DANA will popup error message: "ERROR - TRANSAKSI GAGAL"
- If biz type is BPJS, DANA will popup error message: "ERROR - Transaksi Gagal"
FAILED 28Data not found
DANA will popup error message: "ERROR - Data tidak ditemukan"
FAILED 29Cut off time
DANA will popup error message: "ERROR - Sedang proses Cut-off, cobalah beberapa saat lagi"
FAILED 30Pay in office
User are not eligible to make payment from DANA and is required to pay in provider office
FAILED 99General Error
Other system level error from merchant
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.