Chuyển tới nội dung chính

GET - Lấy thông tin hóa đơn

Truy xuất trạng thái và chi tiết hóa đơn theo trans_id. Trả về trạng thái thanh toán, số tiền, thông tin token/network (nếu đã chọn), và chi tiết giao dịch (nếu đã hoàn thành). Chỉ trả về hóa đơn thuộc Store liên kết với API Key.

Endpoint

GET https://api.payerscan.com/invoice/:trans_id

Ví dụ: GET https://api.payerscan.com/invoice/TID-ABC123DEF4567890

Headers

HeaderBắt buộcMô tả
x-api-keyAPI Key của Store

Response

Thành công (HTTP 200)

Response cơ bản (luôn bao gồm):

{
"status": "success",
"data": {
"trans_id": "TID-ABC123DEF4567890",
"request_id": "ORDER_123456",
"status": "waiting",
"amount": "100",
"name": "Top-up balance",
"description": "Top-up the balance for username: JohnDoe",
"created_at": 1738742400,
"expires_at": 1738746000
}
}

Khi khách chọn token/network trên trang thanh toán, data có thêm:

{
"token_symbol": "USDT",
"network_symbol": "BSC",
"token_amount": "100.0026",
"token_price": "1",
"to_address": "0xc221460115e2CfCa5bF089A7e647b11cb9631efE"
}

Khi status = "completed", data có thêm:

{
"transaction_hash": "0xd346b32b83b35376d42a2464598fbf565fffb39e...",
"from_address": "0x8894e0a0c962cb723c1976a4421c95949be2d4e3",
"fee_amount": "0.2",
"callback_status": "success"
}

Mô tả các trường

TrườngMô tả
trans_idMã hóa đơn duy nhất.
request_idID đơn hàng của bạn (nếu có khi tạo).
statuswaiting | processing | completed | expired.
amountSố tiền USD (string).
nameTên/title hóa đơn (nếu có khi tạo).
descriptionMô tả hóa đơn (nếu có khi tạo).
created_atThời gian tạo (Unix timestamp, giây).
expires_atThời gian hết hạn (Unix timestamp, giây).
token_symbolToken đã chọn (ví dụ: USDT, BNB). Chỉ sau khi khách chọn.
network_symbolMạng lưới (ví dụ: BSC, TRC20, ETH, BINANCE_PAY). Chỉ sau khi khách chọn.
token_amountSố lượng crypto cần chuyển. Chỉ sau khi khách chọn.
token_priceTỷ giá tại thời điểm chọn. Chỉ sau khi khách chọn.
to_addressĐịa chỉ ví nhận. Chỉ sau khi khách chọn.
transaction_hashHash giao dịch blockchain. Chỉ khi status = "completed".
from_addressĐịa chỉ ví người gửi. Chỉ khi status = "completed".
fee_amountPhí đã trừ (USD). Chỉ khi status = "completed".
callback_statusTrạng thái gửi webhook: success | failed | null. Chỉ khi status = "completed".

Lỗi (4xx / 5xx)

HTTPerror_codeMô tả
400MISSING_TRANS_IDThiếu trans_id trong URL.
400INVALID_TRANS_ID_FORMATtrans_id không đúng định dạng. Yêu cầu: TID-XXXXXXXXXXXXXXXX (16 ký tự chữ-số viết hoa). detailstrans_idexpected_format.
401MISSING_API_KEYKhông có header x-api-key.
401INVALID_API_KEYAPI key không hợp lệ hoặc không tồn tại.
403ACCOUNT_INACTIVETài khoản liên kết với API key này đã bị vô hiệu hóa.
403STORE_INACTIVEStore liên kết với API key này đã bị vô hiệu hóa.
404INVOICE_NOT_FOUNDKhông tìm thấy hóa đơn hoặc không thuộc Store của API Key. details.trans_id chứa giá trị đã gửi.
429RATE_LIMIT_EXCEEDEDVượt giới hạn request.
500INTERNAL_ERRORLỗi server.

Định dạng body lỗi:

{
"status": "error",
"message": "Invoice not found.",
"error_code": "INVOICE_NOT_FOUND",
"details": { "trans_id": "TID-ABC123DEF4567890" }
}

Rate Limit

  • Burst: 20 request/giây (theo API Key hoặc IP).
  • Sustained: 200 request/phút (theo API Key hoặc IP).

Trường hợp sử dụng

  • Polling: Gọi định kỳ GET https://api.payerscan.com/invoice/:trans_id để cập nhật trạng thái UI (khi không dùng webhook làm nguồn chính).
  • Đối soát: Tra cứu hóa đơn theo trans_id từ email, ticket, v.v.
  • Trang hiển thị trạng thái: Sau khi khách thanh toán, hiển thị thông tin từ API này.