On This Page
Recurring Billing Subscription Data Migration Guide
This section presents the guide usage
and additional information sources
.- Audience and Purpose
- This guide is for merchants who use theToken Management Service(TMS) and transition recurring billing data and workflows from their current provider toRecurring Billing.Cybersource
- Conventions
- This document uses this statement type:IMPORTANTAnImportantstatement contains information essential to completing a task or learning a concept.
- Related Documentation
- Visit theCybersourcedocumentation hub to find additional technical documentation.
- Customer Support
- Visit the Support Center for service support information:
Recent Revisions to This Document
25.10.01
Initial release.
VISA Platform Connect: Specifications and Conditions for
Resellers/Partners
The following are specifications and conditions that apply to a Reseller/Partner enabling
its merchants through
Cybersource for
. Failure to meet any of the specifications and conditions below is
subject to the liability provisions and indemnification obligations under
Reseller/Partner’s contract with Visa/Cybersource.Visa Platform Connect
(“VPC”)
processing- Before boarding merchants for payment processing on a VPC acquirer’s connection, Reseller/Partner and the VPC acquirer must have a contract or other legal agreement that permits Reseller/Partner to enable its merchants to process payments with the acquirer through the dedicated VPC connection and/or traditional connection with such VPC acquirer.
- Reseller/Partner is responsible for boarding and enabling its merchants in accordance with the terms of the contract or other legal agreement with the relevant VPC acquirer.
- Reseller/Partner acknowledges and agrees that all considerations and fees associated with chargebacks, interchange downgrades, settlement issues, funding delays, and other processing related activities are strictly between Reseller and the relevant VPC acquirer.
- Reseller/Partner acknowledges and agrees that the relevant VPC acquirer is responsible for payment processing issues, including but not limited to, transaction declines by network/issuer, decline rates, and interchange qualification, as may be agreed to or outlined in the contract or other legal agreement between Reseller/Partner and such VPC acquirer.
DISCLAIMER: NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR ANY ERRORS OR
OMISSIONS BY THE
Visa Platform Connect
ACQUIRER IN PROCESSING TRANSACTIONS. NEITHER VISA
NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR RESELLER/PARTNER BOARDING MERCHANTS OR
ENABLING MERCHANT PROCESSING IN VIOLATION OF THE TERMS AND CONDITIONS IMPOSED BY THE
RELEVANT Visa Platform Connect
ACQUIRER. Introduction to Migrating Subscription Data to
Cybersource Recurring Billing
Cybersource
Transitioning recurring billing subscriptions from another provider to the
Cybersource
Recurring Billing service improves payment processes and customer
experience.
This guide provides step-by-step instructions for migrating existing
recurring billing data and workflows
to the Cybersource
platform.Migration Flow
The migration process involves writing and running a script
that creates Recurring Billing subscriptions in the account.
This topic presents an overview of the process.
Cybersource
Prepare for the migration.
Before beginning the migration process, understand the
limitations and ensure all migration prerequisites are met.Perform these five tasks twice: first in your test environment
and after validating the test migration, in your production
environment.
Cybersource
Cybersource
- Task 1: Enable theAfter migration prerequisites are met, request activation of Recurring Billing for yourRecurring Billing service.Cybersourceaccount. When you receive the confirmation notice, proceed to the next task.Cybersource
- Task 2: Integrate with theAPI.CybersourceGenerate API keys for your preferred authentication method at theCybersourceBusiness Center. Integrate this authentication method into your migration script using theAPI.Cybersource
- Task 3: Export your current subscriptions to a file.Export all active subscriptions from your current provider to a file. In the next task, you write and run a migration script that parses the export file and creates subscriptions on thesystem.Cybersource
- Task 4: Create new subscriptions in thesystem.CybersourceWrite and run a script that sends subscription creation requests to thesubscription service. The new subscriptions replicate the active subscriptions in your current subscriptions provider.Cybersource
- Task 5: Validate the new subscriptions in your test environment.After running the subscription creation script, verify that the newly created subscriptions match your exported subscription data. Within your test environment, send test transactions in order to validate proper setup.
Finalize the migration.
In your production environment,
monitor the transactions of the new subscriptions.
Verify that your subscriptions are successfully transitioned
from your former subscriptions provider.
To avoid creating duplicate charges,
deactivate the recurring billing feature on the former subscriptions provider.
Migration Limitations
Only subscriptions in the Recurring Billing.
active
state
can be migrated to Cybersource
Migration Prerequisites
Before migrating subscriptions to Recurring Billing, ensure these prerequisites are met.
Cybersource
- Understanding of Recurring Billing Subscription Management
- Understand Recurring Billing subscription management in theCybersourcesystem. Review these guides for details:
- CybersourceToken Management Serviceis Configured with a Token Vault
- Recurring Billing requires that you have aFor details, see the .account with a properly configuredCybersourceToken Management Service(TMS) at the transacting MID level and with a configured token vault.
- Customer Tokens from Your Current Provider Are in theCybersourceTMS
- Recurring Billing uses only theCybersourcecustomer tokentype. The customer tokens from your current subscriptions provider must be inCybersourceTMSbefore you begin to migrate subscription data from that provider to thesystem.Cybersource
- IMPORTANTToken migration from a system outside thesystem is a separate process that requires coordination with yourCybersourceAccount Manager.Cybersource
Task 1: Enable Recurring Billing in Your
Cybersource Account
Cybersource
Recurring Billing
requires that you have a account with a properly configured
In addition, customer tokens from the current provider
must be in the Cybersource
Token Management Service
(TMS
)
at the transacting MID level and with a configured token vault.Cybersource
TMS
.
- To enable Recurring Billing:
- Verify that you have aaccount.Cybersource
- Confirm your account has a transacting MID withTMSand token vault configuration. See Migration Prerequisites for details.
- Verify that customer tokens from the current provider exist in theCybersourceTMS. See Migration Prerequisites for details.
- Contact yourAccount Manager to request activation of Recurring Billing for your account.Cybersource
- After receiving the confirmation notice, proceed to Task 2: Integrate with the Cybersource API.
Task 2: Integrate with the Cybersource API
Cybersource
Set up authentication using either JSON Web Token (JWT) or HTTP Signature.
Generate API keys for your preferred authentication method
at the API.
Cybersource
Business Center
.
Integrate this authentication method into your migration script
using the Cybersource
- To integrate with theAPI:Cybersource
- Log in to yourCybersourceaccount at theBusiness Center.
- Set up youraccount for secure communication of REST API messages using either JSON Web Token or HTTP Signature. Generate a P12 key for JWT or a shared secret key pair for HTTP Signature: Set Up YourCybersourceCybersourceAccount
- Integrate the selected authentication method into the subscription creation script.
- For JWT authentication, see Set Up JSON Web Token Messaging.
- For HTTP Signature authentication, see Set Up an HTTP Signature Message.
Task 3: Export Current Subscriptions to a File
Export all active subscriptions from your current provider to a file.
In the next task, you write and run a migration script
that parses the export file and creates subscriptions
on the system.
Cybersource
IMPORTANT
Only subscriptions in the Recurring Billing.
active
state
can be migrated to Cybersource
- To export subscription data from your current provider:
- Export all active subscriptions from your current provider to a local file. Use a flat text file, CSV file, or Excel spreadsheet.
- Organize the exported data so that each subscription record is easily processed by the script that you write and run in Task 4: Create New Subscriptions.
ADDITIONAL INFORMATION
TIPOptionally, include a JSON-formatted REST API request in each subscription record. - Ensure each subscription record in the export file includes information required to construct aAPI request that creates an equivalent subscription inCybersourceRecurring Billing.Cybersource
ADDITIONAL INFORMATION
The fields required in the API request message vary based on the plan options for the subscription. For lists of required fields in theAPI request, see the example requests in Reference Information.CybersourceIMPORTANTA Recurring Billing subscription on theplatform begins billing on the date specified in theCybersourcesubscriptionInformation. startDatefield of the request unless you manuallysuspendorcancelthe subscription after it is created. - Save a copy of the export file.
ADDITIONAL INFORMATION
IMPORTANTYou need this export file for subsequent migration tasks.
Task 4: Create New Subscriptions
Write and run a script that sends subscription creation requests
to the subscription service.
The new subscriptions replicate the active subscriptions in your current subscriptions provider.
Cybersource
This section contains information for writing the subscription creation script:
- Requirements for the subscription creation script.Adhere to these requirements as you write the subscription creation script.
- Additional API field required for any credit or debit card subscription.When migrating a credit or debit card payment subscription from a provider outside of thesystem, include the network transaction ID of the authorized transaction from the previous provider system to avoid re-authorization for a new, zero-value credit card payment.Cybersource
- Additional API field required for a Diners or Discover card.For subscriptions on Diners cards or Discover cards, also include the authorized payment amount from your previous provider system.
- How to obtain the additional information required for a credit or debit card subscription.The network transaction ID and the authorized payment amount are in theThis condition is a prerequisite for migration.CybersourceToken Management Service(TMS), provided that the network transaction ID of the original subscription (from the previous provider) are now inCybersourceTMS.
- Construct your subscription creation script.For each subscription record that you exported from your former subscription provider, your script must submit an API request to create a new Recurring Billing subscription in thesystem.Cybersource
Requirements for the Subscription Creation Script
Adhere to these requirements as you write the subscription creation script.
- Migration log file
- The script logs each API request message sent and the corresponding response information returned by thesubscription service.Cybersource
- Retry logic
- For failed subscription creation requests, correct the request and resubmit it to the subscription service.
- Billing start date
- Recurring Billing subscriptions begin billing on the date specified in theCybersourcesubscriptionInformation.startDatefield.
- Reusable set of billing periods and billing cycles
- Create asubscription planthat defines a billing period (or billing cycle) and a number of billing cycles. In the REST API, use these fields:
- planInformation.billingCycles.total
- Plan options for new subscriptions
- Recurring Billing subscriptions support these plan options:Cybersource
- Define aone-time planfor a subscription instead of creating a subscription plan.
- Use the plan information defined in theexisting planreferenced by thesubscriptionInformation. planIdfield in the subscription creation message.
- Specifyoverridesto some of the information in the referenced plan. For example, if the subscription was for a fixed period, specify the remaining number of billing cycles in theplanInformation. billingCycles.totalfield.
Additional Fields Required for Card Subscriptions
This section describes additional requirments for the subscription creation script.
One or two additional fields must be included in a subscription creation request
for a credit or debit card subscription.
Additional API Field Required for Any Credit or Debit Card Subscription
If the subscription is for a credit or debit card, the subscription creation request
must include the
network transaction ID
of the transaction that originally
initialized the subscription (and allowed for the storage of payment
information).Include the network transaction ID
in this field of the subscription creation request message:
subscriptionInformation. originalTransactionId
For information about obtaining the network transaction ID,
see Obtaining Additional Values Required for Card Subscriptions.
Continue to use this network transaction ID
to uniquely identify future automatic payments for this subscription.
IMPORTANT
Including the network transaction ID in the subscription creation request
obtains the payer's consent for you to make automatic (recurring) payments
with the new subscription in the
system.
Cybersource
Additional API Field Required for a Diners or Discover Card
If the subscription is for a Diners card or Discover card, also include the
payment amount
that was authorized in the provider system that
initialized the subscription and allowed for the storage of payment information.Include the payment amount
in this field of the subscription creation request message:
subscriptionInformation. originalTransactionAuthorizedAmount
For information about obtaining the payment amount,
see Obtaining Additional Values Required for Card Subscriptions.
Obtaining Additional Values Required for Card Subscriptions
The network transaction ID and the authorized payment amount are in the
Cybersource
Token Management Service
(TMS
), provided that the network
transaction ID of the original subscription (from the previous provider) are now in
Cybersource
TMS
.Three possibilities exist:
- Original subscription data is inCybersourceTMS
- Original subscription data is not inCybersourceTMSbut it is available from the original subscription provider
- Original subscription data is not available
Retrieve Original Subscription Data from the Cybersource
TMS
Cybersource
TMS
As a prerequisite to migration, customer tokens from your original provider are in
the
Cybersource
TMS
. If this prerequisite is met, you can retrieve the
additional data required for card subscriptions from the Cybersource
TMS
.This topic applies to migrating a credit or debit card subscription
to
when the original subscription data (from the original subscription provider)
is now in
Cybersource
Cybersource
TMS
.- To retrieve original subscription data from theCybersourceTMS:
- Perform this GET request:
ADDITIONAL INFORMATION
- Production:GEThttps://api.cybersource.com/tms/v2/customers/{customerId}
- Test:GEThttps://apitest.cybersource.com/tms/v2/customers/{customerId}
Replace the{customerId}portion of the URL with the ID of the customer associated with the subscription in the previous provider system - Retrieve the ID of the original transaction from this field of the response to the GET request:
ADDITIONAL INFORMATION
_embedded.defaultPaymentInstrument. _embedded.instrumentIdentifier. processingInformation. authorizationOptions. initiator. merchantInitiatedTransaction. previousTransactionId - Include the network transaction ID in this field of the subscription creation request message that the script sends to thesubscription service:Cybersource
ADDITIONAL INFORMATION
subscriptionInformation. originalTransactionId - If the subscription is for a Diners card or Discover card:
- Retrieve the authorized payment amount from this field of the response to the GET request:
ADDITIONAL INFORMATION
_embedded.defaultPaymentInstrument. _embedded.instrumentIdentifier. processingInformation. authorizationOptions. initiator. merchantInitiatedTransaction. originalAuthorizedAmount - Include the authorized payment amount in this field of the subscription creation request message that the script sends to thesubscription service:Cybersource
ADDITIONAL INFORMATION
subscriptionInformation. originalTransactionAuthorizedAmount
Retrieve Original Subscription Data from the Original Provider
This topic applies to migrating a credit or debit card subscription
to
when the original subscription data
is not in
Cybersource
Cybersource
TMS
but it is available from the original subscription provider.- To retrieve original subscription data from the original subscription provider:
- Contact the previous subscriptions provider to obtain data from the original subscription.
- Request the network transaction ID for original subscription.
- Include the network transaction ID in this field of the subscription creation request message that the script sends to thesubscription service:Cybersource
ADDITIONAL INFORMATION
subscriptionInformation. originalTransactionId - If the subscription is for a Diners card or Discover card:
- Request the authorized payment amount for the original subscription.
- Include the authorized payment amount in this field of the subscription request that the script sends to thesubscription service:Cybersource
ADDITIONAL INFORMATION
subscriptionInformation. originalTransactionAuthorizedAmount
When Original Subscription Data Cannot Be Retrieved
To migrate a credit or debit card subscription
when the original subscription data
is not available in
Cybersource
TMS
or from the original subscription provider,
re-authorize a new, zero-value card payment.IMPORTANT
Attempting to create a new subscription
by re-authorizing a new, zero-value credit card payment
often triggers indeterminate conditions,
such as
3-D Secure
authentication failure.Construct Your Subscription Creation Script
For each subscription record that you exported from
your former subscription provider, your script must submit an API request to create
a new Recurring Billing subscription in the system.
Cybersource
- For each subscription, instructions in your script must:
- Create the subscription creation request message with the requiredRESTAPI fields.
ADDITIONAL INFORMATION
ADDITIONAL INFORMATION
For reference information to help you to construct a request message through your script, see these topics: - Send the message to one of these endpoints:
- Production:POSThttps://api.cybersource.com/rbs/v1/subscriptions
- Test:POSThttps://apitest.cybersource.com/rbs/v1/subscriptions
- Check the response messages to verify that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See theTransaction Response Codes. - Write the request and response information to the log file for troubleshooting and verification purposes.
- For transaction errors, perform error handling and retry logic when appropriate.
Task 5: Validate the New Subscriptions in the Cybersource System
Cybersource
After running the subscription creation script,
verify that the newly created subscriptions
match your exported subscription data.
Within your test environment, send test transactions
in order to validate proper setup.
Perform the validation
at the
Cybersource
Business Center
or using REST API requests.Use the Business Center to Validate Migrated Subscriptions
Business Center
to Validate Migrated SubscriptionsIMPORTANT
To validate, compare the new subscription details to the export file you created in
Task 3: Export Current Subscriptions to a File.
Cybersource
- To validate migrated subscriptions using theCybersourceBusiness Center:
- Log in to yourCybersourceaccount at theBusiness Center.
- On the left navigation panel, clickRecurring BillingandManage Subscriptions.
ADDITIONAL INFORMATION
The Recurring Billing Manage Subscriptions screen appears. The Search Results section lists all managed subscriptions that are accessible to yourCybersourceaccount. - To validate the details of a specific subscription:
- In the Recurring Billing Manage Subscriptions screen, clickAddFilter.
- In the New Filter drop-down menu, choose the type of data on which you want to filter the subscription list and choose or enter the value on which to match subscriptions.
ADDITIONAL INFORMATION
You can filter the list by subscription code, account owner first or last name, plan name, or subscription status. - ClickSearch.
- In the filtered list, click the subscription code of the subscription you want to view.
ADDITIONAL INFORMATION
The Subscription Details screen appears and displays this information:- Subscription IDis an identifier unique to this subscription. Use this ID to identify this subscription in API references and to assist in customer service.
- Subscription detailsinclude the subscription start date, billing cycle, and setup fee.
- Customer detailsinclude the customer token and the customer ID.
- Payment detailsinclude the card type, card expiration date, billing address, and the payment instrument ID.
- Shipping detailsare displayed if the information is available for the customer.
- Compare the subscription details to the corresponding subscription details in the export file.
- To validate subscriptions created for a specific customer:
- On the left navigation panel, clickToken ManagementandCustomers.
ADDITIONAL INFORMATION
The Token Management Customers screen appears. - In the New Filter drop-down menu, choose the type of data on which you want to filter customer tokens and choose or enter the value on which to match tokens.
ADDITIONAL INFORMATION
To filter subscriptions on a customer email address, selectEmailand enter the address. - ClickSearch.
- In the Search Results, click the token ID of the customer for which you want to view subscriptions.
- In the Token Management Customer Details screen, clickManage Subscriptions. The Recurring Billing Manage Subscription screen appears and lists subscriptions associated with the customer token you viewed.
- Compare the subscription details to the corresponding subscription details in the export file.
- (Recommended in your test environment) Send test transactions to validate proper setup.
Use the REST API to Validate Migrated Subscriptions
IMPORTANT
To validate the migration, compare the new subscription details to the export file you created in
Task 3: Export Current Subscriptions to a File.
Cybersource
- Follow these steps to use theREST API to validate the migrated subscriptions:Cybersource
- Follow these steps if you want to validate a specific subscription:
- To obtain the details of a specific subscription, see Retrieving a Subscription in theRecurring Billing Developer Guide. The subscription details are returned in the response message.
- Compare the subscription details to the corresponding subscription details that you exported to a file in Task 3: Export Current Subscriptions to a File. The subscription details are returned in the response message.
- Follow these steps if you want to validate a list of all subscription details:
- To obtain a list of all subscription details, see Retrieving a List of Subscriptions in theRecurring Billing Developer Guide. The list of subscription details is returned in the response message.
- Compare thesubscription details in the list to the subscription details in the export file from Task 3: Export Current Subscriptions to a File.Cybersource
- (Optional)Complete these steps if you want tocancela pending, active, suspended, or delinquent subscription:
- In the subscription details, find the subscription ID.
- Send the message to one of these endpoints, replacing the{id}portion of the URL with the value of the subscription ID:
- Production:POSThttps://api.cybersource.com/rbs/v1/subscriptions/{id}/cancel
- Test:POSThttps://apitest.cybersource.com/rbs/v1/subscriptions/{id}/cancel
- Check the response message to verify that the request was successful. A 200-level HTTP response code indicates success.
- (Recommended in your test environment) Send test transactions to validate proper setup.
Finalize the Migration
In your production environment,
monitor the transactions of the new subscriptions.
Verify that your subscriptions are successfully transitioned
from your former subscriptions provider.
To avoid creating duplicate charges,
deactivate the recurring billing feature on the former subscriptions provider.
- To complete the migration:
- Actively monitor the Recurring Billing subscription transactions on theCybersourceplatform.
ADDITIONAL INFORMATION
For information about reports that contain Recurring Billing transaction details, see these topics in theReporting User Guide:ADDITIONAL INFORMATION
Recommendations:- Track subscriptions that have payments scheduled to occur over several consecutive days. Confirm that the payments complete successfully and that the subscriptions remain active.
- Confirm that the rate of declined transactions is not elevated.
- After verifying that all active subscriptions and subscription data are successfully transitioned toRecurring Billing, deactivate Recurring Billing on the former subscriptions provider platform.Cybersource
Reference Information
This section contains reference information for
migrating subscriptions from the current subscriptions platform
to Recurring Billing subscriptions on the platform.
Cybersource
This reference information is supplemental to Task 4: Create New Subscriptions.
- How to access and use the interactive REST API reference.TheDeveloper Center includes an interactiveCybersourceREST API Reference. As you write your script, you can use the interactive module to help construct request messages for creating Recurring Billing plans and subscriptions.
- How to create a subscription for a one-time plan.These topics provide detailed information about how to request the creation of a subscription that uses a one-time plan.
- How to create a subscription for an existing plan.These topics provide detailed information about how to request the creation of a subscription that uses an existing plan.
- How to create a subscription with plan overrides.These topics provide detailed information about how to request the creation of a subscription that uses plan overrides.
Using the Interactive REST API Reference
After exporting subscription data from your current provider in Task 3: Export Current Subscriptions to a File,
write a subscription creation script that accesses entries in your export file
and recreates each subscription within
Cybersource
Recurring Billing.The Developer Center
includes an interactive
Cybersource
REST API Reference
.
As you write your script,
you can use the interactive module to help construct request messages
for creating Recurring Billing plans and subscriptions.Build a Request to Create a Recurring Billing Plan
- Follow these steps to access the interactive REST API reference for creating a Recurring Billing plan:
- Go to theREST API Referenceon the Cybersource Developer Center.
- On the left navigation panel, clickPaymentsandRecurring Billing Subscriptions.
- ClickCreate a Plan. The screen appears.
Build a Request to Create a Recurring Billing Subscription
- Follow these steps to access the interactive REST API reference for creating Recurring Billing subscriptions:
- Go to theREST API Referenceon the Cybersource Developer Center.
- On the left navigation panel, clickPaymentsandRecurring Billing Subscriptions.
- ClickCreate a Subscription. The screen appears.
Creating a Subscription with a One-Time Plan
As you write your script, refer to the information in this section
as a guide for requesting creation of a subscription with a one-time plan:
- Required and optional fields for the request to create subscription with a one-time plan
- Example request to create a subscription with a one-time plan
Required and Optional Fields
These fields are required for creating a subscription with a one-time plan:
- Amount charged during the billing period.
- The subscription set-up fee charged by the merchant.
- planInformation.billingCycles.total
Optional Fields
- subscriptionInformation.originalTransactionId
- Required to create any credit or debit card subscription.
- Including this field ensures better authorization rates and Strong Customer Authentication (SCA) compliance where necessary.
- subscriptionInformation.originalTransactionAuthorizedAmount
- Additional required field for a Diners or Discover card..
Related Information
REST Example: Create a Subscription with a One-Time Plan
This example creates a subscription with a one-time plan.
Request
{ "planInformation": { "billingPeriod": { "length": "1", "unit": "M" }, "billingCycles": { "total": "24" } }, "subscriptionInformation": { "name": "Subscription with one-time plan", "startDate": "2025-08-10", "originalTransactionId": "123456789", "originalTransactionAuthorizedAmount": "0.00" }, "paymentInformation": { "customer": { "id": "C24F5921EB870D99E053AF598E0A4105" } } }
Example Response to a Successful Request
{ "_links": { "self": { "href": "/rbs/v1/subscriptions/1619214861", "method": "GET" }, "update": { "href": "/rbs/v1/subscriptions/1619214861", "method": "PATCH" }, "cancel": { "href": "/rbs/v1/subscriptions/1619214861/cancel", "method": "POST" } }, "id": "1619214861", "status": "COMPLETED", "subscriptionInformation": { "code": "AWC-49", "status": "PENDING" } }
Example Response to a Failed Request
{ "status": "INVALID_REQUEST", "reason": "INVALID_DATA", "message": "One or more fields in the request contains invalid data.", "details": [ { "field": "planInformation.billingPeriod.length", "reason": "MAX_LENGTH" } ] }
Creating a Subscription with an Existing Plan
As you write your script, refer to the information in this section
as a guide for requesting creation of a subscription with an existing plan:
- Required and optional fields for the request to create subscription with an existing plan
- Example request to create a subscription with an existing plan
Required and Optional Fields
These fields are required for creating a subscription with an existing plan:
- subscriptionInformation.planId
- Required when you are using a standard plan.
Optional Fields
- subscriptionInformation.originalTransactionId
- Required to create any credit or debit card subscription.
- Including this field ensures better authorization rates and Strong Customer Authentication (SCA) compliance where necessary.
- subscriptionInformation.originalTransactionAuthorizedAmount
- Additional required field for a Diners or Discover card.
Related Information
REST Example: Create a Subscription with an Existing Plan
This example creates a subscription that uses an existing plan.
Request
{ "subscriptionInformation": { "planId": "6868912495476705603955", "name": "Subscription with plan id", "startDate": "2025-08-10", "originalTransactionId": "123456789", "originalTransactionAuthorizedAmount": "0.00" }, "paymentInformation": { "customer": { "id": "C24F5921EB870D99E053AF598E0A4105" } } }
Example Response to a Successful Request
{ "_links": { "self": { "href": "/rbs/v1/subscriptions/1619214690", "method": "GET" }, "update": { "href": "/rbs/v1/subscriptions/1619214690", "method": "PATCH" }, "cancel": { "href": "/rbs/v1/subscriptions/1619214690/cancel", "method": "POST" } }, "id": "1619214690", "status": "COMPLETED", "subscriptionInformation": { "code": "AWC-47", "status": "PENDING" } }
Example Response to a Failed Request
{ "status": "INVALID_REQUEST", "reason": "INVALID_DATA", "message": "One or more fields in the request contains invalid data.", "details": [ { "field": "subscriptionInformation.startDate", "reason": "INVALID_DATA" } ] }
Creating a Subscription with Plan Overrides
As you write your script, refer to the information in this section
as a guide for requesting creation of a subscription with plan overrides.
Required and Optional Fields
These fields are required for creating a subscription with plan overrides:
- subscriptionInformation.planId
Optional Fields
- Amount charged during the billing period.
- The subscription set-up fee charged by the merchant.
- planInformation.billingCycles.total
- subscriptionInformation.originalTransactionId
- Required to create any credit or debit card subscription.
- Including this field ensures better authorization rates and Strong Customer Authentication (SCA) compliance where necessary.
- subscriptionInformation.originalTransactionAuthorizedAmount
- Additional required field for a Diners or Discover card.
Related Information
REST Example: Create a Subscription with Plan Overrides
This example creates a subscription that overrides part of an existing plan.
For example, you can use an existing plan with an indefinite duration and a specific amount, and then,
for a given subscription, specify the number of remaining billing cycles.
Request
{ "planInformation": { "billingCycles": { "total": "5" } }, "subscriptionInformation": { "planId": "6868912495476705603955", "name": "Subscription with plan id and new number of billing cycles", "startDate": "2025-08-10", "originalTransactionId": "123456789", "originalTransactionAuthorizedAmount": "0.00" }, "paymentInformation": { "customer": { "id": "C24F5921EB870D99E053AF598E0A4105" } } }
Example 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" } }
Example 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" } ] }