Skip to main content
Version: 1.0

API Mobile Topup

Endpoint: /api/v1/service/topup/charging

Method: POST

Header: How to generate JWT_TOKEN

{
"X-APPOTAPAY-AUTH": Bearer JWT_TOKEN,
"Content-Type": "application/json"
}

Params

ParamsRequiredTypeDescription
partnerRefIdStringThis is unique code corresponding to a request send
telcoStringVendor name (see more Table of content list vendor)
telcoServiceTypeStringService type (see more Table of content List service code)
phoneNumberStringPhone number charge topup (format: 09x, 08x,..)
amountIntegerCharge money
signatureStringSignature of parameter passed to the API, the parameter is included into signature like this: amount + partnerRefId + phoneNumber + telco + telcoServiceType (see more at how to generate signature)

Data result

ParamsTypeDescription
errorCodeIntegerError code result
messageStringDescription error code detail
transactionObjectTransaction object
transaction.phoneNumberStringPhone number to charge topup
transaction.amountIntegerAmount transaction
transaction.topupAmountIntegerAmount topup
transaction.appotapayTransIdStringTransaction id from AppotaPay
transaction.timeStringTransaction time
accountObjectAccount information
account.balanceIntegerBalance account after topup
signatureStringSignature of parameter passed to the API, the parameter is included into signature like this:(amount + appotapayTransId + errorCode + phoneNumber + time + topupAmount)

Example

Request

{
"partnerRefId": "AB123",
"telco": "viettel",
"telcoServiceType": "prepaid",
"phoneNumber": "0986868686",
"amount": 100000,
"signature": "e5f61a7eca55ca1c5a1b6305acfa0e52f6d3d562de1b9780faf5f247ed10ab8d"
}

Response

{
"errorCode": 0,
"message": "Thành công",
"transaction": {
"phoneNumber": "0986868686",
"amount": 10000,
"topupAmount": 10000,
"appotapayTransId": "01J7G2PKFDPTWJN6P9K3DDP1J5",
"time": "11-09-2024 15:20:20"
},
"account": {
"balance": "121000000"
},
"signature": "5a2774918a29cf4d2bdb78cccceb956f4c27837fad09a03a56e1df68b1bf29dd"
}