Stripe -支払い手段の追加-
以前FlaskアプリにStripeを導入したときは用意された入力画面を使いました。
また、支払いの度にCustomerが新規作成されていたので使い勝手が悪かったです。
import stripe.Customer.create( email=EMAIL, card=request.form['stripeToken'] )
理想的にはidでCustomerをretrieve()
、
さらに入力されたカード情報を使ってSource(決済手段、カードのクラスみたいなもの)を作成、これをCustomerに紐付ける。
その上でCustomerとPlanからSubscriptionを作成。
こんな感じになります。
idからCustomerを検索
customer = stripe.Customer.retrieve(id)
CustomerにSourceを追加
customer.default_source = SOURCE_ID customer.sources.create(card=card) customer.save()
詳しいことはこちら。
Subscription作成
顧客IDとplanを指定してい作成します。
subscription = stripe.Subscription.create( customer=st_id, plan=plan )