FILTER BY TAG

Creating a Subscription with an Existing Plan

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.merchant-services.bankofamerica.com.rbs/v1/subscriptions
    • Test:
      POST https://apitest.merchant-services.bankofamerica.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 an existing plan:
paymentInformation.customer.id
subscriptionInformation.name
subscriptionInformation.planId
Required when you are using a standard plan.
subscriptionInformation.startDate

Optional Field

These fields are optional:
subscriptionInformation.originalTransactionId
Network token identifying the transaction that initialized the subscription. Including this field ensures better authorization rates and Strong Customer Authentication (SCA) compliance where necessary.
This value is returned in the Payments response as
processorInformation.networkTransactionId
.
For EFTPOS cards, a network token is not generated. In this case, provide the transaction request ID or use 0.
subscriptionInformation.code
clientReferenceInformation.code
Merchant reference number.

REST Example: Creating a Subscription with an Existing Plan

This example shows how to create a subscription with an existing plan.
Request
{ "clientReferenceInformation":{ "code":"ORDER123" }, "subscriptionInformation": { "planId":"1619214515", "name": "Daily Gym Subscription", "startDate": "2023-04-15T17:01:42Z", "originalTransactionId”: “016153570198200" }, "paymentInformation": { "customer": { "id": "C09F227C54F94951E0533F36CF0A3D91" } } }
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" } }
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" } ] }