Object

Overview of the Subscription APIs response object.

The table below lists the response objects received for the different Subscription APIs.

Plan APIObject
Create SubscriptionCreate Subscription Response Object
Get All SubscriptionGet All Subscription Response Object
Get Specific SubscriptionGet Specific Subscription Response Object
Pause SubscriptionPause Subscription Response Object
Resume SubscriptionResume Subscription Response Object

Create Subscription Object

Shown below is a sample response returned through our Create Subscription API.

{
  "order_id": "v1-4405071524-aa-qlAtAf",
  "subscription_id": "v1-sub-4405071524-aa-qlAtAf",
  "merchant_subscription_reference": "1234567890",
  "enable_notification": true,
  "plan_details": {
    "plan_id": "v1-plan-4405071524-aa-qlAtAf",
    "status": "ACTIVE",
    "plan_name": "Monthly Plan",
    "plan_description": "Diwali dhammaka plan intended to attract customers on diwali time",
    "frequency": "Day",
    "amount": {
      "value": 100,
      "currency": "INR"
    },
    "max_limit_amount": {
      "value": 100,
      "currency": "INR"
    },
    "trial_period_in_days": 1,
    "start_date": "2022-02-01T17:32:28Z",
    "end_date": "2022-10-21T17:32:28Z",
    "merchant_metadata": {
      "key1": "DD",
      "key2": "XOF"
    },
    "merchant_plan_reference": "1234567890",
    "created_at": "2022-10-21T17:32:28Z",
    "modified_at": "2022-10-21T17:32:28Z"
  },
  "quantity": 1,
  "start_date": "2022-07-21T17:32:28Z",
  "end_date": "2022-09-21T17:32:28Z",
  "customer_id": "123456",
  "payment_mode": "UPI",
  "allowed_payment_methods": [
    "UPI"
  ],
  "integration_mode": "SEAMLESS",
  "merchant_metadata": {
    "key1": "DD",
    "key2": "XOF"
  },
  "status": "ACTIVE",
  "is_tpv_enabled": true,
  "bank_account": {
    "account_number": "123456789012345",
    "name": "Gaurav Kumar",
    "ifsc": "123456789012345"
  },
  "created_at": "2022-10-21T17:32:28Z",
  "modified_at": "2022-10-21T17:32:28Z",
  "callback_url": "https://www.example.com",
  "failure_callback_url": "https://www.example.com",
  "redirect_url": "https://api-staging.pluralonline.com/api/v3/checkout-bff/redirect/checkout?token=V3_D7LwszJqF2XRiFq46uOXQr0sQn8XbObLh7WM9YF8OAxQDYRnCMbhYgHbgFf4vCjJ%22&subscription_id=v1-sub-4405071524-aa-qlAtAf"
}

The table below lists the various parameters returned in the Create Subscription API response. This is part of the Create Subscription response object.

ParameterTypeDescription
order_idUnique identifier of the order in the Plural database.

Example: v1-4405071524-aa-qlAtAf
subscription_idstringUnique identifier for the subscription plan in the plural database.
  • Maximum length: 50 characters.
Example: v1-sub-4405071524-aa-qlAtAf
merchant_subscription_referencestringUnique identifier of the merchant subscription reference entered while creating a subscription.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 1234567890
enable_notificationBooleanIndicates if notifications are enabled.

Example: true
plan_detailsArray of ObjectsAn array of object that contain plan details.

Learn more about the plan details child object.
quantityintegerThe quantity of the subscription for the selected plan, should be greater than 0.

Example: 1
start_datestringThe ISO 8601 UTC Timestamp is the date when the subscription plan is active and available for use.

Example: 2022-02-01T17:32:28Z
end_datestringThe ISO 8601 UTC Timestamp is the date when the subscription plan expires and can no longer be used for new subscriptions.

Example: 2022-09-21T17:32:28Z
customer_idstringUnique identifier of the customer in the Plural database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
payment_modestringPayment methods allowed for subscription.

Accepted values:
  • CARD
  • UPI
Example: UPI
allowed_payment_methodsThe type of payment methods you want to offer customers.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
Example: UPI
integration_modestringType of integration.

Accepted values:
  • SEAMLESS

Example: SEAMLESS
callback_urlstringUse this URL to redirect your customers to specific success or failure pages based on the order or product details.

