Create subscription

Create a new subscription.

Path parameters

processingTerminalIdstringRequired>=4 characters<=50 characters

Unique identifier that we assigned to the terminal.

Headers

AuthorizationstringRequired

Bearer authentication of the form Bearer <token>, where token is your auth token.

Idempotency-KeystringRequired

Unique identifier that you generate for each request. You must use the UUID v4 format for the identifier. For more information about the idempotency key, go to Idempotency.

Request

This endpoint expects an object.
subscriptionIdstringRequired>=1 character<=48 characters

Unique identifier that the merchant assigned to the subscription.

paymentPlanIdstringRequired>=1 character<=48 characters

Unique identifier that the merchant assigned to the payment plan.

paymentMethodobjectRequired

Object that contains information about the customer’s payment details.

startDatestringRequiredformat: "date"

Format: YYYY-MM-DD
Subscription’s start date.

namestringOptional>=5 characters<=128 characters

Name of the subscription. This value replaces the name inherited from the payment plan.

descriptionstringOptional>=1 character<=128 characters

Description of the subscription. This value replaces the description inherited from the payment plan.

setupOrderobjectOptional

Object that contains information about the initial cost that a customer pays to set up the subscription.

recurringOrderobjectOptional

Object that contains information about the cost of each payment.
Note: Send this object only if the value for type is automatic.

endDatestringOptionalformat: "date"

Format: YYYY-MM-DD
Subscription’s end date.
Note: If you provide values for both length and endDate, our gateway uses the value for endDate to determine when the subscription should end.

lengthintegerOptional>=0

Total number of billing cycles. To indicate that the subscription should run indefinitely, send a value of 0. This value replaces the length inherited from the payment plan.
Note: If you provide values for both length and endDate, our gateway uses the value for endDate to determine when the subscription should end.

pauseCollectionForintegerOptional

Number of billing cycles that the merchant wants to pause payments for. For example, if the merchant wants to offer a free trial period.

customFieldslist of objectsOptional

Array of customField objects.

Response

Successful request. We created the subscription.

subscriptionIdstring>=1 character<=48 characters

Unique identifier that the merchant assigned to the subscription.

processingTerminalIdstring>=4 characters<=50 characters

Unique identifier of the terminal that the subscription is linked to.

paymentPlanobject
secureTokenobject

Object that contains information about the secure token.

namestring>=5 characters<=128 characters

Name of the subscription.

currencyenum

Currency of the transaction. The value for the currency follows the ISO 4217 standard.

currentStateobject

A snapshot of the subscription’s current state.

startDatestringformat: "date"

Format: YYYY-MM-DD
Subscription’s start date.

typeenum

How the merchant takes the payment from the customer’s account.

  • manual – The merchant manually collects payments from the customer.
  • automatic – The terminal automatically collects payments from the customer.
Allowed values:
frequencyenum

Indicates how often the merchant or the terminal collects a payment from the customer.

Allowed values:
descriptionstringOptional>=1 character<=128 characters

Description of the subscription.

setupOrderobjectOptional

Object that contains information about the initial cost that a customer pays to set up the subscription.

recurringOrderobjectOptional

Object that contains information about the cost of each payment.
Note: Send this object only if the value for type is automatic.

endDatestringOptionalformat: "date"

Format: YYYY-MM-DD Subscription’s end date.
Note: If you provide values for both length and endDate, our gateway uses the value for endDate to determine when the subscription should end.

lengthintegerOptional>=0

Total number of billing cycles. To indicate that the subscription should run indefinitely, send a value of 0. This value replaces the length inherited from the payment plan.
Note: If you provide values for both length and endDate, our gateway uses the value for endDate to determine when the subscription should end.

pauseCollectionForintegerOptional>=0

Number of billing cycles that the merchant wants to pause payments for. For example, if the merchant wants to offer a free trial period.

customFieldslist of objectsOptional

Array of customField objects.