Amending a Plan

Amend a plan by entering one of two values in the
processingInformation.subscriptionBillingOptions.applyTo
field. Possible values:
  • ALL
    : change is applied to all subscriptions (existing and new).
  • NEW
    (default): change is applied to new subscriptions only.
You can also make changes to individual subscriptions. See Amending a Subscription.
For a
draft
plan, you can amend all plan information.
For an
active
plan, you can amend only the information in these fields:
  • planInformation.billingPeriod
  • planInformation.billingCycles
  • orderInformation.amountDetails.currency
IMPORTANT
You cannot amend an inactive plan. To make changes, move the plan to active or draft status.
Follow these steps to amend a plan:
  1. Include any optional fields.
  2. In the endpoint path, include the plan ID that you received when you retrieved a list of plans.
  3. Send the request to the recurring billing endpoint:

    ADDITIONAL INFORMATION

    PATCH https://<
    url_prefix
    >/rbs/v1/plans/{id}

    ADDITIONAL INFORMATION

    Use one of these URL prefixes:
    • Test:
      apitest.cybersource.com
    • Production:
      api.cybersource.com
    • Production in India:
      api.in.cybersource.com
  4. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success.
    For information about response codes, see Transaction Response Codes.

Optional Fields for Amending a Plan

These fields are optional for amending a plan:
orderInformation.amountDetails.billingAmount
orderInformation.amountDetails.setupFee
planInformation.billingCycles.total
Only increases to the number of billing cycles are allowed.
planInformation.code
planInformation.description
planInformation.name
processingInformation.subscriptionBillingOptions.applyTo
Default value is
NEW
.

REST Examples: Amending a Plan

Request
{ "planInformation": { "name": "AmendPlan", "description": "Amend Plan 1610394600", "billingPeriod":{ "length": "4", "unit": "M" }, "billingCycles":{ "total": "7" } }, "orderInformation": { "amountDetails": { "billingAmount": "38.00", "setupFee": "35" } }, "processingInformation": { "subscriptionBillingOptions": { "applyTo": "all" } } }
Successful Response
{ "_links": { "self": { "href": "/rbs/v1/plans/6183561970436023701960", "method": "GET" }, "update": { "href": "/rbs/v1/plans/6183561970436023701960", "method": "PATCH" }, "activate": { "href": "/rbs/v1/plans/6183561970436023701960/activate", "method": "POST" } }, "id": "6183561970436023701960", "submitTimeUtc": "2023-04-13T21:39:34.993Z", "status": "COMPLETED", "planInformation": { "code": "1616024773", "status": "DRAFT" } }
Error Response
{ "status": "NOT_FOUND", "reason": "INVALID_DATA", "message": "One or more fields in the request contains invalid data.", "details": [ { "field": "subscriptionInformation.planId", "reason": "NOT_FOUND" } ] }