Create a Subscription
Creates a new subscription for a customer. The customer must exist and have at least one payment method configured.
Pricing Options:
- Catalog Price: Reference an existing
pricefrom your catalog, using price param. - Inline Pricing: Specify custom pricing directly using
price_data— the product must exist.
Trial Periods:
Provide exactly one of trial_end (ISO 8601 datetime) or trial_period_days (integer 1–730).
When a trial is set, the subscription starts with status: TRIALING and the initial charge is
skipped. The first charge fires when the trial ends.
collection_method:
When set to charge_automatically (default), the first invoice is finalized and charged
as part of the request.
Request body for creating a new subscription.
Currency Validation:
currencyis required at the subscription level- When using
price_data: currency inside price_data must match the subscription currency
- Type: string
currency min length:3max length:3requiredThree-letter ISO currency code. Required at subscription level.
- Type: string
customer requiredID of the customer to subscribe.
- Type: array 1…20
items requiredSubscription items. All recurring items must share the same billing interval. Items without
recurringare one-time charges captured at creation and excluded from all future billing cycles. - Type: string | nullFormat: date-time
billing _cycle _anchor Defines the billing cycle anchor date (ISO 8601). Mutually exclusive with
billing_cycle_anchor_config. - Type: object · BillingCycleAnchorConfig
billing _cycle _anchor _config Advanced billing cycle configuration. Allows precise control over when billing cycles occur. All fields are optional integers with specific ranges.
- Type: string | nullFormat: date-time
cancel _at Schedule cancellation for a specific date (ISO 8601). Cannot be used with
cancel_at_period_end=true. - Type: boolean
cancel _at _period _end If
true, cancel at the end of the current billing period instead of immediately. - Type: stringenum
collection _method How to collect payment from the customer:
charge_automatically— charge the default payment method automatically (default)send_invoice— (coming soon) send an invoice and require manual payment
valuescharge _automatically send _invoice
- Type: integer
days _until _due min:1Number of days until the invoice is due. Required when
collection_method=send_invoice. - Type: string
default _payment _method ID of the payment method to use for this subscription.
- Type: boolean
livemode Whether this subscription is in live mode or test mode.
- Type: object
metadata Set of key-value pairs for storing additional information about the subscription.
Request body for creating a new subscription.
Currency Validation:
currencyis required at the subscription level- When using
price_data: currency inside price_data must match the subscription currency
- application/json
- application/json
- application/json
- application/json
curl https://api.paypercut.io/v1/subscriptions \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"customer": "01KJQ34MWYH0TES77RDXA8T8TT",
"currency": "usd",
"default_payment_method": "pm_01HD7M6DRKZ4Q4QEVWJB0RC1S6",
"items": [
{
"price": "01XXXXXXXXXXXXXXXXXXXXXXX",
"unit_amount": 2999,
"currency": "usd",
"recurring": {
"interval": "monthly",
"interval_count": 1,
"usage_type": "licensed"
}
}
],
"metadata": {
"plan": "premium"
}
}'
{
"id": "01HD7M6DRKZ4Q4QEVWJB0RC1S6",
"customer": "01KJQ34MWYH0TES77RDXA8T8TT",
"status": "ACTIVE",
"start_date": "2026-01-01T00:00:00Z",
"next_billing_date": "2026-02-01T00:00:00Z",
"current_period_start": "2026-01-01T00:00:00Z",
"current_period_end": "2026-02-01T00:00:00Z",
"cancel_at_period_end": false,
"cancel_at": null,
"canceled_at": null,
"paused_at": null,
"trial_start": null,
"trial_end": null,
"trial_settings": null,
"billing_cycle_anchor": "2026-01-01T00:00:00Z",
"billing_cycle_anchor_config": null,
"collection_method": "charge_automatically",
"days_until_due": null,
"default_payment_method": "pm_01HD7M6DRKZ4Q4QEVWJB0RC1S6",
"currency": "USD",
"on_behalf_of": null,
"livemode": false,
"ended_at": null,
"cancellation_details": null,
"billing_thresholds": null,
"pending_setup_intent": null,
"items": [
{
"id": "si_01HD7M6DRKZ4Q4QEVWJB0RC1S6",
"price": "01XXXXXXXXXXXXXXXXXXXXXXX",
"product": "01XXXXXXXXXXXXXXXXXXXXXXX",
"quantity": 1,
"billing_interval": "monthly",
"unit_amount": 2999,
"currency": "USD",
"recurring": {
"interval": "monthly",
"interval_count": 1,
"usage_type": "licensed"
},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-01T00:00:00Z"
}
],
"metadata": {
"plan": "premium"
},
"created": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-01T00:00:00Z"
}
