Customer Topup
Specification
The Following tabel is spesification for this API :
API Name | Topup |
---|---|
Function | This API is used for merchant to do topup customer account via Paydia Bisnis |
Service Code | 38 |
Method | POST |
URL | /snap/v1.0/emoney/topup |
Accept | application/json |
Content Type | application/json |
Related Service | Customer Topup |
Request
The following part will be describe about parameter of request in this API:
Request Parameter
The following table is a list of request parameter in this API:
Header
The following table is Header of Request Parameters :
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | Content-Type | String | Variable, 127 max | Mandatory | - | Content type, value always application/json |
2 | Authorization | String | Variable | Mandatory | - | Contains B2B Bearer JWT Token, you've got it from Access Token B2B |
3 | X-TIMESTAMP | String | Fixed, 25 max | Mandatory | - | Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) |
4 | X-PARTNER-ID | String | Variable, 36 max | Mandatory | - | ID for partner was generated by Paydia. Unique ID for a partner |
5 | X-EXTERNAL-ID | String | Variable, 36 max | Mandatory | - | Unique messaging reference ID generated by merchant. Numeric String. Reference number that should be unique in the same day |
6 | CHANNEL-ID | String | Variable, 5 max | Mandatory | - | Device identification on which the API services is currently being accessed by the end user (customer) |
7 | X-SIGNATURE | String | Variable | Mandatory | - | Signature need to be generated with Symmetric Signature method |
Body
The following table is a body of request parameter:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | partnerReferenceNo | String | Variable, 64 max | Mandatory | - | Unique transaction identifier on partner system which assigned to each transaction |
2 | amount | Money | Variable | Mandatory | - | Contains two sub-fields:
|
3 | customerNumber | String | Variable, 32 max | Mandatory | - | Destination customer account number |
4 | additionalInfo | JSON Object | Variable | Mandatory | - | Additional information |
5 | additionalInfo.productCode | String | Variable, 32 max | Mandatory | - | Additional information of product code |
Request Sample
The following script is a request sample of this API:
POST /snap/v1.0/emoney/topup
X-TIMESTAMP: 2024-08-03T15:28:34+07:00
X-PARTNER-ID: 4abbcb6ce30229994c76169006e0dc9c
X-SIGNATURE: B+Fts9JJgMJk1jQLQZAyaj4Bq+lnv26mYNwok3IaBX/UDk6lwIkBIMmxr6TFi3L3EkTZAlppi7Vl3xG8ZapD/Q==
X-EXTERNAL-ID: 1722674040
CHANNEL-ID: 633
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJQYXlkaWEiLCJpYXQiOjE3MjI2NzM0NzksImV4cCI6MTcyMjc1OTg3OSwiZGF0YSI6eyJlbnYiOiJwcm9kdWN0aW9uIn19.S6vpO_TFlsIgbUN3H3Hq7yDjhka1g3unLnOrDbDvWF0
{
"partnerReferenceNo": "1e02c084-6b98-45f5-9320-501362393383",
"customerNumber": "0812345678901",
"amount": {
"value": "20000.00",
"currency": "IDR"
},
"additionalInfo": {
"productCode": "payout_emoney_paydia"
}
}
Response
The following part will be describe about parameter of response in this API:
Response Parameter
The following table is a list of response parameter in this API:
Body
The following table is a body of response parameter:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | responseCode | String | Fixed, 7 max | Mandatory | - | Refer to response code list |
2 | responseMessage | String | Variable, 150 max | Mandatory | - | Refer to response code list |
3 | referenceNo | String | Variable, 64 max | Optional | - | Transaction identifier on Paydia |
4 | partnerReferenceNo | String | Variable, 64 max | Mandatory | - | Unique transaction identifier on partner system which assigned to each transaction |
5 | customerNumber | String | Variable, 64 max | Mandatory | - | Customer Account Number |
6 | customerName | String | Variable, 255 max | Mandatory | - | Customer account name |
7 | amount | Money | Variable | Mandatory | - | Amount. Contains two sub-fields:
|
8 | additionalInfo | JSON Object | Variable | Mandatory | - | Additional information |
9 | additionalInfo.balance | Money | Variable | Mandatory | - | Additional information of merchant's balance. Contains two sub-fields:
|
Response Sample
The following script is a response sample of this API:
{
"responseCode": "2003800",
"responseMessage": "Successful",
"referenceNo": "0974a06e-be78-48cf-9abd-69757a461a08",
"partnerReferenceNo": "1e02c084-6b98-45f5-9320-501362393383",
"customerNumber": "0812345678901",
"customerName": "Firman Zain",
"amount": {
"value": "20000.00",
"currency": "IDR"
},
"additionalInfo": {
"balance": {
"value": "19730031.00",
"currency": "IDR"
}
}
}
Response Code and Message
The following table is the list response code and message of Account Inquiry API:
No | Response Code | Response Message | Remarks |
---|---|---|---|
1 | 2003800 | Successful | Success to be processed |
2 | 4003801 | Invalid Field Format | Invalid format for certain field |
3 | 4003802 | Invalid Mandatory Field | Missing or invalid format on mandatory field |
4 | 4013800 | Unauthorized. [reason] | General unauthorized error |
5 | 4013801 | Invalid Token (B2B) | Invalid or Expired Access Token |
6 | 4033802 | Exceeds Transaction Amount Limit | Minimum or maximum amount limit |
7 | 4033814 | Insufficient funds | Not enough balance merchant |
8 | 4043803 | Bank Not Supported By Switch | Bank not supported by switch |
9 | 4043811 | Invalid Account | Destination account invalid |
10 | 4093800 | Conflict | Cannot use same X-EXTERNAL-ID in same day |
11 | 4093801 | Duplicate partnerReferenceNo | Duplicate partnerReferenceNo |
12 | 5003802 | Backend system failure | 500 internal server error |