2016年1月12日(火) 15:00より、定期課金時に送信されるWebhookのイベント種別が変更になります。
対象の処理は、定期課金作成、更新、再開となりますので、
- 定期課金の作成、更新、再開時のWebhookのイベントを使った処理を行っている方
に影響が発生いたします。
なお、billing_dayやtrial_daysを用いた、支払いが即時ではない定期課金は今回の対象とはなりません。
これまでの定期課金では、定期課金(subscription)オブジェクトが作成されたあとに支払いが実行されていたのに対して、今回の変更で、支払いが実行されたあとに定期課金(subscription)オブジェクトが作成されるようになります。
今までは、定期課金が作成されたあとに非同期で支払いが実行されており、支払いの成否に関わらずに、定期課金が作成されたまま残ってしまう仕様となっていました。
例えば、支払いに失敗した場合にWebhookで送信されるイベント種別は subscription.created, charge.failed, subscription.paused
というものになり、定期課金作成・支払いに失敗したにも関わらず、定期課金が作成され、subscription.pausedというイベントが送られていました。
こうした直感的ではない動作を是正するために、 支払いのトライ -> 定期課金の操作
というように支払いを先に行い、成功した場合にのみ定期課金を作成、失敗した場合は定期課金を作成しないというように変更を予定しています。
下記、詳細の挙動となります。
定期課金作成時
リクエスト:
curl https://api.pay.jp/v1/subscriptions \ -u API_KEY: \ -d plan=plan_id -d customer=customer_id
変更前
課金に成功した場合に送られるevent.type:
subscription.created charge.succeeded subscription.renewed
課金に失敗した場合に送られるevent.type:
subscription.created charge.failed subscription.paused
変更後
課金に成功した場合に送られるevent.type:
charge.succeeded subscription.created
課金に失敗した場合に送られるevent.type:
charge.failed
定期課金のプラン変更時
リクエスト:
curl https://api.pay.jp/v1/subscriptions/subscription_id \ -u API_KEY: \ -d plan=plan_id
変更前
課金に成功した場合に送られるevent.type:
subscription.updated charge.succeeded subscription.renewed
課金に失敗した場合に送られるevent.type:
subscription.updated charge.failed subscription.paused
変更後
課金に成功した場合に送られるevent.type:
charge.succeeded subscription.updated
課金に失敗した場合に送られるevent.type:
charge.failed
定期課金の再開時
リクエスト:
curl https://api.pay.jp/v1/subscriptions/subscription_id/resume \ -u API_KEY: \ -XPOST
変更前
課金に成功した場合に送られるevent.type:
subscription.resumed charge.succeeded subscription.renewed
課金に失敗した場合に送られるevent.type:
subscription.resumed charge.failed subscription.paused
変更後
課金に成功した場合に送られるevent.type:
charge.succeeded subscription.resumed
課金に失敗した場合に送られるevent.type:
charge.failed
ご利用いただいている皆さまにはご迷惑をおかけいたしますが、ご了承いただけますことをお願い申し上げます。