ホーム

Stripeで定期購読をキャンセルする方法

2018年3月27日

Stripeで定期購読(以下Subscription)をキャンセルする方法を紹介します。ここで使うコードはphpですがロジックがわかれば他の言語でも十分参考になると思います。

StripeでSubscriptionをキャンセルするために必要なのはsub_で始まる会員IDです。これはダッシュボードで下記のように確認できると思います。これは一人一人ユニークで唯一無二なものです。

 

上記のsub_で始まる会員IDを指定してSubscriptionのキャンセルを実行します。具体的には下記のように実行すればサブスクリプションが解除されます。

 

 
$sub = \Stripe\Subscription::retrieve("sub_CY38MZuhjsTtRc");
$sub->cancel();

echo $sub;
 

 

問題は、どうやって動的に会員IDを取得するかっていうこと。こういう方法はどうだろうか。サブスクリプションを作るときに、カスタマー情報を作ったと思うけれど、descriptionで使用したメールアドレスと、サブスクリプションを作るときに作られた上記の会員IDをデータベースに保存しておいて、会員解約のフォームでメールアドレスから、会員IDを取得して、メールアドレスと紐づいている会員 IDを特定、その会員 IDに対してSubscriptionのキャンセル処理を実行するっていうのは。メールアドレス+パスワードでもいい。問題はないのではないだろうか?例えば、下記のようにしてカスタマー情報と、サブスクリプションを作成していたとしたら

 

//======================================================================
// トークンの情報を元にカスタマー情報を作る
//======================================================================
kk =  \Stripe\Customer::create(
  array(
  "description" => "フォームから受け取ったメールアドレス",
  "source" => "$token_from_js", // カスタマー情報のトークン
  )
);

//======================================================================
// カスタマー情報を元に月額支払いのサブスクリプションを作るって実行する
//======================================================================
$subscription =  \Stripe\Subscription::create(
  array(
  "customer" => "$customer->id",
  "items" => array( array("plan" => "id-test",), )
  )
);

 

下記のようにしてメールアドレスと、カスタマーIDが取得できる。 

//======================================================================
// 実行結果をechoで確認する
//======================================================================
echo $subscription->id;
echo $customer -> description;

 

上記の二つの変数をdbに保持しておけば、ユーザーが自分でサブスクリプションを解除できそうだ。

Pocket
LinkedIn にシェア

エンジニアにおすすめできる本

Card image cap
リーダブルコード

より良いコードを書くためのシンプルで実践的なテクニック

Card image cap
Webを支える技術

HTTP,URI,HTML,そしてREST

Card image cap
誰でもPythonで作れる

儲かるAIとソフトウェアの作り方

Card image cap
プログラマが知るべき97のこと

現場で使える実践哲学のマスターピース

Card image cap
情熱プログラマー

時代を超えて。ソフトウェア開発者の幸せな生き方

Card image cap
アジャイルサムライ

プログラミング達人開発者への道

Card image cap
Rubyを作った男 まつもとゆきひろ

コードの世界 スーパー・プログラマになる14の思考法

ご提供 sponsor
 

Meee!(ミー)は、ビジネスからプライベート利用まで、個人のスキルを気軽に売り買いできるスキルマーケットです。カテゴリや居住地から、検索することが可能です。

 

ランゲージエクスチェンジは、ネイティブスピーカーと気軽にマッチングできる言語交換プラットフォームです。あなたの地元に住む外国人を探したり、留学や海外移住の前に、現地のネイティブスピーカーと繋がることもできます!

宣伝
 

りょすけトークchは、仕事や私生活をより豊にするYouTubeチャンネルです。文献(本、映画、論文)から役に立つ情報をまとめ、生涯にわたり役に立つ哲学をお届けしています。是非、チャンネル登録してみてね

-ホーム

Copyright© offブログ! , 2021 All Rights Reserved Powered by AFFINGER5.