プランを更新する

この記事では、定期課金の次サイクルから適用するプランを更新する方法について説明します。

まず、「定期課金を行う」の案内に沿ってテスト用の定期課金を作成しましょう。
定期課金は前払い式なので、作成と同時に課金が行われます。

curl "https://api.pay.jp/v1/subscriptions" \
-u "sk_test_c62fade9d045b54cd76d7036": \
-d "plan=normal" \
-d "customer=cus_test"

サイクル途中でプランを更新する場合

API「定期課金を更新」を使用し、引数 plan を指定することでプランを更新できます。

curl "https://api.pay.jp/v1/subscriptions/定期課金ID" \
-u "sk_test_c62fade9d045b54cd76d7036": \
-d "plan=更新したいプランID"

この際、以下の点にご注意ください。

  • 更新時点で新しいプランでの課金が実行され、サイクルも更新されます。
  • プランに設定されているトライアル期間は無視されます。

課金を行わないためには、引数 trial_end が利用できます。
課金したい時刻のタイムスタンプを指定することで、その時刻までがトライアル期間となり、その時刻を過ぎてから課金が行われます。

次サイクルからプランを更新する場合

trial_endを利用する方法

trial_end に現在のサイクル終了日 current_period_end を指定することで、プランを更新しつつ、課金を次サイクルから行うようにできます。

curl "https://api.pay.jp/v1/subscriptions/定期課金ID" \
-u "sk_test_c62fade9d045b54cd76d7036": \
-d "plan=次サイクルから適用したいプランID" \
-d "trial_end=現在の定期課金のcurrent_period_end"

next_cycle_planを利用する方法

next_cycle_plan を利用することでも、次サイクルからのプラン適用を切り替えることが可能です。

curl "https://api.pay.jp/v1/subscriptions/定期課金ID" \
-u "sk_test_c62fade9d045b54cd76d7036": \
-d "next_cycle_plan=次サイクルから適用したいプランID"

プラン適用を解除したい場合は、空文字列でリクエストしてください。

curl "https://api.pay.jp/v1/subscriptions/定期課金ID" \
-u "sk_test_c62fade9d045b54cd76d7036": \
-d "next_cycle_plan="

next_cycle_planの挙動を確認する方法

引数 trial_end を設定するとサイクルも変更されることを利用し、 next_cycle_plan の挙動をすぐに確かめることが可能です。

next_cycle_plan が適用された定期課金 ID に対して、以下のリクエストを送信してください。

curl "https://api.pay.jp/v1/subscriptions/定期課金ID" \
-u "sk_test_c62fade9d045b54cd76d7036": \
-d "trial_end=1分後など確認したい時刻のタイムスタンプ"

trial_end で指定した時刻を過ぎて一定時間経過後、定期課金のプランが next_cycle_plan で設定したプランに変更されていることを確認してください。