Skip to main content

Customer Topup

Specification

The Following tabel is spesification for this API :

API NameTopup
FunctionThis API is used for merchant to do topup customer account via Paydia Bisnis
Service Code38
MethodPOST
URL/snap/v1.0/emoney/topup
Acceptapplication/json
Content Typeapplication/json
Related ServiceCustomer 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:

The following table is Header of Request Parameters :

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariable, 127 maxMandatory-Content type, value always application/json
2AuthorizationStringVariableMandatory-Contains B2B Bearer JWT Token, you've got it from Access Token B2B
3X-TIMESTAMPStringFixed, 25 maxMandatory-Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
4X-PARTNER-IDStringVariable, 36 maxMandatory-ID for partner was generated by Paydia. Unique ID for a partner
5X-EXTERNAL-IDStringVariable, 36 maxMandatory-Unique messaging reference ID generated by merchant. Numeric String. Reference number that should be unique in the same day
6CHANNEL-IDStringVariable, 5 maxMandatory-Device identification on which the API services is currently being accessed by the end user (customer)
7X-SIGNATUREStringVariableMandatory-Signature need to be generated with Symmetric Signature method

Body

The following table is a body of request parameter:

NoNameTypeLengthRequiredConditionRemarks
1partnerReferenceNoStringVariable, 64 maxMandatory-Unique transaction identifier on partner system which assigned to each transaction
2amountMoneyVariableMandatory-Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
3customerNumberStringVariable, 32 maxMandatory-Destination customer account number
4additionalInfoJSON ObjectVariableMandatory-Additional information
5additionalInfo.productCodeStringVariable, 32 maxMandatory-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:

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringFixed, 7 maxMandatory-Refer to response code list
2responseMessageStringVariable, 150 maxMandatory-Refer to response code list
3referenceNoStringVariable, 64 maxOptional-Transaction identifier on Paydia
4partnerReferenceNoStringVariable, 64 maxMandatory-Unique transaction identifier on partner system which assigned to each transaction
5customerNumberStringVariable, 64 maxMandatory-Customer Account Number
6customerNameStringVariable, 255 maxMandatory-Customer account name
7amountMoneyVariableMandatory-Amount. Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
8additionalInfoJSON ObjectVariableMandatory-Additional information
9additionalInfo.balanceMoneyVariableMandatory-Additional information of merchant's balance. Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO

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:

NoResponse CodeResponse MessageRemarks
12003800SuccessfulSuccess to be processed
24003801Invalid Field FormatInvalid format for certain field
34003802Invalid Mandatory FieldMissing or invalid format on mandatory field
44013800Unauthorized. [reason]General unauthorized error
54013801Invalid Token (B2B)Invalid or Expired Access Token
64033802Exceeds Transaction Amount LimitMinimum or maximum amount limit
74033814Insufficient fundsNot enough balance merchant
84043803Bank Not Supported By SwitchBank not supported by switch
94043811Invalid AccountDestination account invalid
104093800ConflictCannot use same X-EXTERNAL-ID in same day
114093801Duplicate partnerReferenceNoDuplicate partnerReferenceNo
125003802Backend system failure500 internal server error