当記事では、Stripe APIで定期購読の支払いが成功しているかを判定する方法について記します。
やりたいこと
Stripe APIで定期購読を実装していると、定期購読の支払いが問題なく行われたかを判定したい時があると思います。
例えば定期購読の支払いが失敗していたらログインさせたくない、などの要件を実現したい時。
Stripeで定期購読の支払いが成功しているかを判定する方法
Stripe APIで取得できるSubscription情報の中にstatusという項目がありまして、日本語の公式ドキュメントのサブスクリプションの仕組み | Stripe のドキュメント によるとステータスの種類は下記の7つになるようです。
activeとtrialing以外は未払い、失敗、キャンセルのいずれかのようなので、このstatusという項目を使って定期購読の支払いが成功しているかを判定することが出来そうです。
Stripeで定期購読の支払いが成功しているかを判定するコード
以下はPHP用のライブラリであるstripe-phpを使用した場合のコードです。
require_once('stripe-php/init.php');
\Stripe\Stripe::setApiKey(StripeのAPIキー);
$subscription = \Stripe\Subscription::retrieve(サブスクリプションID);
if($subscription->status == 'active' || $subscription->status == 'trialing'){
//定期購読の支払いが成功している時の処理
}else{
//定期購読の支払いが失敗している時の処理
}
以上、Stripeで定期購読の支払いが成功しているかを判定する方法でした。
コメント