Nhảy tới nội dung
Phiên bản: Lastest

API Nạp tiền điện thoại

Endpoint: /api/v2/service/topup/charging

Method: POST

Header: Cách tạo JWT_TOKEN

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

Tham số

Tham sốYêu cầuKiểu dữ liệuMô tả
partnerRefIdStringMã giao dịch phía đối tác, duy nhất cho mỗi giao dịch
telcoStringTên nhà mạng (xem thêm phần Phụ Lục bảng nhà mạng)
telcoServiceTypeStringLoại dịch vụ (xem thêm phần Phụ Lục bảng mã dịch vụ)
productCodeStringMã sản phẩm (xem thêm API lấy bảng mã sản phẩm)
phoneNumberStringSố điện thoại nạp tiền (truyền dạng: 09x, 08x,..)
signatureStringChữ ký các tham số truyền lên API, các tham số được đưa vào chữ ký theo thứ tự bao gồm: partnerRefId + phoneNumber + productCode + telco + telcoServiceType (xem thêm phần cách tạo signature)

Dữ liệu trả về

Tham sốKiểu dữ liệuMô tả
errorCodeIntegerMã lỗi trả về
messageStringMô tả chi tiết mã lỗi
transactionObjectThông tin giao dịch
transaction.phoneNumberStringSố điện thoại nạp
transaction.amountIntegerSố tiền giao dịch
transaction.productCodeStringMã sản phẩm
transaction.topupAmountStringSố tiền nạp
transaction.appotapayTransIdStringMã giao dịch phía AppotaPay
transaction.timeStringThời gian giao dịch (định dạng chuẩn RFC-3339)
accountObjectThông tin tài khoản
account.balanceIntegerSố dư tài khoản sau giao dịch
signatureStringChữ ký thông tin giao dịch trả về, các trường được ký bao gồm (amount + appotapayTransId + errorCode + phoneNumber + productCode + time + topupAmount) (xem thêm phần cách tạo signature)

Ví dụ

Request

{
"partnerRefId": "AB123",
"telco": "viettel",
"telcoServiceType": "prepaid",
"phoneNumber": "0866123456",
"productCode": "viettel_10",
"signature": "5a2774918a29cf4d2bdb78cccceb956f4c27837fad09a03a56e1df68b1bf29dd"
}

Response

{
"errorCode": 0,
"message": "Thành công",
"transaction": {
"phoneNumber": "0866123456",
"amount": 10000,
"productCode": "viettel_10",
"topupAmount": 10000,
"appotapayTransId": "01J7G2DYZTPCGHM3AAF8ANZC7J",
"time": "2024-09-13T17:48:06+07:00"
},
"account": {
"balance": "121000000"
},
"signature": "e5f61a7eca55ca1c5a1b6305acfa0e52f6d3d562de1b9780faf5f247ed10ab8d"
}