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

API Hoàn tiền

Đối tác có thể thực hiện hoàn trả với các cycle đã thanh toán thành công trong vòng 180 ngày kể từ ngày giao dịch thành công. Đối tác có thể gửi yêu cầu hoàn trả toàn phần hoặc một phần, với hoàn trả một phần khách hàng có thể thực hiện nhiều lân với điều kiện tổng tiền hoàn trả một phần nhỏ hơn hoặc bằng số tiền đã thanh toán.

Endpoint: /api/v1/subs/refunds

Method: POST

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"
}

Tham số

Tham sốYêu cầuKiểu dữ liệuMô tảLưu ý
refundRefIdRequiredStringMã tham chiếu giao dịch hoàn tiền phía đối tácmin:1, max: 50, format: alphanumeric
attemptIdRequiredStringMã định danh cho attempt thanh toán thành công trong cycle cần thực hiện refund. Mã được trả trong cycle object
amountRequiredIntegerSố tiền hoàn
currencyRequiredStringĐơn vị tiền tệin: VND
reasonRequiredStringLý do hoàn tiền

- FRAUDULENT: Lừa đảo

- DUPLICATE: Bị trùng

- REQUESTED_BY_CUSTOMER: Yêu cầu của khách

- CANCELLATION: Hủy bỏ

- OTHER: khác

Example Request

{
"refundRefId": "ASKJLKALK20398141",
"attemptId": "01HY2TRW9EBTPWGPJDGPD9JMA9",
"reason": "REQUESTED_BY_CUSTOMER",
"currency": "VND",
"amount": 10000
}

Dữ liệu trả về

Thành công

Http Status Code 200 - OK

Dữ liệu trả về thành công sẽ chứa một Refund object

Thất bại

HTTP Status Code != 200

Error response params

Tham sốYêu cầuKiểu dữ liệuMô tả
errorCoderequiredIntegerMã lỗi
messagerequiredStringMô tả lỗi
errorsoptionalArrayMô tả lỗi chi tiết các trường nếu có
errors.*.fieldoptionalStringTrường dữ liệu bị lỗi
errors.*.reasonoptionalStringMô tả trường dữ liệu bị lỗi
{
"errorCode": 3002,
"message": "Mã tham chiếu Partner đã bị trùng, vui lòng thực hiện lại"
}

Bảng mã lỗi thường gặp

Mã lỗi đầy đủ vui lòng xem tại đây

Mã lỗiMô tả
0Thành công
1Thông tin yêu cầu thiếu hoặc không hợp lệ
11Partner không tồn tại
13Partner đã bị khoá
14API Key không tồn tại
15API Key chưa được kích hoạt hoặc đã bị khoá
92IP không được phép truy cập
99Lỗi không xác định, vui lòng liên hệ AppotaPay để biết thêm thông tin chi tiết
110Tổng số tiền refund vượt quá số tiền giao dịch
125Không thể hoàn tiền cho giao dịch vì đã quá thời hạn hoàn tiền
401Lỗi xác thực
500Hệ thống gặp lỗi, vui lòng thử lại sau
3002Mã tham chiếu Partner đã bị trùng, vui lòng thực hiện lại
3057Cycle attempt không hợp lệ