Stripe -支払い手段の追加-

#flask#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
)

参考