Example: https\://sample-callback-url>/td>
merchant_metadataobjectAn object of key-value pair that can be used to store additional information.
  • Each pair cannot exceed 256 characters.
  • Maximum 10 key-value pairs.
Example: "key1": "DD"
statusstringStatus of the Subscription.

Possible values:
  • ACTIVE: When the subscription is currently active and payments are being processed as per the billing cycle.
  • INACTIVE: When the subscription has been created but is not yet activated.
  • CREATED: When the subscription has been successfully created but is not yet active.
  • REGISTERED: When the subscription has been registered successfully.
  • CANCELLED_BY_CUSTOMER_DURING_PRE_DEBIT_NOTIFICATION: When the customer canceled the subscription during the pre-debit notification stage.
  • ARCHIVED: When the subscription has been archived and is no longer active.
  • CANCELLED_BY_CUSTOMER_DURING_MANDATE_CREATION: When the customer canceled the subscription while setting up the payment mandate.
  • CANCELLED_BY_MERCHANT: When the subscription was canceled by the merchant.
  • DEBIT_FAILED: When the scheduled payment for the subscription failed.
  • PAUSED: When the subscription has been temporarily paused.
  • CANCELLED: When the subscription has been canceled and is no longer active.
  • TRIAL: When the subscription is in its trial period before regular billing starts.
  • REVOKE_INITIATED: When a request to revoke the subscription has been initiated.
  • COMPLETED: When the subscription has successfully completed its billing cycle.
  • CANCELLED_BY_CUSTOMER: When the customer has canceled the subscription.
  • PAUSED_BY_CUSTOMER: When the customer has temporarily paused the subscription.
  • RESUMED_BY_CUSTOMER: When the customer has resumed a previously paused subscription.
  • EXPIRED: When the subscription has reached its end date and expired.
  • HALTED: When the subscription has been stopped due to an issue or external intervention.
  • RESUMED: When the subscription has been resumed after being paused or halted.
is_tpv_enabledBooleanIndicates if Third-Party Validation (TPV) is enabled.

Example: true
bank_accountobjectAn object that contains bank account details.

Learn more about the bank account child object.
created_atstringThe ISO 8601 UTC Timestamp, when the create plan request was received by Plural.

Example: 2022-09-21T17:32:28Z
modified_atstringThe ISO 8601 UTC Timestamp, when the plan object is updated.

Example: 2022-09-21T17:32:28Z
callback_urlstringUse this URL to redirect your customers to specific success or failure pages based on the order or product details.

Example: https\://sample-callback-url
failure_callback_urlstringThe URL specifically used to redirect customers to a failure page based on the order or product details.

Example: https://sample-failure-callback-url

Note:
  • If the failure_callback_url is not provided, customers will be redirected to the callback_url for both successful and failed transactions.
  • If the failure_callback_url is provided, the callback_url will be used exclusively for successful transactions, while the failure_callback_url will be used for failed transactions.
  • If neither URL is provided, the default URL configured during merchant onboarding will be used.
redirect_urlstringURL for redirection after checkout.

Example: https://api-staging.pluralonline.com/api/v3/checkout-bff/redirect/checkout?...subscription_id=v1-sub-4405071524-aa-qlAtAf

Plan details [Child Object]

The table below lists the various parameters in the plan details child object. This is part of the Create Subscription response object.

ParameterTypeDescription
plan_idstringUnique identifier for the subscription plan in the Plural database.

Example: v1-plan-4405071524-aa-qlAtAf
statusstringStatus of the plan.

Possible values:
  • ACTIVE: When the plan creation request is successfully completed and the plan's start time has already passed.
  • INACTIVE: When the plan is either disabled and cannot be used for new subscriptions, or when it has exceeded its validity period and is no longer available.
  • CREATED: When the plan creation request is successfully completed and the plan's start time is set for the future.
plan_namestringSubscription plan name.

Example: Monthly Plan
plan_descriptionstringCorresponding description for a plan.

Example: Diwali dhammaka plan intended to attract customers on diwali time
frequencystringFrequency of recurring transactions for this particular plan.
  • Day
  • Week
  • Month
  • Year
  • Bi-Monthly
  • Quarterly
  • Half-Yearly
  • AS
  • OT
  • Not Applicable
Example:Day
amountobjectAn object that contains the amount details.

