Skip to main content

Customer Topup - 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
2AuthorizationStringVariableConditionalIf the signature option is asymmetric approachContains 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-SIGNATUREStringVariableMandatory-Signature will be generated automatically with symmetricSignature or asymmetricSignature method
5X-PARTNER-IDStringVariable, 36 maxMandatory-ID for partner was generated by Paydia. Unique ID for a partner
6X-EXTERNAL-IDStringVariable, 36 maxMandatory-Unique messaging reference ID generated by merchant. Numeric String. Reference number that should be unique in the same day
7CHANNEL-IDStringVariable, 5 maxMandatory-Device identification on which the API services is currently being accessed by the end user (customer)

Body

The following table is a body of request parameter:

NoNameTypeLengthRequiredConditionRemarks
1partnerReferenceNoStringVariable, 64 maxMandatory-Transaction identifier on service consumer system
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 maxMandatoryAlfanumeric with underscoreAdditional information of product code

Request Sample

The following script is a request sample of this API:

POST /snap/v1.0/emoney/topup HTTP/1.1
X-TIMESTAMP: 2024-07-23T11:39:23+07:00
X-PARTNER-ID: 35d1a1127182a65e4fe0256242a40a6d
X-SIGNATURE: bld7ye5qeED3IaG+npOjL9a5PVBhjhXhPM5m3KzIHCwNNPb4szEV4UvhL7LGfjMUd9SPyMxqfUi+ioOjp6bZ4A==
X-EXTERNAL-ID: 1721710113
CHANNEL-ID: 111
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJQYXlkaWEiLCJpYXQiOjE3MjE3MDk1MzYsImV4cCI6MTcyMTc5NTkzNn0.hZMxh6uD1n3wpOQWc1K6hAT0e-1Hz3Yb44rdXcMkJnQ
Content-Length: 263

{
"partnerReferenceNo": "c6a303c3-dc72-4027-b43a-3d1840885cff",
"customerNumber": "081234567890",
"amount": {
"value": "1000000.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 system
4partnerReferenceNoStringVariable, 64 maxMandatory-Transaction identifier on partner system
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": "36316a5c-ff94-4b8b-ae51-a4af031288db",
"partnerReferenceNo": "c6a303c3-dc72-4027-b43a-3d1840885cff",
"customerNumber": "087758421409",
"customerName": "Firman Zain",
"amount": {
"value": "1000000.00",
"currency": "IDR"
},
"additionalInfo": {
"balance": {
"value": "243249325.00",
"currency": "IDR"
}
}
}

Response Code and Message

The following table is the list response code and message of Account Inquiry API:

NoResponse CodeResponse MessageRemarks
12004200SuccessfulSuccess to be processed
24004201Invalid Field FormatInvalid format for certain field
34004202Invalid Mandatory FieldMissing or invalid format on mandatory field
44014200Unauthorized {reason}General unauthorized error
54014201Unauthorized [Invalid Authorization]Access token expiry
64014201Invalid TokenToken found in request is invalid (Access Token Not Exist, Access Token Expiry)
74044203Bank Not Supported By SwitchBank not supported by switch
84044211Invalid AccountDestination account number
94094200ConflictCannot use same X-EXTERNAL-ID in same day
104094201Duplicate partnerReferenceNoDuplicate partnerReferenceNo
115004202Backend system failure500 internal server error