E-Wallet Transfer API
Request Header Attributes
Following are the parameters to be sent in the request header:
Content-Type
Indicates the media type of the resource. value: application/json
X-TIMESTAMP
Timestamp in ISO8601 format, Example: 2024-05-14T18:54:57+07:00
Authorization
Represents Access Token (B2B) of a request; string starts with keyword “Bearer ” followed by Access Token (B2B)
X-SIGNATURE
Signature generated with by encrypting HTTP method, relative path, access token, minified request body, and timestamp
X-PARTNER-ID
Unique ID for a partner given by Durianpay upon completing registration. Its value is same as the X-CLIENT-KEY
X-EXTERNAL-ID
Unique messaging reference identifier generated by merchant and should be unique within the same day
CHANNEL-ID
Device identification on which the API services is currently being accessed by the merchant. Possible value: 95221
Request Body Attributes
Following are the parameters to be sent in the request body:
partnerReferenceNo
Unique transaction identifier on merchant system which assigned to each transaction
customerName
The name of the recipient.
customerNumber
The account number of the recipient.
amount
JSON object with keys: value and currency. Example: {"value": "20000.00", "currency": "IDR"}
Hide amount object
Field | Type | Description |
---|---|---|
amountMandatory | string | The amount of money to be disbursed with two decimals (00) at the end. Example: |
currencyMandatory | string | The currency associated with the disbursement's amount. Example: |
additionalInfo
JSON object with keys: platformCode (bank code of the e-wallet), deviceId, channel and senderInformation. example: {"platformCode": "gopay", "deviceId": "1234567", "channel": "mobilephone"}
Hide additionalInfo object
Field | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
platformCodeMandatory | string | The bank code of the account.
| ||||||||||||
deviceIdOptional | string | device id of the request source | ||||||||||||
channelOptional | string | channel of the request source | ||||||||||||
senderInformationOptional | object | The details of disbursement sender. This will be mandatory in case of disbursement on behalf of another party. |
sender_information
Part of items object. The details of disbursement sender. This will be mandatory in case of disbursement on behalf of another party.
Hide sender_information object
Field | Type | Description |
---|---|---|
nameMandatory | string | The name of the sender For a name to be accepted, following rules should be adhered
|
countryMandatory | string | The country of the sender. Two letter country code as per ISO-3166 alpha-2 standard Refer here for ISO-3166 alpha-2 country codes. ISO-3166 alpha-2 country code |
senderAccountMandatory | json object | The account details of sender |
senderIdentityMandatory | json object | The identity details of sender |
jobOptional | string | The job of the sender Valid job types are
|
dateOfBirthOptional | string | The date of birth of the sender in YYYY-MM-DD format |
placeOfBirthOptional | string | The place of birth of the sender |
addressOptional | string | The address of the sender |
senderAccount
Part of senderInformation object. The details of sender account
Hide senderAccount object
Field | Type | Description |
---|---|---|
bankIdentifierMandatory | string | Valid ATM Code or Swift Code for sender bank Valid ATM codes and Swift codes can be fetched using the Fetch banks API |
accountNumberMandatory | string | Account Number of sender |
senderIdentity
Part of senderInformation object. The details of sender idenity
Hide senderIdentity object
Field | Type | Description |
---|---|---|
identityTypeMandatory | string | Type of sender identity Valid values are
|
identityNumberMandatory | string | Indentity Number of chosen identity type Valid values for company_id and national_id are strings with numeric characters. Example "1234567890" Valid values for passport are strings with alphanumeric characters. Example "ABC1234DEF". |
curl --location 'https://api.durianpay.id/v1.0/emoney/topup' \
--header 'X-TIMESTAMP: 2024-05-14T18:54:57+07:00' \
--header 'X-SIGNATURE: pCA+q832pxHnTPm1Kdbfu1am37J9XFeGH13JGYqHv7Ww4Tb3Hrc5xRew+4y2tN4wiAPnHmvXcJ1Tyf94jK5gHQ==' \
--header 'X-PARTNER-ID: partner_id' \
--header 'X-EXTERNAL-ID: random_external_id' \
--header 'CHANNEL-ID: channel_id' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJEdXJpYW4gTW9uZXkiLCJleHAiOjE3MTU1OTM3NTYsImlhdCI' \
--data '{
"partnerReferenceNo": "111111111",
"amount": {
"value": "20000.00",
"currency": "IDR"
},
"customerName": "Dummy Name",
"customerNumber": "888801000003301",
"additionalInfo": {
"platformCode": "gopay",
"deviceId": "12345679237",
"channel": "mobilephone",
"additionalInfo": {
"platformCode": "gopay",
"deviceId": "12345679237",
"channel": "mobilephone",
"senderInformation": {
"name": "Sender Name",
"country": "ID",
"senderIdentity": {
"identityType": "company_id",
"identityNumber": "1234567890"
},
"senderAccount": {
"bankIdentifier": "014",
"accountNumber": "1234567"
},
"job": "company",
"dateOfBirth": "1990-01-01",
"address": "jakarta",
"placeOfBirth": "jakarta indonesia"
}
}
}'
Response Code
200 - Success
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
{ "additionalInfo": { "channel": "mobilephone", "deviceId": "12345679237", "platformCode": "gopay" }, "amount": { "currency": "IDR", "value": "20000.00" }, "customerNumber": "888801000003301", "partnerReferenceNo": "202010290000000000000", "referenceNo": "dis_item_YDniNwMtjh" "responseCode": "2003800", "responseMessage": "Successful" }
202 - Accepted
400 - Bad Request - Invalid Mandatory Field
400 - Bad Request - Invalid Field Format
400 - Bad Request - Missing Header
401 - Unauthorized - Invalid Token
401 - Unauthorized - Invalid Signature
409 - Conflict
409 - Conflict - Duplicate partnerReferenceNo
500 - Internal Server Error
504 - Gateway Timeout