API hủy VA

Hủy một VA cụ thể của đơn hàng qua SePay API. Chỉ VA trạng thái Unpaid mới có thể hủy, để tránh xử lý thanh toán trùng lặp.

||

Hủy VA

DELETE
https://userapi.sepay.vn/v2/bank-accounts/{ba_xid}/orders/{order_xid}/va/{va_number}
Lưu ý

Chỉ VA trạng thái Unpaid mới có thể hủy. Endpoint này chỉ hủy một VA cụ thể, đơn hàng cha vẫn giữ nguyên trạng thái.

Tham số

ba_xidstringrequired

UUID tài khoản ngân hàng

order_xidstringrequired

UUID đơn hàng

va_numberstringrequired

Số VA

Code mẫu

>
>
>
curl --request DELETE \
--url https://userapi.sepay.vn/v2/bank-accounts/f9e8d7c6-b5a4-3210-fedc-ba0987654321/orders/b2c3d4e5-f6a7-8901-bcde-f12345678902/va/963NQDORD1234567890AB \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response (HTTP 204)

Body rỗng.

Quy tắc hủy theo ngân hàng

Hành viBIDVSacombankVietcombankVietinBankShinhan Bank
Chuyển VA sang CancelledCóCóCóCóCó
Có thể trả lỗi từ chối hủyKhôngKhôngCó: 403 vcb_cancel_not_allowed, 500 vcb_cancel_error, hoặc 503 vcb_connection_errorKhôngCó: 500 shinhan_cancel_error hoặc 503 shinhan_connection_error
VA Vietcombank

VA Vietcombank có thể không hủy được nếu hóa đơn đã thanh toán hoặc đã hủy ở phía Vietcombank. Tham khảo bảng lỗi bên dưới.

VA Shinhan Bank

SePay hủy số VA với ngân hàng trước, rồi mới chuyển trạng thái sang Cancelled. Nếu ngân hàng báo số VA không còn tồn tại, SePay coi như đã hủy thành công, nên gọi lại nhiều lần vẫn an toàn.

Lỗi

HTTPerror_codeMô tả
403vcb_cancel_not_allowedVietcombank: hóa đơn đã thanh toán hoặc đã hủy, không thể hủy được nữa. Liên hệ SePay nếu cần hỗ trợ.
404-VA không tồn tại hoặc không thuộc đơn hàng / tài khoản đã xác thực
422invalid_stateTrạng thái VA không cho phép hủy (chỉ hủy được VA Unpaid)
500vcb_cancel_errorVietcombank: lỗi không xác định khi hủy. Liên hệ SePay.
503vcb_connection_errorVietcombank: dịch vụ tạm thời gián đoạn. Vui lòng thử lại sau ít phút.