Learn more about the amount child object.
max_limit_amountobjectAn object that contains the maximum limit amount details.

Learn more about the max_limi_amount child object.
trial_period_in_daysintegerWhen a trial period is offered for the plan, this defines the duration of the trial period.

Example: 1

Note: The trial period is always measured in days.
start_datestringThe ISO 8601 UTC Timestamp is the date when the subscription plan is active and available for use.

Example: 2022-02-01T17:32:28Z

Note: On ignoring this field plan start date will be considered as start date.
end_datestringThe ISO 8601 UTC Timestamp is the date when the subscription plan expires and can no longer be used for new subscriptions.

Example: 2022-09-21T17:32:28Z

Note: On ignoring this field, the plan will be on Active state unless there is a manual update.
merchant_metadatastringAn object of key-value pair that can be used to store additional information.
  • Each pair cannot exceed 256 characters.
  • Maximum 10 key-value pairs.
Example: "key1": "DD"
merchant_plan_referencestringUnique identifier of the merchant plan reference entered while creating a plan.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 1234567890
created_atstringThe ISO 8601 UTC Timestamp, when the create plan request was received by Plural.

Example: 2022-09-21T17:32:28Z
modified_atstringThe ISO 8601 UTC Timestamp, when the plan object is updated.

Example: 2022-09-21T17:32:28Z

Amount [Child Object]

The table below lists the various parameters in the amount child object. This is part of the plan object.

ParameterTypeDescription
valueintegerTransaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currencyStringType of currency.

Example: INR

Max limit amount

The table below lists the various parameters in the max_limit_amount child object. This is part of the plan object.

ParameterTypeDescription
valueintegerTransaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currencyStringType of currency.

Example: INR

Bank account

The table below lists the various parameters in the bank account child object. This is part of the Create Subscription response object.

ParameterTypeDescription
account_numberstringBank account number.
  • Minimum length: 1 characters
  • Maximum length: 50 characters.
Example: 12345678912345
nameStringName of Customer.

Example: Kevin Bob
ifscStringIFSC code of the bank account.
  • Minimum: 11 characters
  • Maximum: 11 characters
Example: HDFC0001234

Supported Characters:
  • A-Z (Uppercase letters)
  • 0-9 (Digits)

Get All Subscription Object

Shown below is a sample response returned through our Get All Subscription API.

{
  "links": {
    "first": {
      "href": "https://api.pluralpay.in/api/v1/public /{resource}/?size=10&page=0&sort=id,asc"
    },
    "self": {
      "href": "https://api.pluralpay.in/api/v1/public /{resource}/?size=10&page=0&sort=id,asc"
    },
    "next": {
      "href": "https://api.pluralpay.in/api/v1/public /{resource}/?size=10&page=0&sort=id,asc"
    },
    "last": {
      "href": "https://api.pluralpay.in/api/v1/public /{resource}/?size=10&page=0&sort=id,asc"
    }
  },
  "page": {
    "size": 10,
    "total_elements": 50,
    "total_pages": 5,
    "number": 1
  },
  "subscriptions": [
    {
      "order_id": "v1-4405071524-aa-qlAtAf",
      "subscription_id": "v1-sub-4405071524-aa-qlAtAf",
      "merchant_subscription_reference": "1234567890",
      "enable_notification": true,
      "plan_details": {
        "plan_id": "v1-plan-4405071524-aa-qlAtAf",
        "status": "ACTIVE",
        "plan_name": "Monthly Plan",
        "plan_description": "Diwali dhammaka plan intended to attract customers on diwali time",
        "frequency": "Day",
        "amount": {
          "value": 100,
          "currency": "INR"
        },
        "max_limit_amount": {
          "value": 100,
          "currency": "INR"
        },
        "trial_period_in_days": 1,
        "start_date": "2022-02-01T17:32:28Z",
        "end_date": "2022-10-21T17:32:28Z",
        "merchant_metadata": {
          "key1": "DD",
          "key2": "XOF"
        },
        "merchant_plan_reference": "1234567890",
        "created_at": "2022-10-21T17:32:28Z",
        "modified_at": "2022-10-21T17:32:28Z"
      },
      "quantity": 1,
      "start_date": "2022-07-21T17:32:28Z",
      "end_date": "2022-09-21T17:32:28Z",
      "customer_id": "123456",
      "payment_mode": "UPI",
      "allowed_payment_methods": [
        "UPI"
      ],
      "integration_mode": "SEAMLESS",
      "merchant_metadata": {
        "key1": "DD",
        "key2": "XOF"
      },
      "status": "ACTIVE",
      "is_tpv_enabled": true,
      "bank_account": {
        "account_number": "123456789012345",
        "name": "Gaurav Kumar",
        "ifsc": "123456789012345"
      },
      "created_at": "2022-10-21T17:32:28Z",
      "modified_at": "2022-10-21T17:32:28Z"
    }
  ]
}

