カテゴリー:
documentation
閲覧数:341 配信日:2019-04-03 10:58
docs
・Building a Store Builder
・ストアビルダーを構築する
準備をする
あなたがする必要がある最初のこと
・あなたのプラットフォームをStripeへ登録することである
次に、Webサイトに2つのページを作成する
・接続プロセスを開始する開始ページ(つまり、ユーザーがあなたのサイトに接続する場所)
・Stripeアカウントに接続した後にユーザーがリダイレクトされる宛先ページ。あなたのプラットフォームの設定で識別されるredirect_uriの値である
また、あなたが担当していることと、彼らが何をすることが期待されているのかをユーザーに示す必要がある
・コミュニケーションすることは特に重要である
彼らは彼らのStripeアカウントを作成して維持する必要があるだろう
・彼らはチャージバックとすべての顧客サービスの問題を処理する必要があるだろう
・誰にStripe料金を支払う責任があるか
・もしあれば、プラットフォームの課金するもの。この項目は、見過ごされがちな一歩である
・コミュニケーションが不十分な場合、かなり不幸なユーザーを生み出すことに繋がってしまう
アカウントを接続する
OAuth × Standard Stripeアカウント
・このシナリオでは、 OAuthフローを使用してStandard Stripeアカウント(既に存在しているかどうかにかかわらず)に接続する
・このオプションは、Stripeがユーザーエクスペリエンスの大部分を処理するため、設定が簡単である
・あなたのユーザーはStripeにリダイレクトされ、Stripeアカウントを作成または既存のStripeアカウントへ接続するように求められてから、あなたのサイトへ戻る
Connectは、 read_onlyとread_write 2つの異なるスコープの下での接続をサポートする
・接続ユーザーの代わりにリクエストを実行するために、 read_writeスコープをリクエストする
OAuthワークフローの最後に、接続したアカウントの認証資格情報が表示される
{
...
"stripe_publishable_key": "pk_live_xxxx",
"access_token": "sk_live_xxxx",
"stripe_user_id": "acct_xxxx",
...
}
・これはAPIリクエストを行うときにアカウントを識別するために使用されるので、 stripe_user_idを格納する必要がある
・stripe_publishable_keyはトークンを要求するために必要になる(下記参照)。
・繰り返すが、このフローは、ユーザーがすでにStripeアカウントを持っているかどうかに関係なく使用できる。 そうでない場合は、Stripeから作成するように促される(そしてStripeのサービス契約に同意する)
・Stripeアカウントが接続された状態で、あなたは彼らに代わって請求処理を始めることができる
トークンをリクエストする
セキュリティの向上とシステムの容易さの両方を実現するために
・Stripeは、顧客の支払い詳細、特にクレジットカード番号、有効期限、およびCVCがサーバーに触れないように設計されている
・代わりに、 ElementsまたはCheckoutを使用して、顧客の支払いの詳細が、サーバーを完全に迂回して、顧客のブラウザからStripeに直接送信される
・支払い方法が有効であると思われる場合、Stripeはブラウザに代表トークンを返す
・このトークンはあなたのサーバーへ送信され、そこで課金処理に使用される
PCI準拠
・他人のためにeコマースを有効にしていても、あなたのサイトはPCIに準拠し続けるために大金を使う必要はない!
接続アカウントから課金する
接続アカウントを介して料金処理
・このシナリオでは、接続アカウントが料金、払い戻し、およびチャージバック(そして暗黙的には顧客サービスの義務)に対して責任を負うので、接続アカウントを介して料金を処理する
・Connectでは、これは簡単である
・トークンを入手して、接続アカウントとして認証されている間にcreate chargeリクエストを実行する
ターミナル
$ curl https://api.stripe.com/v1/charges \
-u sk_test_xxxx: \
-H "Stripe-Account: acct_xxxx" \
-d amount=1000 \
-d currency=usd \
-d source="{TOKEN}"
接続アカウントはStripe feeを支払う
・支払い自体は接続アカウントの料金として表示され、接続アカウントはStripe feeを支払う
・その後、資金は通常のローリングベースで銀行口座への送金に使用できるようになる
・Standardアカウントでは、接続ユーザーはそこからの銀行口座への振替を制御する(手動の支払い、予定通りの自動支払い、または資金が利用可能になったときの自動支払いなど)
・彼らは自分のダッシュボードにログインして支払いの状況を確認したり、疑問や懸念をStripeに電子メールで送信したりできる
subscriptionsを作成する
subscriptionsサポート
・このEコマースモデルは、subscriptionsをサポートするように拡張することもできる
・そのためには、接続アカウント内でplansを定義する必要がある
・これはあなたができること、またはあなたの接続しているユーザーができることである(彼らがStripeアカウントをコントロールしているので)
・自分で作成したものか、ユーザーが作成したものかに関係なく、gold_monthlyというIDを持つ接続済みアカウントにplanが既に存在するとする
subscriptionは、customerとplanの組み合わせである
・有料subscriptionの場合は、支払い方法も必要である
・これらすべてをまとめると、接続アカウントの公開可能キーを使用してトークンが再び作成される
次に、接続アカウントに請求を作成する代わりに、customerを作成する
・ターミナル
$ curl https://api.stripe.com/v1/customers \
-u sk_test_xxxx: \
-H "Stripe-Account: acct_xxxx" \
-d plan=gold_monthly \
-d source="{TOKEN}"
・customerは、保存されたカードを使用して接続先のアカウントで作成され、 gold_monthlyプランが購読される
subscriptionsを使用している場合は
・請求書が生成されて支払われるとプラットフォームに通知されるように、 Webフックも定義することをお勧めする
サービス料金
すべてが適切に機能していれば
・幸せなユーザーがいることになる
・これは素晴らしいことである
・しかし、おそらくあなたはあなたのサービスを無料で提供していないのだろう!
あなたがあなたのサービスのために課金することができる2つの方法がある
最初のオプションはあなた自身のStripeアカウントを通してあなたのユーザーに課金することである
・顧客が自分のStripeアカウントを接続したら、 支払いの詳細を尋ねてから、Stripeアカウントでそれらのsubscriptionを作成する
・作成した顧客IDを関連するStripe IDと一緒に保存すると、どのユーザーが支払い済みでアクティブであるか、またどのユーザーがそうでないかを簡単に確認できる
・このアプローチは、定額制(例えば、サイトの作成とホスティングに10ドル/月、作成、ホスティング、電子商取引に20ドル/月)に最適だ
別の方法として、 application_fee_amountパラメータを使用して、処理された各請求の一部を受け取ることができる
・ここでは、顧客にはまだ10ドルが課金されており、ユーザーにはまだStripeの料金が支払われているが、さらに$ 2.00のアプリケーション料金も支払われている
・ターミナル
$ curl https://api.stripe.com/v1/charges \
-u sk_test_xxxx: \
-H "Stripe-Account: acct_xxxx" \
-d amount=1000 \
-d currency=usd \
-d source="{TOKEN}" \
-d application_fee_amount=200
・subscriptionsでは、定額の代わりにアプリケーション料金のパーセント(各合計料金のパーセント)を取ることができる