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ầu | Kiểu dữ liệu | Mô tả | Lưu ý |
---|---|---|---|---|
X-APPOTAPAY-AUTH | required | String | Cách tạo JWT_TOKEN | |
Content-Type | required | String | Giá trị: application/json | |
X-Request-ID | optional | String | Định dạng UUIDv4. Request ID để kiểm tra yêu cầu khi xảy ra sự cố | max:42 |
Language | optional | String | Giá 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ầu | Kiểu dữ liệu | Mô tả | Validate |
---|---|---|---|---|
page | Required | Integer | Trang muốn lấy, default: 1 | |
limit | Required | Integer | Số item trên một trang, default:20 |
Dữ liệu trả về
Tham số | Yêu cầu | Kiểu dữ liệu | Mô tả |
---|---|---|---|
data | Required | Array | Dữ liệu trả về |
data.*.cycleId | Required | String | Cycle ID |
data.*.cycleNumber | Required | Integer | Số thứ tự của cycle |
data.*.currency | Required | Integer | Đơn vị tiền tệ |
data.*.amount | Required | Integer | Số tiền thanh toán |
data.*.scheduledAt | Required | String | Thời gian dự kiến thanh toán (định dạng chuẩn ISO-8601) |
data.*.status | Required | String | 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.*.createdAt | Required | String | Thời gian tạo cycle (ISO 8601) |
data.*.updatedAt | Required | String | Thời gian cập nhật (ISO 8601) |
meta | Required | Object | Thông tin phân trang |
meta.page | Required | Integer | Trang hiện tại |
meta.limit | Required | Integer | Số item trên một trang |
meta.total | Required | Integer | Tổng số item |
meta.pages | Required | Integer | Tổ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ầu | Kiểu dữ liệu | Mô tả |
---|---|---|---|
errorCode | required | Integer | Mã lỗi |
message | required | String | Mô tả lỗi |
errors | optional | Array | Mô tả lỗi chi tiết các trường nếu có |
errors.*.field | optional | String | Trường dữ liệu bị lỗi |
errors.*.reason | optional | String | Mô tả trường dữ liệu bị lỗi |
{
"errorCode": 3005,
"message": "Plan không tồn tại"
}