Endpoint #
GET /wp-json/rtcl/v1/my/manage/orders
Description #
Returns a paginated list of payment orders for administrators or RTCL managers.
Supports search, filtering by status, sorting, and pagination.
Authentication & Permission #
Required #
- Valid JWT Bearer Token
- REST API must be enabled in settings
- User role must be:
administratororrtcl_manager
Required Headers #
| Header | Value |
|---|---|
| Authorization | Bearer YOUR_JWT_TOKEN |
| X-API-KEY | YOUR_API_KEY |
| Content-Type | application/json |
Query Parameters #
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| search | string | ❌ No | — | Search orders by keyword |
| per_page | integer | ❌ No | 20 | Items per page (1–100) |
| page | integer | ❌ No | 1 | Page number |
| order_by | string | ❌ No | — | Order field (date, id, etc.) |
| order | string | ❌ No | — | Sort order (ASC or DESC) |
| status | string | ❌ No | any | Order status |
Allowed status values #
rtcl-pending
rtcl-processing
rtcl-on-hold
rtcl-completed
rtcl-cancelled
rtcl-refunded
rtcl-failed
rtcl-created
cURL Example #
curl -X GET "https://demo-site.com/wp-json/rtcl/v1/my/manage/orders?status=rtcl-completed&per_page=10&page=1" \
-H "Authorization: Bearer DEMO_JWT_TOKEN" \
-H "Content-Type: application/json"
Demo Success Response #
{
"data": [
{
"id": 1001,
"price": "49.00",
"method": "Offline",
"status": "completed",
"transaction_id": "TXN-DEMO-001",
"order_key": "rtcl_order_demo_001",
"paid_date": "",
"created_date": "2026-01-15 10:30:00",
"gateway": {
"id": "offline",
"title": "Direct Bank Transfer",
"icon": null,
"instructions": "Please transfer the amount to our demo bank account using your Order ID as reference.",
"description": "Offline payment via bank transfer (demo)."
}
},
{
"id": 1002,
"price": "99.00",
"method": "Offline",
"status": "completed",
"transaction_id": "TXN-DEMO-002",
"order_key": "rtcl_order_demo_002",
"paid_date": "",
"created_date": "2026-01-16 14:45:00",
"gateway": {
"id": "offline",
"title": "Direct Bank Transfer",
"icon": null,
"instructions": "Use your demo Order ID as payment reference when completing the transfer.",
"description": "Manual offline payment method (demo)."
}
}
],
"pagination": {
"total": 2,
"count": 2,
"per_page": 20,
"current_page": 1,
"total_pages": 1
}
}
Error Responses #
Not Logged In #
{
"code": "FORBIDDEN",
"message": "You are not logged in.",
"data": {
"status": 403
}
}
Not Authorized (Wrong Role) #
{
"code": "FORBIDDEN",
"message": "You are not authorized to access.",
"data": {
"status": 403
}
}
REST API Disabled #
{
"code": "DENIED_REST_API",
"message": "Denied api call",
"data": {
"status": 403
}
}
Missing / Invalid Authentication #
{
"status": "error",
"error": "INVALID_API_KEY",
"code": "401",
"error_message": "Invalid API key or authorization token."
}
Missing Authorization Header #
{
"status": "error",
"error": "MISSING_AUTHORIZATION_HEADER",
"code": "401",
"error_message": "Authorization header not received. Either authorization header was not sent or it was removed by your server due to security reasons."
}
Invalid Authorization Token Type #
{
"status": "error",
"error": "INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE",
"code": "401",
"error_message": "Authorization header must be type of Bearer Token."
}
Invalid JWT Format (Segment Fault) #
{
"status": "error",
"error": "SEGMENT_FAULT",
"code": "401",
"error_message": "Incorrect JWT Format."
}
Invalid JWT Signature #
{
"status": "error",
"error": "INVALID_TOKEN",
"code": "401",
"error_message": "JWT signature verification failed."
}