The table below lists the various parameters returned in the Get All Subscription API response.

ParameterTypeDescription
linksObjectAn object that contains pagination links for navigation.

Learn more about the links child object.
pageobjectAn page object.

Learn more about the Page child object.
subscriptionsArray of ObjectsAn array of object that contain subscriptions details.

Learn more about the Subscriptions child object.

links [Child object]

The table below lists the various parameters in the links child object. This is part of the Get All Subscription response object.

ParameterTypeDescription
firstobjectAn object that contains the URL information of the first page.

Learn more about the first child object.
selfobjectAn object that contains the URL information of the current page.

Learn more about the self child object.
nextobjectAn object that contains the URL information of the current page.

Learn more about the next child object.
lastobjectAn object that contains the URL information of the current page.

Learn more about the last child object.

First [Child Object]

The table below lists the various parameters in the first child object. This is part of the links object.

ParameterTypeDescription
hrefstringURL of the first page.

Example: <https://api.pluralpay.in/api/v1/public> /{resource}/?size=10&page=0&sort=id,asc

Self [Child Object]

The table below lists the various parameters in the self child object. This is part of the links object.

ParameterTypeDescription
hrefstringURL of the current page.

Example: "<https://api.pluralpay.in/api/v1/public> /{resource}/?size=10&page=0&sort=id,asc"

Next [Child Object]

The table below lists the various parameters in the next child object. This is part of the links object.

ParameterTypeDescription
hrefstringURL of the next page.

Example: "<https://api.pluralpay.in/api/v1/public> /{resource}/?size=10&page=0&sort=id,asc"

Last [Child Object]

The table below lists the various parameters in the last child object. This is part of the links object.

ParameterTypeDescription
hrefstringURL of the last page.

Example: "<https://api.pluralpay.in/api/v1/public> /{resource}/?size=10&page=0&sort=id,asc"

Page [Child Object]

The table below lists the various parameters in the page child object. This is part of the Get All Subscription response object.

ParameterTypeDescription
sizeIntegerNumber of items per page.

Example: 10
total_elementsIntegerTotal number of elements.

Example: 50
total_pagesIntegerTotal number of pages.

Example: 5
numberIntegerPage number.

Example: 1

Subscriptions

The table below lists the various parameters in the subscriptions child object. This is part of the Get All Subscription response object.

ParameterTypeDescription
subscription_idstringUnique identifier for the subscription plan in the plural database.
  • Maximum length: 50 characters.
Example: v1-sub-4405071524-aa-qlAtAf
merchant_subscription_referencestringUnique identifier of the merchant subscription reference entered while creating a subscrition.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 1234567890
enable_notificationBooleanIndicates if notifications are enabled.

Example: true
plan_detailsArray of ObjectsAn array of object that contain plan details.

Learn more about the Plan Details child object.
quantityintegerThe quantity of the subscription for the selected plan, should be greater than 0.

Example: 1
start_datestringThe ISO 8601 UTC Timestamp is the date when the subscription plan is active and available for use.

Example: 2022-02-01T17:32:28Z
end_datestringThe ISO 8601 UTC Timestamp is the date when the subscription plan expires and can no longer be used for new subscriptions.

Example: 2022-09-21T17:32:28Z
customer_idstringUnique identifier of the customer in the Plural database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
payment_modestringPayment methods allowed for subscription.

Aaccepted values:
  • CARD
  • UPI
Example: UPI
allowed_payment_methodsstringThe type of payment methods you want to offer customers.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
Example: UPI
integration_modestringType of integration.

Accepted values:
  • SEAMLESS


Example: SEAMLESS
callback_urlstringUse this URL to redirect your customers to specific success or failure pages based on the order or product details.

