Saltar al contenido principal
POST
/
subscriptions
/
{subscription_id}
/
change-plan
JavaScript
import DodoPayments from 'dodopayments';

const client = new DodoPayments({
  bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
});

await client.subscriptions.changePlan('subscription_id', {
  product_id: 'product_id',
  proration_billing_mode: 'prorated_immediately',
  quantity: 0,
});

Autorizaciones

Authorization
string
header
requerido

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

Parámetros de ruta

subscription_id
string
requerido

Subscription Id

Cuerpo

application/json
product_id
string
requerido

Unique identifier of the product to subscribe to

proration_billing_mode
enum<string>
requerido

Proration Billing Mode

Opciones disponibles:
prorated_immediately,
full_immediately,
difference_immediately
quantity
integer<int32>
requerido

Number of units to subscribe for. Must be at least 1.

Rango requerido: x >= 0
addons
Attach Addon Request · object[] | null

Addons for the new plan. Note : Leaving this empty would remove any existing addons

metadata
object

Metadata for the payment. If not passed, the metadata of the subscription will be taken

on_payment_failure
null | enum<string>

Controls behavior when the plan change payment fails.

  • prevent_change: Keep subscription on current plan until payment succeeds
  • apply_change (default): Apply plan change immediately regardless of payment outcome

If not specified, uses the business-level default setting.

Opciones disponibles:
prevent_change,
apply_change

Respuesta

Subscription plan changed. If on_payment_failure=prevent_change, the plan change is pending until payment succeeds.