1️Gọi API Check Transaction

Dùng để tra soát thông tin các giao dịch đã thực hiện.

POST

https://<vietqr-host>/<basepath>/api/transactions/check-order

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Body

NameTypeRequiredDescription

bankAccount

String

Yes

Số tài khoản ngân hàng.

type

String

Yes

Check by orderId: 0 Check by referenceNumber: 1

value

String

Yes

Giá trị làorderId nếu type = 0 Giá trị làreferenceNumber nếu type = 1

checkSum

String

Yes

Chuỗi mã hóa MD5 của tổ hợp:

(bankAccount + username)

Response

[
    {
        "referenceNumber": "mã_giao_dịch",
        "orderId": "mã_đơn_hàng",
        "amount": số_tiền_giao_dịch,
        "content": "nội_dung_thanh_toán",
        "transType": "giao_dịch_đến_hoặc_đi",
        "status": phân_loại_trạng_thái_giao_dịch_theo_số,
        "type": phân_loại_giao_dịch_theo_số,
        "timeCreated": tem_thời_gian_tạo_mã_QR,
        "timePaid": tem_thời_gian_thanh_toán,
        "terminalCode": "mã_điểm_bán",
        "note": "ghi_chú_giao_dịch",
        "refundCount": số_lần_đã_hoàn_tiền_thuộc_giao_dịch_này,
        "amountRefunded": số_tiền_đã_hoàn_tiền_thuộc_giao_dịch_này
    }
]

Giá trị trả về của type:

  • 0: Giao dịch từ mã VietQR động.

  • 1: Giao dịch từ mã VietQR tĩnh.

  • 2: Giao dịch ngoài hệ thống VietQR.

  • 3: Giao dịch từ mã VietQR bán động.

  • 6: Giao dịch hoàn tiền.

Giá trị trả về của status:

  • 0: Giao dịch chờ thanh toán.

  • 1: Giao dịch đã thanh toán.

  • 2: Giao dịch hết hạn thanh toán.


Code mẫu

curl --location 'https://api.vietqr.org/vqr/api/transactions/check-order' \
--header 'Cookie: JSESSIONID=5CAD2D74C5EBDF9B1CAC5684F2DB47CE; JSESSIONID=C1711954475F66AE09967ADFFA4C80CD; JSESSIONID=F40E5CBDEEB02F82DF40BAD476A6222B' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJhdXRob3JpdGllcyI6WyJST0xFX1VTRVIiXSwidXNlciI6IlkzVnpkRzl0WlhJdGJtZDFlV1Z1TFhWelpYSXlORGt5IiwiaWF0IjoxNzIxMzc2MzQ2LCJleHAiOjE3MjEzNzY2NDZ9.QfnN8-p79uB8w5rTRmuOBoANrku276Jtzd7osltE9-E1zQfiXo0YlGCiX1cOHe4A0_VRWJPC5s0tymhND2kGnQ' \
--data '{
    "bankAccount": "tài_khoản_ngân_hàng",
    "type": "loại_check_giao_dịch: 0: mã_đơn_hàng, 1: mã_giao_dịch",
    "value": "giá_trị_cần_check",
    "checkSum": "HASH MD5 128 bit của: bankAccount + username"
    }'

Các câu hỏi thường gặp

API Check Transaction dùng để làm gì?

API này được sử dụng để kiểm tra trạng thái của một giao dịch cụ thể trước khi thực hiện các thao tác tiếp theo như hoàn tiền.

checkSum là gì và tại sao nó quan trọng?

checkSum là một chuỗi mã hóa MD5 128 bit của các giá trị bankAccountusername, đảm bảo tính toàn vẹn và bảo mật của yêu cầu. Nó giúp xác thực rằng dữ liệu không bị thay đổi trong quá trình truyền.

Nếu API Check Transaction trả về trạng thái "FAILED", điều đó có nghĩa là gì?

Trạng thái "FAILED" có thể chỉ ra rằng mã giao dịch hoặc mã đơn hàng không hợp lệ, hoặc giao dịch đã bị hủy. Bạn nên kiểm tra lại các thông tin đầu vào hoặc liên hệ với bộ phận hỗ trợ.

Làm thế nào để xử lý các lỗi phổ biến khi sử dụng API Check Transaction?
  • Một số lỗi phổ biến bao gồm:

    • Sai thông tin đầu vào (bankAccount, value, hoặc checkSum không chính xác).

    • Token hết hạn hoặc không hợp lệ.

    • Kết nối không thành công.

  • Đảm bảo rằng bạn đã kiểm tra kỹ các thông tin và token trước khi gọi API.

Tôi có thể kiểm tra trạng thái của bất kỳ giao dịch nào bằng API này không?

Bạn chỉ có thể kiểm tra trạng thái của các giao dịch đã thực hiện qua hệ thống VietQR và phải cung cấp thông tin chính xác tương ứng với mã giao dịch hoặc mã đơn hàng.

Last updated