Example: https\://sample-callback-url>/td>
merchant_metadataobjectAn object of key-value pair that can be used to store additional information.
  • Each pair cannot exceed 256 characters.
  • Maximum 10 key-value pairs.
Example: "key1": "DD"
statusstringStatus of the Subscription.

Possible values:
  • ACTIVE: When the subscription is currently active and payments are being processed as per the billing cycle.
  • INACTIVE: When the mandate creation fails or the scheduled payment for the subscription fails more than three times.
  • CREATED: When the subscription has been successfully created but is not yet active.
  • DEBIT_FAILED: When the scheduled payment for the subscription failed less than 3 times.
  • PAUSED: When the subscription has been temporarily paused, it needs to be in an active, inactive, trial, or resumed state to pause it again.
  • TRIAL: When the subscription is in its trial period before regular billing starts.
  • COMPLETED: When the subscription has successfully completed its billing cycle.
  • RESUMING: Intermediate stage where a subscription transitions from PAUSED or HALTED to RESUMED.
  • EXPIRED: When the subscription has reached its end date and expired.
  • RESUMED: When the subscription has been resumed after being paused or halted.
bank_accountobjectAn object that contains bank account details.

Learn more about the Bank Account child object.
is_tpv_enabledBooleanIndicates if Third-Party Validation (TPV) is enabled.

Example: true
created_atstringThe ISO 8601 UTC Timestamp, when the create plan request was received by Plural.

Example: 2022-09-21T17:32:28Z
modified_atstringThe ISO 8601 UTC Timestamp, when the plan object is updated.

Example: 2022-09-21T17:32:28Z

Plan details [Child Object]

The table below lists the various parameters in the plan details child object. This is part of the Subscription object.

ParameterTypeDescription
plan_idstringUnique identifier for the subscription plan in the Plural database.

Example: v1-plan-4405071524-aa-qlAtAf
statusstringStatus of the plan.

Possible values:
  • ACTIVE: When the plan creation request is successfully completed and the plan's start time has already passed.
  • INACTIVE: When the plan is either disabled and cannot be used for new subscriptions, or when it has exceeded its validity period and is no longer available.
  • CREATED: When the plan creation request is successfully completed and the plan's start time is set for the future.
plan_namestringSubscription plan name.

Example: Monthly Plan
plan_descriptionstringCorresponding description for a plan.

Example: Diwali dhammaka plan intended to attract customers on diwali time
frequencystringFrequency of recurring transactions for this particular plan.
  • Day
  • Week
  • Month
  • Year
  • Bi-Monthly
  • Quarterly
  • Half-Yearly
  • AS
  • OT
  • Not Applicable
Example:Day
amountobjectAn object that contains the amount details.

Learn more about the amount child object.
max_limit_amountobjectAn object that contains the maximum limit amount details.

Learn more about the max_limi_amount child object.
trial_period_in_daysintegerWhen a trial period is offered for the plan, this defines the duration of the trial period.

Example: 1

Note: The trial period is always measured in days.
start_datestringThe ISO 8601 UTC Timestamp is the date when the subscription plan is active and available for use.

Example: 2022-02-01T17:32:28Z

Note: On ignoring this field plan start date will be considered as start date.
end_datestringThe ISO 8601 UTC Timestamp is the date when the subscription plan expires and can no longer be used for new subscriptions.

Example: 2022-09-21T17:32:28Z

Note: On ignoring this field, the plan will be on Active state unless there is a manual update.
merchant_metadatastringAn object of key-value pair that can be used to store additional information.
  • Each pair cannot exceed 256 characters.
  • Maximum 10 key-value pairs.
Example: "key1": "DD"
merchant_plan_referencestringUnique identifier of the merchant plan reference entered while creating a plan.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 1234567890
created_atstringThe ISO 8601 UTC Timestamp, when the create plan request was received by Plural.

Example: 2022-09-21T17:32:28Z
modified_atstringThe ISO 8601 UTC Timestamp, when the plan object is updated.

Example: 2022-09-21T17:32:28Z

Amount [Child Object]

The table below lists the various parameters in the amount child object. This is part of the Plans object.

ParameterTypeDescription
valueintegerTransaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currencyStringType of currency.

Example: INR

Max limit amount [Child Object]

The table below lists the various parameters in the max_limit_amount child object. This is part of the Plans object.

