Skip to main content
POST
Os planos definem os termos de faturamento das assinaturas — valor, moeda, intervalo e período de teste opcional. Assim que um plano tem assinantes ativos, o amount, o interval, o intervalCount e a currency dele são imutáveis. Para mudar o preço ou a cadência de assinantes existentes, crie um novo plano e migre os assinantes usando change-plan. amount, currency, interval e intervalCount se tornam imutáveis assim que o plano tem assinantes ativos — veja o painel de parâmetros acima para a lista completa de campos, incluindo as opções de preço introdutório (introAmount/introBillingCycles) e maxBillingCycles/availableCountries. Devolve 201 Created com o objeto de plano completo incluindo o id gerado.

Autorizações

Authorization
string
header
obrigatório

Your secret API key: Bearer prv_production_xxx (production) or Bearer prv_sandbox_xxx (sandbox).

Corpo

application/json
merchantCode
string
obrigatório

Your merchant account identifier.

name
string
obrigatório

Human-readable plan name.

interval
enum<string>
obrigatório

Billing interval unit.

Opções disponíveis:
day,
week,
month,
year
amount
integer
obrigatório

Recurring charge in the currency minor units.

currency
string
obrigatório

ISO 4217 currency code.

description
string

Optional plan description.

intervalCount
integer

Number of interval units between charges. Defaults to 1.

exponent
integer

Decimal places for amount - defaults to the currency standard (2 for USD, 0 for JPY).

trialPeriodDays
integer

Free-trial length in days. 0 for no trial.

introAmount
integer

Introductory charge in minor units for the first introBillingCycles cycles.

introBillingCycles
integer

Cycles billed at introAmount before reverting to amount.

maxBillingCycles
integer

Total cycles after which the subscription auto-completes. 0 = open-ended.

availableCountries
string[]

ISO 3166-1 alpha-2 codes to restrict the plan to. Omit for global availability.

Resposta

201 - application/json

Plan created

A reusable billing plan. amount is a flat integer in the currency minor units (with separate currency + exponent) - not an Amount object.

id
integer

The plan unique integer ID.

merchantId
integer

The merchant account that owns the plan.

name
string
description
string
interval
enum<string>

Billing interval unit. Immutable after creation.

Opções disponíveis:
day,
week,
month,
year
intervalCount
integer

Number of interval units between charges - month + 3 bills quarterly.

amount
integer

Recurring charge in the currency minor units (e.g. 2999 = $29.99 at exponent 2). Immutable after creation.

currency
string

ISO 4217 currency code. Immutable after creation.

exponent
integer

Decimal places for amount / introAmount - 2 for USD, 0 for JPY.

trialPeriodDays
integer

Free-trial length in days before the first charge. 0 for no trial.

introAmount
integer

Introductory charge in minor units for the first introBillingCycles cycles, if set.

introBillingCycles
integer

How many initial cycles are billed at introAmount before the rate reverts to amount.

maxBillingCycles
integer

Total cycles after which the subscription auto-completes. 0 = open-ended.

availableCountries
string[]

ISO 3166-1 alpha-2 codes the plan is offered in. Empty = available everywhere.

isActive
boolean

Whether the plan accepts new subscribers. Existing subscriptions are unaffected when this is false.

createdAt
string<date-time>
updatedAt
string<date-time>