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

Tham sốYêu cầuKiểu dữ liệuMô tảLưu ý
X-APPOTAPAY-AUTHrequiredString Cách tạo JWT_TOKEN
Content-TyperequiredStringGiá trị: application/json
X-Request-IDoptionalStringĐịnh dạng UUIDv4. Request ID để kiểm tra yêu cầu khi xảy ra sự cốmax:42
LanguageoptionalStringGiá 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-IDoptionalString

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",
"Language": "vi",
"X-Account-Ref-ID": "9723f73b-9295-4acb-884b-ab6310c2e653"
}

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