プランの変更
既存のサブスクリプションのプランを変更し、異なる料金ティアへのアップグレードとダウングレードの両方を可能にします。
注: デフォルトでは、顧客が既に登録している支払い情報が使用されます。ホスト型チェックアウトページ経由で請求するには、collect_via_payment_link を設定してください。
スケジュールされたプラン変更
プラン変更の有効化タイミングをコントロールするには、effective_at パラメーターを使用します。
支払い失敗処理
プラン変更の支払いが失敗した場合の処理をコントロールするには、on_payment_failure パラメーターを使用します。
on_payment_failure が指定されない場合、挙動はダッシュボードで設定したビジネスレベルの設定がデフォルトになります。Payment Link 経由での回収
保存済みの支払い方法に請求する代わりに、顧客をホスト型チェックアウトページへ移動させるには、collect_via_payment_link を true に設定します。レスポンスには payment_id、payment_link、client_secret、expires_on が含まれるため、支払いを完了するには顧客を payment_link にリダイレクトします。
以下が必要です:
422 を返します。Payment Link が未払いの間、サブスクリプションは現在のプランを維持し、追加の change-plan リクエストは 409 を返します。
割引コード
プラン変更時にdiscount_codes 配列を渡すことで、1つ以上の 積み重ね式割引コード を適用できます(最大20件。配列の順序で適用されます)。単一の discount_code フィールドは非推奨ですが、既存のインテグレーションでは引き続き使用できます。ただし、同じリクエストで discount_codes と併用することはできません。
承認
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
パスパラメータ
Subscription Id
ボディ
Unique identifier of the product to subscribe to
Proration Billing Mode
prorated_immediately, full_immediately, difference_immediately, do_not_bill Number of units to subscribe for. Must be at least 1.
x >= 0Whether adaptive currency fees should be included in the price (true) or added on top (false). If not specified, uses the subscription's stored setting.
Addons for the new plan. Note : Leaving this empty would remove any existing addons
Replace a scheduled plan change with this one.
The scheduled change is cancelled by the transaction that applies this change. A change that never applies leaves the schedule in place.
effective_at: next_billing_date is allowed. The new schedule then
replaces the old one in the request transaction.
A pending plan change still gets a 409. This field does not affect it.
The preview route shares this request body, so a preview that sets this
field also passes the scheduled-change 409.
Collect the plan-change amount with a payment link. The customer then pays on a checkout page.
The business needs the allow_plan_change_via_payment_link capability.
The request needs effective_at: immediately. The request also needs
on_payment_failure: prevent_change.
The preview route shares this request body and ignores this field.
DEPRECATED: Use discount_codes instead. Cannot be used together with discount_codes.
Stacked discount codes to apply to the new plan. Max 20. Cannot be used together with discount_code. If provided, replaces any existing discount codes. Empty array removes all discounts. If not provided (None), existing discounts with preserve_on_plan_change=true are preserved.
When to apply the plan change.
immediately(default): Apply the plan change right awaynext_billing_date: Schedule the change for the next billing date
immediately, next_billing_date Metadata for the payment. If not passed, the metadata of the subscription will be taken
Controls behavior when the plan change payment fails.
prevent_change: Keep subscription on current plan until payment succeedsapply_change(default): Apply plan change immediately regardless of payment outcome
If not specified, uses the business-level default setting.
prevent_change, apply_change レスポンス
Subscription plan changed. A link request can return checkout details. A pending plan change applies after payment succeeds.
Handles for a hosted checkout page that settles a plan change.
The four fields repeat UpdatePaymentMethodResponse and a subset of
CreateSubscriptionResponse. A shared type would rename the generated SDK
types for all three routes, so each route keeps its own.