ParameterTypeDescription
valueintegerTransaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currencyStringType of currency.

Example: INR

Bank account [Child Object]

The table below lists the various parameters in the bank account child object. This is part of the Subscription object.

ParameterTypeDescription
account_numberstringBank account number.
  • Minimum length: 1 characters
  • Maximum length: 50 characters.
Example: 04992990009595
nameStringName of Customer.

Example: Kevin Bob
ifscStringIFSC code of the bank account.
  • Minimum: 11 characters
  • Maximum: 11 characters
Example: HDFC0001234

Supported Characters:
  • A-Z (Uppercase letters)
  • 0-9 (Digits)

Get Specific Subscription, Pause Subscription, Resume Subscription Objects

Shown below are the sample responses returned through our Get Specific Subscription, Pause Subscription, Resume Subscription APIs.

{
  "order_id": "v1-4405071524-aa-qlAtAf",
  "subscription_id": "v1-sub-4405071524-aa-qlAtAf",
  "merchant_subscription_reference": "1234567890",
  "enable_notification": true,
  "plan_details": {
    "plan_id": "v1-plan-4405071524-aa-qlAtAf",
    "status": "ACTIVE",
    "plan_name": "Monthly Plan",
    "plan_description": "Diwali dhammaka plan intended to attract customers on diwali time",
    "frequency": "Day",
    "amount": {
      "value": 100,
      "currency": "INR"
    },
    "max_limit_amount": {
      "value": 100,
      "currency": "INR"
    },
    "trial_period_in_days": 1,
    "start_date": "2022-02-01T17:32:28Z",
    "end_date": "2022-10-21T17:32:28Z",
    "merchant_metadata": {
      "key1": "DD",
      "key2": "XOF"
    },
    "merchant_plan_reference": "1234567890",
    "created_at": "2022-10-21T17:32:28Z",
    "modified_at": "2022-10-21T17:32:28Z"
  },
  "quantity": 1,
  "start_date": "2022-07-21T17:32:28Z",
  "end_date": "2022-09-21T17:32:28Z",
  "customer_id": "123456",
  "payment_mode": "UPI",
  "allowed_payment_methods": [
    "UPI"
  ],
  "integration_mode": "SEAMLESS",
  "merchant_metadata": {
    "key1": "DD",
    "key2": "XOF"
  },
  "status": "ACTIVE",
  "is_tpv_enabled": true,
  "bank_account": {
    "account_number": "123456789012345",
    "name": "Gaurav Kumar",
    "ifsc": "123456789012345"
  },
  "created_at": "2022-10-21T17:32:28Z",
  "modified_at": "2022-10-21T17:32:28Z"
}
{
  "order_id": "v1-4405071524-aa-qlAtAf",
  "subscription_id": "v1-sub-4405071524-aa-qlAtAf",
  "merchant_subscription_reference": "1234567890",
  "enable_notification": true,
  "plan_details": {
    "plan_id": "v1-plan-4405071524-aa-qlAtAf",
    "status": "ACTIVE",
    "plan_name": "Monthly Plan",
    "plan_description": "Diwali dhammaka plan intended to attract customers on diwali time",
    "frequency": "Day",
    "amount": {
      "value": 100,
      "currency": "INR"
    },
    "max_limit_amount": {
      "value": 100,
      "currency": "INR"
    },
    "trial_period_in_days": 1,
    "start_date": "2022-02-01T17:32:28Z",
    "end_date": "2022-10-21T17:32:28Z",
    "merchant_metadata": {
      "key1": "DD",
      "key2": "XOF"
    },
    "merchant_plan_reference": "1234567890",
    "created_at": "2022-10-21T17:32:28Z",
    "modified_at": "2022-10-21T17:32:28Z"
  },
  "quantity": 1,
  "start_date": "2022-07-21T17:32:28Z",
  "end_date": "2022-09-21T17:32:28Z",
  "customer_id": "123456",
  "payment_mode": "UPI",
  "allowed_payment_methods": [
    "UPI"
  ],
  "integration_mode": "SEAMLESS",
  "merchant_metadata": {
    "key1": "DD",
    "key2": "XOF"
  },
  "status": "PAUSED",
  "is_tpv_enabled": true,
  "bank_account": {
    "account_number": "123456789012345",
    "name": "Gaurav Kumar",
    "ifsc": "123456789012345"
  },
  "created_at": "2022-10-21T17:32:28Z",
  "modified_at": "2022-10-21T17:32:28Z"
}
{
  "order_id": "v1-4405071524-aa-qlAtAf",
  "subscription_id": "v1-sub-4405071524-aa-qlAtAf",
  "merchant_subscription_reference": "1234567890",
  "enable_notification": true,
  "plan_details": {
    "plan_id": "v1-plan-4405071524-aa-qlAtAf",
    "status": "ACTIVE",
    "plan_name": "Monthly Plan",
    "plan_description": "Diwali dhammaka plan intended to attract customers on diwali time",
    "frequency": "Day",
    "amount": {
      "value": 100,
      "currency": "INR"
    },
    "max_limit_amount": {
      "value": 100,
      "currency": "INR"
    },
    "trial_period_in_days": 1,
    "start_date": "2022-02-01T17:32:28Z",
    "end_date": "2022-10-21T17:32:28Z",
    "merchant_metadata": {
      "key1": "DD",
      "key2": "XOF"
    },
    "merchant_plan_reference": "1234567890",
    "created_at": "2022-10-21T17:32:28Z",
    "modified_at": "2022-10-21T17:32:28Z"
  },
  "quantity": 1,
  "start_date": "2022-07-21T17:32:28Z",
  "end_date": "2022-09-21T17:32:28Z",
  "customer_id": "123456",
  "payment_mode": "UPI",
  "allowed_payment_methods": [
    "UPI"
  ],
  "integration_mode": "SEAMLESS",
  "merchant_metadata": {
    "key1": "DD",
    "key2": "XOF"
  },
  "status": "RESUMING",
  "is_tpv_enabled": true,
  "bank_account": {
    "account_number": "123456789012345",
    "name": "Gaurav Kumar",
    "ifsc": "123456789012345"
  },
  "created_at": "2022-10-21T17:32:28Z",
  "modified_at": "2022-10-21T17:32:28Z"
}

