Creating a Subscription with Plan Overrides

You can create a subscription with a plan overrides.

Basic Steps

Follow these steps to create a subscription:
  1. Create the request with the required API fields.
  2. Send the request to one of these endpoints:
    • Production:
      POST https://api.cybersource.com/rbs/v1/subscriptions
    • Test:
      POST https://apitest.cybersource.test.com/rbs/v1/subscriptions
  3. Verify the response messages to make sure that the request was successful. A 200-level HTTP response code indicates success.

Required Fields

These fields are required for creating a subscription with plan overrides:
paymentInformation.customer.id
subscriptionInformation.name
subscriptionInformation.planId
subscriptionInformation.startDate

Optional Field

subscriptionInformation.originalTransactionId
Including this field ensures better authorization rates and Strong Customer Authentication (SCA) compliance where necessary.
subscriptionInformation.code
clientReferenceInformation.code
Merchant reference number.

REST Example: Creating a Subscription with Plan Overrides

Request
{ "clientReferenceInformation":{ "code":"ORDER123" }, "subscriptionInformation": { "planId": "1619214515", "name": "SubName With Overrides", "startDate": "2023-04-16T17:01:42Z", "originalTransactionId”: “016153570198200" }, "planInformation": { "billingCycles": { "total": "3" } }, "orderInformation": { "amountDetails": { "billingAmount": "13.14", "setupFee": "1.27" } }, "paymentInformation": { "customer": { "id": "C09F227C54F94951E0533F36CF0A3D91" } } }
Response to a Successful Request
{ "_links": { "self": { "href": "/rbs/v1/subscriptions/1619214795", "method": "GET" }, "update": { "href": "/rbs/v1/subscriptions/1619214795", "method": "PATCH" }, "cancel": { "href": "/rbs/v1/subscriptions/1619214795/cancel", "method": "POST" } }, "id": "1619214795", "status": "COMPLETED", "subscriptionInformation": { "code": "AWC-48", "status": "PENDING" } }
Error Response to a Failed Request
{ "status": "INVALID_REQUEST", "reason": "DUPLICATE_REQUEST", "message": "Duplicate requests are not supported within 15 minutes.", "details": [ { "field": "subscriptionInformation.planId or paymentInformation.customer.id or subscriptionInformation.startDate or subscriptionInformation.name", "subscriptionId": "1619214795", "reason": "INVALID_DATA" } ] }