On This Page

{#jumplink-list}  
[Markdown](/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-subscriptions/rb-cre-subs-fully-cust-w-otp.md)  
Filter  
FILTER BY TAG

Creating a Fully Customized Subscription with a One-Time Plan {#rb-cre-subs-fully-cust-w-otp}
=============================================================================================

You can create a subscription with a one-time plan.  
The start date must be in coordinated universal time (UTC) in this format: `YYYY-MM-DDThh:mm:ssZ`. The T separates the date and the time. The `Z` indicates UTC. For example, `2023-08-11T22:47:57Z` indicates August 11, 2023, at 22:47:57 (10:47:57PM). For subscriptions created on the start date, set the time to the current time and day in your time zone.

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

Basic Steps {#rb-cre-subs-fully-cust-w-otp_section_ghg_vxq_fdc}
---------------------------------------------------------------

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. See [Transaction Response Codes](https://developer.cybersource.com/api/reference/response-codes.md "").

Required Fields {#rb-cre-subs-fully-cust-w-otp-reqd-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.

subscriptionInformation.code
:

clientReferenceInformation.code
:
Merchant reference number.

Related Information
-------------------

* [API field reference guide for the REST API](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/rest-api-fields-intro.md "")

REST Example: Creating a Fully Customized Subscription with a One-Time Plan {#rb-cre-subs-fully-cust-w-otp-ex}
==============================================================================================================

Request

```
{
    "clientReferenceInformation":{
      "code":"ORDER123"
    },
    "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"
        }
    }
}
```

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"
    }
}
```

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"
        }
    ]
}
```

RELATED TO THIS PAGE

