PayOrc
Subscription Plan

List Subscription Plans

Retrieve and filter your subscription plans with pagination and various filter parameters.

List Subscription Plans

Version: 3.0.0

Generate an API Key for the Subscription channel before making requests.

Retrieve a paginated list of all subscription plans associated with your merchant account. Use query parameters to filter by date ranges, currency, status, billing details, or search by plan ID/name.

Endpoint

MethodURL
GEThttps://api.payorc.com/subscriptions/v1/list

Please use the test credentials for sandbox testing.

Authentication

HeaderTypeDescription
merchant-keyStringYour merchant key (e.g. live-D111PIS13YK)
merchant-secretStringYour merchant secret (e.g. sec-JI11G0P13Z0)

Query Parameters

ParameterTypeRequiredDescription
perpageIntegerYesNumber of records per page (1–1000).
pageIntegerYesPage number (1–1000, e.g., 1).
plan_id_or_nameStringNoFilter by plan ID or name.
created_from_dateDateNoFilter by created date, starting from this date. Format: YYYY-MM-DD.
created_to_dateDateNoFilter by created date, up to this date. Format: YYYY-MM-DD.
modified_from_dateDateNoFilter by modified date, starting from this date. Format: YYYY-MM-DD.
modified_to_dateDateNoFilter by modified date, up to this date. Format: YYYY-MM-DD.
subscribe_from_dateDateNoFilter by subscription date, starting from this date. Format: YYYY-MM-DD.
subscribe_to_dateDateNoFilter by subscription date, up to this date. Format: YYYY-MM-DD.
currencyStringNoFilter by currency of the plan (3-letter code).
statusStringNoFilter by plan status: Active, Deactivated, or Expired.
billing_intervalIntegerNoFilter by billing interval of the plan.
billing_frequencyStringNoFilter by billing frequency: yearly, monthly, weekly, or daily.
installment_amountNumberNoFilter by amount of each installment.
total_termsIntegerNoFilter by total number of terms.

perpage and page are required on every request. Response dates use DD-MM-YYYY HH:mm:ss; request filter dates use YYYY-MM-DD.

Response (200 OK)

FieldTypeDescription
dataArrayList of plan objects.
messageStringResponse message.
statusStringsuccess or error.
codeStringStatus code, e.g., 00 for success.
total_recordsIntegerTotal number of records in the list.

Each plan object includes:

FieldTypeDescription
data_idStringEncrypted plan identifier — use for details, update, activate, deactivate, send-mail
merchant_nameStringName of the merchant.
super_merchant_nameStringName of the super merchant.
plan_idStringPlain display plan number
plan_nameStringName of the plan.
plan_descriptionStringDescription of the plan.
billing_frequencyObjectBilling frequency and interval.
installment_amountObjectAmount and currency of each installment.
termsObjectTerms of the plan including discounts and duration.
statusStringStatus of the plan.
start_dateStringStart date of the plan (dd-mm-yyyy HH:MM:SS).
expiry_dateStringExpiry date of the plan (dd-mm-yyyy HH:MM:SS).
initial_payment_amountStringAmount of the initial payment.
final_payment_amountStringAmount of the final payment.
shipping_feeNumberShipping fee applicable to the plan.
convenience_feeNumberConvenience fee applicable to the plan.
create_atStringTimestamp when the plan was created.
last_modified_dateStringTimestamp of the last modification.
noteStringAny additional notes related to the plan.
product_detailsStringProduct-related information shown to the customer.
qr_codeStringBase64-encoded image data (data URI) of the plan's QR code.
payment_linkStringPayment link to complete the plan subscription.

Code Examples

curl --location 'https://api.payorc.com/subscriptions/v1/list?perpage=10&page=1' \
--header 'merchant-key: YOUR_MERCHANT_KEY' \
--header 'merchant-secret: YOUR_MERCHANT_SECRET' \
--header 'Content-Type: application/json'

Example Response

{
    "data": [
        {
            "data_id": "MUR3TUk4NU4xc1h0SmJDb2J1JzZz09",
            "merchant_name": "DEMOACCOUNT",
            "super_merchant_name": "John",
            "plan_id": "10000005",
            "plan_name": "Plan plan",
            "plan_description": "",
            "billing_frequency": {
                "frequency": "Daily",
                "interval": 2
            },
            "installment_amount": {
                "currency": "AED",
                "value": "110.00"
            },
            "terms": {
                "unlimited": "no",
                "value": 1,
                "discount_term": 1,
                "discount_amount": "80.50"
            },
            "status": "Active",
            "start_date": "25-01-2025 16:50:00",
            "expiry_date": "26-01-2025 23:59:00",
            "initial_payment_amount": "110.00",
            "final_payment_amount": "90.00",
            "shipping_fee": "30.00",
            "convenience_fee": "10.00",
            "create_at": "24-01-2025 14:18:25",
            "last_modified_date": "24-01-2025 15:48:25",
            "note": "",
            "product_details": "",
            "qr_code": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
            "payment_link": "{url}"
        }
    ],
    "message": "List fetched successfully.",
    "status": "success",
    "code": "00",
    "total_records": 1
}

Use data_id (encrypted) for plan details, update, activate, deactivate, and send-mail. The plan_id field is the plain display number only.

Deactivated or expired plans cannot accept new subscribers. Reactivate via the Activate endpoint or create a new plan.

On this page