Creating a Fully Customized Subscription with a One-Time Plan
You can create a subscription with a one-time plan.
Fields Specific to This Use Case
These REST API request fields and values are specific to this use case:
- orderInformation.amountDetails.billingAmount
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.setupFee
- planInformation.billingCycles.total
- planInformation.billingPeriod.length
- planInformation.billingPeriod.unit
- subscriptionInformation.startDate
Required Fields
These fields are required for creating a subscription with subscription one-time
plan:
- orderInformation.amountDetails.billingAmount
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.setupFee
- paymentInformation.customer.id
- planInformation.billingPeriod.length
- planInformation.billingPeriod.unit
- subscriptionInformation.name
- subscriptionInformation.startDate
Optional Field
- subscriptionInformation.originalTransactionId
- Including this field ensures better authorization rates and Strong Customer Authentication (SCA) compliance where necessary.
Related Information
REST Example: Creating a Fully Customized Subscription with
a One-Time Plan
Example Request
1234567891011121314151617181920212223242526{"subscriptionInformation": { "name": "SubName Testing", "startDate": "2023-04-18T17:01:42Z", "originalTransactionId”: “016153570198200" }, "planInformation": { "billingCycles": { "total":"5" }, "billingPeriod": { "length": "3", "unit":"D" } }, "orderInformation": { "amountDetails": { "billingAmount": "1.21", "setupFee": "1.44", "currency":"USD" } }, "paymentInformation": { "customer": { "id": "C09F227C54F94951E0533F36CF0A3D91" } }}
Example Response to a Successful Request
1234567891011121314151617181920{"_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 Error Response to a Failed Request
123456789{"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" } ]}