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

API Lấy danh sách cycle của plan

Endpoint: /api/v1/subs/plans/{planId}/cycles

Method: GET

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-APPOTAPAY-AUTH": "JWT_TOKEN",
"Content-Type": "application/json",
"X-Request-ID": "Your_Unique_id",
"Language": "vi"
}

Tham số

Tham sốYêu cầuKiểu dữ liệuMô tảValidate
pageRequiredIntegerTrang muốn lấy, default: 1
limitRequiredIntegerSố item trên một trang, default:20

Dữ liệu trả về

Tham sốYêu cầuKiểu dữ liệuMô tả
dataRequiredArrayDữ liệu trả về
data.*.cycleIdRequiredStringCycle ID
data.*.cycleNumberRequiredIntegerSố thứ tự của cycle
data.*.currencyRequiredIntegerĐơn vị tiền tệ
data.*.amountRequiredIntegerSố tiền thanh toán
data.*.scheduledAtRequiredStringThời gian dự kiến thanh toán (định dạng chuẩn ISO-8601)
data.*.statusRequiredString

Trạng thái của cycle:

- SCHEDULED: cycle đã được khởi tạo và chờ đến thời gian thực hiện

- PENDING: quá trình thanh toán định kỳ đang diễn ra (cycle không thể cập nhật)

- RETRYING: cycle cần thực hiện thanh toán lại

- FAILED: tất cả các attempt/retry được cấu hình thực hiện cho cycle đều thất bại

- SUCCEEDED: cycle thực hiện thanh toán thành công

- CANCELLED: cycle bị huỷ do yêu cầu từ merchant

data.*.createdAtRequiredStringThời gian tạo cycle (ISO 8601)
data.*.updatedAtRequiredStringThời gian cập nhật (ISO 8601)
metaRequiredObjectThông tin phân trang
meta.pageRequiredIntegerTrang hiện tại
meta.limitRequiredIntegerSố item trên một trang
meta.totalRequiredIntegerTổng số item
meta.pagesRequiredIntegerTổng số trang

Thành công

Http Status Code 200 - OK

{
"data": [
{
"cycleId": "01HRVK1SZ5DTDQNRSBYCE14D81",
"cycleNumber": 4,
"currency": "VND",
"amount": 85000,
"scheduledAt": "2024-01-29T17:20:47+07:00",
"status": "CANCELLED",
"createdAt": "2024-01-26T17:30:30+07:00",
"updatedAt": "2024-01-27T17:45:31+07:00"
},
{
"cycleId": "01HRVK22S1ZA0Y3HYXFPZV23EY",
"cycleNumber": 3,
"currency": "VND",
"amount": 405100,
"scheduledAt": "2024-01-26T17:30:00+07:00",
"status": "FAILED",
"createdAt": "2024-01-26T17:22:18+07:00",
"updatedAt": "2024-01-27T17:41:59+07:00"
},
{
"cycleId": "01HRVK2D64BD35WVBCS65SNH07",
"cycleNumber": 1,
"currency": "VND",
"amount": 85000,
"scheduledAt": "2024-01-26T17:20:47+07:00",
"status": "SUCCEEDED",
"createdAt": "2024-01-26T17:20:51+07:00",
"updatedAt": "2024-01-26T17:20:51+07:00"
},
{
"cycleId": "01HRVK2NEYCHVZYJG3CK3HEQMQ",
"cycleNumber": 2,
"currency": "VND",
"amount": 85000,
"scheduledAt": "2024-01-27T17:20:47+07:00",
"status": "SUCCEEDED",
"createdAt": "2024-01-26T17:20:51+07:00",
"updatedAt": "2024-01-26T17:22:18+07:00"
}
],
"meta": {
"page": 1,
"limit": 10,
"total": 4,
"pages": 1
}
}

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": 3005,
"message": "Plan không tồn tạ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
401Lỗi xác thực
500Hệ thống gặp lỗi, vui lòng thử lại sau
3005Plan không tồn tại