The table below lists the various parameters returned in the Get Specific Subscription, Pause Subscription, Resume Subscription API responses.

ParameterTypeDescription
subscription_idstringUnique identifier for the subscription plan in the plural database.
  • Maximum length: 50 characters.
Example: v1-sub-4405071524-aa-qlAtAf
order_idstringUnique identifier of the order in the Plural database.

Example: v1-4405071524-aa-qlAtAf
merchant_subscription_referencestringUnique identifier of the merchant subscription reference entered while creating a subscription.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 1234567890
enable_notificationBooleanIndicates if notifications are enabled.

Example: true
plan_detailsArray of ObjectsAn array of object that contain plan details.

Learn more about the plan details child object.
quantityintegerThe quantity of the subscription for the selected plan, should be greater than 0.

Example: 1
start_datestringThe ISO 8601 UTC Timestamp, the date when the subscription plan becomes active and available for use.

Example: 2022-02-01T17:32:28Z
end_datestringThe ISO 8601 UTC Timestamp, the date when the subscription plan expires and can no longer be used for new subscriptions.

Example: 2022-09-21T17:32:28Z
customer_idstringUnique identifier of the customer in the Plural database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
payment_modestringPayment methods allowed for subscription.

Aaccepted values:
  • CARD
  • UPI
Example: UPI
allowed_payment_methodsstringThe type of payment methods you want to offer customers.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
Example: UPI
integration_modestringType of integration.

Accepted values:
  • SEAMLESS

Example: SEAMLESS
callback_urlstringUse this URL to redirect your customers to specific success or failure pages based on the order or product details.

Example: https\://sample-callback-url>/td>
merchant_metadataobjectAn object of key-value pair that can be used to store additional information.
  • Each pair cannot exceed 256 characters.
  • Maximum 10 key-value pairs.
Example: "key1": "DD"
statusstringStatus of the Subscription.

Possible values:
  • ACTIVE: When the subscription is currently active and payments are being processed as per the billing cycle.
  • INACTIVE: When the mandate creation fails or the scheduled payment for the subscription fails more than three times.
  • CREATED: When the subscription has been successfully created but is not yet active.
  • DEBIT_FAILED: When the scheduled payment for the subscription failed less than 3 times.
  • PAUSED: When the subscription has been temporarily paused, it needs to be in an active, inactive, trial, or resumed state to pause it again.
  • TRIAL: When the subscription is in its trial period before regular billing starts.
  • COMPLETED: When the subscription has successfully completed its billing cycle.
  • RESUMING: Intermediate stage where a subscription transitions from PAUSED or HALTED to RESUMED.
  • EXPIRED: When the subscription has reached its end date and expired.
  • RESUMED: When the subscription has been resumed after being paused or halted.
