API Nạp tiền điện thoại
Endpoint: /api/v1/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ầu | Kiểu dữ liệu | Mô tả |
---|---|---|---|
partnerRefId | √ | String | Mã giao dịch phía đối tác, duy nhất cho mỗi giao dịch |
telco | √ | String | Tên nhà mạng (xem thêm phần Phụ Lục bảng nhà mạng) |
telcoServiceType | √ | String | Loại dịch vụ (xem thêm phần Phụ Lục bảng mã dịch vụ) |
phoneNumber | √ | String | Số điện thoại nạp tiền (truyền dạng: 09x, 08x,..) |
amount | √ | Integer | Số tiền nạp |
signature | √ | String | Chữ 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: amount + partnerRefId + phoneNumber + telco + telcoServiceType (xem thêm phần cách tạo signature) |
Dữ liệu trả về
Tham số | Kiểu dữ liệu | Mô tả |
---|---|---|
errorCode | Integer | Mã lỗi trả về |
message | String | Mô tả chi tiết mã lỗi |
transaction | Object | Thông tin giao dịch |
transaction.phoneNumber | String | Số điện thoại nạp |
transaction.amount | Integer | Số tiền giao dịch |
transaction.topupAmount | String | Số tiền nạp |
transaction.appotapayTransId | String | Mã giao dịch phía AppotaPay |
transaction.time | String | Thời gian giao dịch |
account | Object | Thông tin tài khoản |
account.balance | Integer | Số dư tài khoản sau giao dịch |
signature | String | Chữ ký thông tin giao dịch trả về, các trường được ký bao gồm (amount + appotapayTransId + errorCode + phoneNumber + time + topupAmount) |
Ví dụ
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"
}