Nhảy tới nội dung
Phiên bản: Lastest

Refund: Create

API refund có thể sử dụng khi khách hàng muốn hoàn trả lại giao dịch đã thanh toán thành công. Hoàn trả chỉ thực hiện được với các giao dịch có trạng thái CAPTURED

Hệ thống AppotaPay cho phép thực hiện hoàn trả 1 phần và thực hiện hoàn trả nhiều lần với 1 giao dịch capture thành công, với điều kiện tổng tiền yêu cầu hoàn trả cần nhỏ hơn số tiền đã capture.

Quá trình hoàn trả sẽ cần khoảng 1-3 ngày tuỳ vào từng issuing bank (có một số ngân hàng bạn cần chờ đến 14 ngày).

Thời gian tối đa để thực hiện hoàn trả với 1 giao dịch là 6 tháng, từ thời điểm giao dịch capture thành công.

EndPoint

POST /credit-card/refund

Header Params

{
Content-Type: "application/json",
X-APPOTAPAY-AUTH: "your_auth_token",
Language: "vi", // option vi | en, default vi
X-Request-ID: "your_request_id" // optional - easy to debug request
}

Request Params

Tham sốYêu cầuKiểu dữ liệuMô tảLưu ý
transactionIdrequiredStringMã giao dịch thanh toán đã thành công phía Appotapay trả về
merchantRefIdrequiredStringMã tham chiếu, định danh cho yêu cầu khởi tạo từ merchantMin: 1 Max:40
amountrequiredStringSố tiền hoànMin: 1000
Hỗ trợ: VND
currencyrequiredStringĐơn vị tiền hoànHỗ trợ: VND

Example Request

{
"merchantRefId": "7Xthy1kbi",
"transactionId": "01HJAG6Q3XMJBRJW28N1T8D6MM",
"amount": 1000000,
"currency": "VND"
}

Response Params

{
"refundId": "01HQJ41Q7135ZNJTKTWB92BTVH",
"transactionId": "01HQHRWBC773J6CJV9VRZMBXD2",
"merchantRefId": "S68O0whWv",
"amount": 500000,
"currency": "VND",
"status": "success",
"createdAt": "2024-02-26T14:11:12+07:00",
"updatedAt": "2024-02-26T14:11:15+07:00"
}

Thành công

Http Status Code 200 - OK

Tham sốKiểu dữ liệuMô tả
refundIdStringMã giao dịch refund phía AppotaPay
transactionIdStringMã giao dịch thanh toán gốc phía AppotaPay
merchantRefIdStringMã tham chiếu, merchant gửi trong request
amountStringSố tiền hoàn
currencyStringĐơn vị tiền hoàn
statusStringTrạng thái hoàn trả:
success: Gửi yêu cầu Hoàn trả thành công (AppotaPay đã tiếp nhận yêu cầu)
error: Hoàn trả thất bại
pending: Chờ xử lý
errorInformationObjectLý do thất bại
errorInformation.errorCodeIntegerMã lỗi thất bại, xem chi tiết tại error code
errorInformation.messageStringMô tả lý do thất bại
errorInformation.detailsArray or ObjectChi tiết thông tin thất bại
errorInformation.details.fieldStringTrường gây ra lỗi
errorInformation.details.reasonStringLý do
createdAtStringThời gian khởi tạo giao dịch theo chuẩn RFC-3339, time zone UTC+7
updatedAtStringThời gian cập nhật giao dịch gần nhất theo chuẩn RFC-3339, time zone UTC+7

Thất bại

HTTP Status Code != 200