bank_accountobjectAn object that contains bank account details.

Learn more about the bank account child object.
is_tpv_enabledBooleanIndicates if Third-Party Validation (TPV) is enabled.

Example: true
created_atstringThe ISO 8601 UTC Timestamp, when the create plan request was received by Plural.

Example: 2022-09-21T17:32:28Z
modified_atstringThe ISO 8601 UTC Timestamp, when the plan object is updated.

Example: 2022-09-21T17:32:28Z

Plan details [Child Object]

The table below lists the various parameters in the Plan Details child object. This is part of Get Specific Subscription, Pause Subscription, and Resume Subscription API responses object.

ParameterTypeDescription
plan_idstringUnique identifier for the subscription plan in the Plural database.

Example: v1-plan-4405071524-aa-qlAtAf
statusstringStatus of the plan.

Possible values:
  • ACTIVE: When the plan creation request is successfully completed and the plan's start time has already passed.
  • INACTIVE: When the plan is either disabled and cannot be used for new subscriptions, or when it has exceeded its validity period and is no longer available.
  • CREATED: When the plan creation request is successfully completed and the plan's start time is set for the future.
plan_namestringSubscription plan name.

Example: Monthly Plan
plan_descriptionstringCorresponding description for a plan.

Example: Diwali dhammaka plan intended to attract customers on diwali time
frequencystringFrequency of recurring transactions for this particular plan.
  • Day
  • Week
  • Month
  • Year
  • Bi-Monthly
  • Quarterly
  • Half-Yearly
  • AS
  • OT
  • Not Applicable
Example:Day
amountobjectAn object that contains the amount details.

Learn more about the amount child object.
max_limit_amountobjectAn object that contains the maximum limit amount details.

Learn more about the max_limi_amount child object.
trial_period_in_daysintegerWhen a trial period is offered for the plan, this defines the duration of the trial period.

Example: 1

Note: The trial period is always measured in days.
start_datestringThe ISO 8601 UTC Timestamp, the date when the subscription plan becomes active and available for use.

Example: 2022-02-01T17:32:28Z

Note: On ignoring this field plan start date will be considered as start date.
end_datestringThe ISO 8601 UTC Timestamp, the date when the subscription plan expires and can no longer be used for new subscriptions.

Example: 2022-09-21T17:32:28Z

Note: On ignoring this field, the plan will be on Active state unless there is a manual update.
merchant_metadatastringAn object of key-value pair that can be used to store additional information.
  • Each pair cannot exceed 256 characters.
  • Maximum 10 key-value pairs.
Example: "key1": "DD"
merchant_plan_referencestringUnique identifier of the merchant plan reference entered while creating a plan.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 1234567890
created_atstringThe ISO 8601 UTC Timestamp, when the create plan request was received by Plural.

Example: 2022-09-21T17:32:28Z
modified_atstringThe ISO 8601 UTC Timestamp, when the plan object is updated.

Example: 2022-09-21T17:32:28Z

Amount [Child Object]

The table below lists the various parameters in the amount child object. This is part of the plan object.

ParameterTypeDescription
valueintegerTransaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currencyStringType of currency.

Example: INR

Max limit amount [Child Object]

The table below lists the various parameters in the max_limit_amount child object. This is part of the plan object.

ParameterTypeDescription
valueintegerTransaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currencyStringType of currency.

Example: INR

Bank account [Child Object]

The table below lists the various parameters in the bank account child object. This is part of Get Specific Subscription, Pause Subscription, and Resume Subscription API responses object.

ParameterTypeDescription
account_numberstringBank account number.
  • Minimum length: 1 characters
  • Maximum length: 50 characters.
Example: 04992990009595
nameStringName of Customer.

Example: Kevin Bob
ifscStringIFSC code of the bank account.
  • Minimum: 11 characters
  • Maximum: 11 characters
Example: HDFC0001234

Supported Characters:
  • A-Z (Uppercase letters)
  • 0-9 (Digits)