Create a subscription for the current customer using a saved payment method
POST/cms/customer/payment/subscribe
Initiates a recurring subscription for the current customer entirely on-site, using a payment method previously saved via /customer/payment/setup. No redirect to the payment provider is performed. Only supported by payment methods that implement createSubscription() (e.g. stripe_subscription). The request can specify a cart, product, product item, or article to purchase.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Cart ID for existing cart
Product ID for direct purchase
Product item ID for direct purchase
Article ID or array of article IDs
Custom price for product
Quantity for product item
Payment currency
Payment method, must support on-site subscription creation
Billing address
object
Shipping address
object
Shipping provider
VAT country
Customer IP address. Do not send this if the client is directly communicating with the API, such as from your mobile app.
2-letter ISO code of the country (only send when ip_address is filled)
Source (web, app, etc.)
Source page URL
Source button
Additional properties to save for this payment, such as UTM parameters, coupon code, affiliate info, etc.
object
Custom price for article
Responses
Section titled “Responses”Subscription created successfully. If the response object has requires_action = true, the frontend must call stripe.confirmCardPayment(client_secret) to complete SCA/3DS authentication.
object
API representation of a payment
object
Payment ID
Order amount
Order currency
Order amount in base currency
Payment status
Response message
Last update timestamp
Payment timestamp
User ID
Payment method
Renewal ID
Cart items
object
API representation of an ecommerce pricing tier (product item)
object
Item ID
Description
Product ID
Product name
Price
Currency
Available
Item order
Shippable
Weight
Installments
Once per user
Is upgrade
Upgrade type
Upgrade from
Upgrade exclude items
Upgrade price web
Upgrade price mobile
Settings
object
Has image
Additional label 1
Additional label 2
Additional label 3
Diameter
Length
Depth
Width
Recurrent
Recurrent price
Recurrent start
Recurrent schedule
SKU
Prices
object
Stock enabled
Stock available
Package quantity
Related items
object
Images
Files
Product details. Deprecated to avoid circular references. Use productId instead.
object
Translations
Example
{ "en": { "name": "Name", "subtitle": "Subtitle" }, "fr": { "name": "Nom", "subtitle": "Sous-titre" }}Action data to be executed when a pricing tier is bought
object
Example
registerSubscriptionExample
365Example
subscriptionExample
[ { "function": "registerSubscription", "param": "365", "group": "subscription" }]Action data to be executed when a pricing tier is bought as a renewal
object
Example
registerSubscriptionExample
365Example
subscriptionExample
[ { "function": "registerSubscription", "param": "365", "group": "subscription" }]Price matrix
object
Subtotal amount
Shipping amount
Tax amount
Discount amount
Total amount
Shipping status
Authorization
Address
object
Shipping address
object
Shipping price
Tax price
Reference order ID
Source of the payment (such as website or mobile app store)
Subscription creation response: subscription_id, status, requires_action, client_secret
object
Bad Request
Unauthorized
Forbidden