Kiểm tra giao dịch
API lấy thông tin giao dịch
Endpoint: GET
/api/v2/orders/transaction
Header Params
Tham số | Yêu cầu | Kiểu dữ li ệu | Mô tả | Lưu ý |
---|---|---|---|---|
X-APPOTAPAY-AUTH | required | String | Cách tạo JWT_TOKEN | |
Content-Type | required | String | Giá trị: application/json | |
X-Request-ID | optional | String | Định dạng UUIDv4. Request ID để kiểm tra yêu cầu khi xảy ra sự cố | max:40 |
X-Language | optional | String | Giá trị vi hoặc en tương ứng với link thanh toán sẽ là tiếng việt hoặc tiếng anh, (mặc định: vi ) | in:vi,en |
X-Account-Ref-ID | optional | String | Mã định danh của tài khoản Sub account do AppotaPay cung cấp. Bắt buộc truyền khi thanh toán giao dịch của Sub account loại owner |
{
"X-APPOTAPAY-AUTH": "JWT_TOKEN",
"Content-Type": "application/json",
"X-Request-ID": "Your_Unique_id",
"X-Language": "vi",
"X-Account-Ref-ID": "9723f73b-9295-4acb-884b-ab6310c2e653"
}
HTTP Request:
Tham số | Yêu cầu | Kiểu dữ liệu | Mô tả | Lưu ý |
---|---|---|---|---|
referenceId | required | String | Mã tham chiếu giao dịch | alphanumeric |
type | optional | String | Loại tham chiếu giao dịch
Mặc định là: |
Trong trường hợp type=
TRANSACTION_ID
, referenceId là mã giao dịch phía AppotaPay trả về cho đối tácTrong trường hợp type=
PARTNER_ORDER_ID
, referenceId là mã orderId phía đối tác truyền sang khi tạo giao dịch
HTTP Response:
Tham số | Yêu cầu | Kiểu dữ liệu | Mô tả |
---|---|---|---|
transaction | required | Object | Thông tin giao dịch |
transaction.transactionId | required | String | Mã giao dịch phía Appotapay |
transaction.reconciliationId | optional | String | Mã đối soát giao dịch khi giao dịch thành công |
transaction.partnerCode | required | String | Mã đối tác |
transaction.status | required | String | Trạng thái giao dịch |
transaction.errorCode | required | Integer | Bảng mã lỗi |
transaction.errorMessage | required | String | Mô tả lỗi |
transaction.orderAmount | required | Integer | Số tiền đơn hàng |
transaction.amount | required | Integer | Số tiền thanh toán với nhà cung cấp |
transaction.discountAmount | required | Integer | Số tiền giảm giá |
transaction.currency | required | String | Đơn vị tiền tệ |
transaction.bankCode | optional | String | Mã Ngân hàng khách hàng đã chọn |
transaction.paymentMethod | required | String | Phương thức thanh toán |
transaction.action | required | String | Loại thanh toán |
transaction.fee | optional | Object | Phí thanh toán |
transaction.fee.customer_fee | optional | String | Phí thanh toán tính cho khách hàng |
transaction.createdAt | required | String | Thời gian tạo giao dịch. (định dạng chuẩn RFC-3339) |
transaction.updatedAt | required | String | Thời gian cập nhật giao dịch. (định dạng chuẩn RFC-3339) |
partnerReference.order.id | required | String | Mã đơn hàng phía đối tác |
partnerReference.order.info | required | String | Thông tin đơn hàng |
partnerReference.order.extraData | required | String | Thông tin tuỳ chọn bổ sung |
promotionInfo | optional | String | Thông tin mã khuyến mại |
promotionInfo.id | required | String | Định danh mã khuyến mại |
promotionInfo.code | required | String | Code khuyến mại |
cardInfo | optional | Object | Trả về khi giao dịch thành công & có thông tin thẻ/tài khoản |
cardInfo.cardNumber | required | String | Số thẻ/ tài khoản |
cardInfo.cardName | optional | String | Tên chủ thẻ / tài khoản |
cardInfo.cardMonth | required | String | Tháng ghi trên thẻ định dạng DD, vd:07 |
cardInfo.cardYear | required | String | Năm ghi trên thẻ, định dạng YY, vd: 23 |
cardInfo.countryCode | optional | String | Mã quốc gia bao gồm 2 ký tự theo chuẩn ISO 3166-2 |
cardInfo.type | required | String | Hình thức thanh toán của giao dịch (card/account) |
installmentInfo | optional | Object | Trả về khi giao dịch là trả góp & có thông tin trả góp |
installmentInfo.installmentTransactionId | optional | String | Mã giao dịch trả góp |
installmentInfo.status | optional | String | Trạng thái chuyển đối trả góp |
installmentInfo.statusCancel | optional | String | Trạng thái huỷ trả góp |
installmentInfo.bankCode | optional | String | Ngân hàng trả góp |
installmentInfo.errorCode | optional | Integer | Mã lỗi (trả về khi status != success) |
installmentInfo.errorMessage | optional | String | Mô tả lỗi (trả về khi status != success) |
installmentInfo.paymentAmount | optional | String | Tổng số tiền trả góp |
installmentInfo.payPerMonth | optional | String | Số tiền trả góp mỗi tháng |
installmentInfo.gracePeriod | optional | String | Kỳ hạn trả góp |
installmentInfo.approvalCode | optional | String | Mã code giao dịch phía issue bank |
installmentInfo.createdAt | optional | String | Thời gian tạo giao dịch trả góp. (định dạng chuẩn RFC-3339) |
installmentInfo.updatedAt | optional | String | Thời gian cập nhật giao dịch trả góp. (định dạng chuẩn RFC-3339) |
installmentInfo.completedAt | optional | String | Thời gian hoàn thành giao dịch trả góp. (định dạng chuẩn RFC-3339) |
tokenInfo | optional | Object | Thông tin token đã lưu |
tokenInfo.token | optional | String | Mã token |
tokenInfo.status | optional | String | Trạng thái token |
tokenInfo.type | optional | String | Loại token (CARD / ACCOUNT) |
tokenInfo.number | optional | String | Số thẻ / tài khoản |
tokenInfo.holder_name | optional | String | Tên chủ thẻ / tài khoản |
tokenInfo.card_month | optional | String | Tháng hiệu lực / hết hạn in trên thẻ |
tokenInfo.card_year | optional | String | Năm hiệu lực / hết hạn in trên thẻ |
Bảng mã trạng thái
Trạng thái | Mô tả |
---|---|
pending | Giao dịch đang chờ xử lý. |
processing | Giao dịch đang tiến hành xử lý. |
success | Giao dịch thành công. |
error | Giao dịch thất bại. |
Example Response
{
"transaction": {
"transactionId": "AP231442984535",
"reconciliationId": "AP231442984535",
"partnerCode": "TEST",
"status": "pending",
"errorCode": 35,
"errorMessage": "Giao dịch đang chờ xử lý, vui lòng kiểm tra lại sau",
"orderAmount": 50000,
"amount": 50000,
"discountAmount": 0,
"currency": "VND",
"bankCode": "",
"paymentMethod": "ALL",
"action": "PAY",
"fee": {
"customer_fee": 0
},
"createdAt": "2023-11-27T14:46:20.000",
"updatedAt": "2023-11-27T14:46:20.000"
},
"partnerReference": {
"order": {
"id": "N8kOP8edZ",
"info": "test thanh toan",
"extraData": ""
}
},
"tokenInfo": {
"token": "1814074501511385",
"status": "active",
"type": "CARD",
"number": "400000-1091",
"holder_name": "",
"card_month": "03",
"card_year": "07"
},
"promotionInfo": null,
"cardInfo": null,
"installmentInfo": null
}
Thất bại
HTTP Status Code !=
200
Với errorCode trả về, vui lòng tham khảo bảng mã lỗi tại đây
Error response params
Tham số | Yêu cầu | Kiểu dữ liệu | Mô tả |
---|---|---|---|
errorCode | required | Integer | Mã lỗi |
message | required | String | Mô tả lỗi |
errors | optional | Array of Object | Mô tả lỗi chi tiết các trường nếu có |
errors.field | required | Object | Trường dữ liệu bị lỗi |
errors.reason | required | Object | Mô tả trường dữ liệu bị lỗi |
{
"errorCode": 1,
"message": "Invalid Params",
"errors": [
{
"field": "transaction.amount",
"reason": "Field amount is required"
},
{
"field": "transaction.currency",
"reason": "Field currency is required"
}
]
}
Bảng mã lỗi
Mã lỗi | Mô tả |
---|---|
1 | Thông tin yêu cầu thiếu hoặc không hợp lệ |
36 | Giao dịch không tồn tại |
500 | Hệ thống gặp lỗi, vui lòng thử lại sau |