API Tạo hóa đơn thanh toán
Endpoint: /api/v1/service/ebill/create
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ả | Ghi chú |
---|---|---|---|---|
billCode | √ | String | Mã đơn hàng phía Partner, là mã duy nhất cho mỗi đơn hàng | max_length:50 |
billInfo | √ | String | Thông tin mô tả hóa đơn | max_length:150 |
billExpiryTime | Integer | Thời gian hết hạn giao dịch thanh toán hóa đơn. Truyền lên time dạng Unix timestamp (Lưu ý) | ||
customerName | √ | String | Tên người thanh toán. - Tiếng việt không dấu - Chỉ nhập các kí tự A-Z, a-z và 0-9 - Không nhập ký tự đặc biệt: Ví dụ: -,_,\ | max_length:100 |
serviceCode | String | Dịch vụ thanh toán | max_length:30 | |
amount | √ | Integer | Số tiền giao dịch. | min_length: 4 max_length: 10 |
paymentCondition | √ | String | Điều kiện thanh toán gồm có: EQ: Số tiền chuyển khoản bằng số tiền hóa đơn LTE: Số tiền chuyển khoản nhỏ hơn hoặc bằng số tiền hóa đơn GTE: Số tiền chuyển khoản lớn hơn hoặc bằng số tiền hóa đơn NO: Không giới hạn số tiền chuyển khoản (Giá trị cột "amount" có thể truyền bất kỳ số tiền >= 10000, VD amount=10000) Điều kiện thanh toán phụ thuộc vào ngân hàng, đối tác nên kiểm tra giá trị amount khi nhận IPN (Lưu ý) | |
bankCode | √ | String | Ngân hàng thanh toán | max_length:30 |
notifyUrl | √ | String | API của đối tác được AppotaPay sử dụng để gửi kết quả thanh toán theo phương thức IPN (Server to server) | |
extraData | String | Thông tin thêm | max_length:500 | |
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 + bankCode + billCode + billExpiryTime + billInfo + customerName + extraData + notifyUrl + paymentCondition + serviceCode (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 | Chi tiết mã lỗi |
billCode | String | Mã đơn hàng, là mã duy nhất cho mỗi đơn hàng |
payment | Object | Thông tin thanh toán |
payment.bankAccounts | Array of Object | Thông tin tài khoản thanh toán |
payment.bankAccounts.bankCode | String | Mã ngân hàng |
payment.bankAccounts.bankName | String | Tên ngân hàng |
payment.bankAccounts.bankBranch | String | Chi nhánh ngân hàng |
payment.bankAccounts.accountNo | String | Số tài khoản nhận tiền |
payment.bankAccounts.accountName | String | Tên tài khoản nhận tiền |
signature | String | Chữ ký các tham số trả về từ API, các tham số được đưa vào chữ ký theo thứ tự bao gồm: billCode + errorCode + json_encode(payment) (xem thêm phần cách tạo signature) |
Ví dụ
Request
{
"billCode": "60586f8d6a684",
"billInfo": "Thanh toán hóa đơn",
"serviceCode": "GAME",
"customerName": "NGUYEN VAN A",
"notifyUrl": "https://yourdomain.com/ipn",
"amount": 50000,
"billExpiryTime": 1616818154,
"paymentCondition": "NO",
"bankCode": "WOORIBANK",
"signature": "abc123"
}
Response
{
"errorCode": 0,
"message": "Thành công",
"billCode": "60586f8d6a684",
"payment": {
"bankAccounts": [{
"bankCode": "WOORIBANK",
"bankName": "WOORIBANK",
"bankBranch": "",
"accountNo": "902000225675",
"accountName": "AP NGUYEN VAN A"
}]
},
"signature": "07a0127c496a24e1a72e5eb123da1e7bc603bbf444babc41fde20 63e5438a89f"
}