ヤマムギ

growing hard days.

*

Stripe CheckoutをローカルのPythonで試す

      2017/12/10


Stripe Advent Calendar 2017の参加記事です。

StripeのCheckoutフォームをテストモードで試してみるハンズオン手順です。
Pythonをローカルで動くように設定します。

Stripe アカウント作成

まずStripeのアカウント作成です。

https://stripe.com/jpへアクセスします。

[アカウント登録]をクリックします。

メールアドレス、名前、パスワードを登録します。

もう出来ました。

登録したメールアドレスに確認メールが届いてますので、[Confirm email address]をしておきます。

管理者アカウントに2段階認証を有効にする

右上のアイコンをクリックして[プロフィール]をクリックします。
プロフィール画面で2段階認証 – [追加]をクリックします。

[SMSを追加]か[Google Authenticatorを追加]が選べますのでどちらかを選択して設定します。
両方設定した場合はログイン時に選択も出来ます。

ローカルPCの用意

Pythonがインストール済か確認します。

Mac/Linuxはターミナル、Windowsはコマンドプロンプトで次のコマンドを実行します。

バージョンが表示されればインストール済です。
2系か3系かを覚えておいてください。

エラーになった場合はPythonをインストールします。

https://www.python.org/downloads/より3系のPythonをダウンロードしてインストールします。

※ Windowsでインストール中に「Add Python to environment variables」が選択できればしておいてください。

インストールが完了したかどうかは上のバージョン確認コマンドで確認してください。

テストコードの用意

テストコードをダウンロードします。

ダウンロードしたZIPファイルを展開して任意のフォルダに移動します。

Checkoutフォームに公開可能鍵を設定する

stripe_demo-masterフォルダ下のcheckout.htmlをテキストエディタで開きます。

Stripeダッシュボードの[API]の公開可能のトークンをコピーして、checkout.htmlのdata-keyを書き換えて保存します。

Pythonのコードにシークレットキーを設定する

stripe_demo-master – cgi-bin フォルダ下のstripe_test.pyをテキストエディタで開きます。

Stripeダッシュボードの[API]のシークレットキーのトークンをコピーして、stripe_test.pyのstripe.api_keyを書き換えて保存します。

Pythonの簡易CGIサーバーを起動する

stripe_demo-masterフォルダにターミナルで移動します。

次のコマンドを実行します。
(バージョンによってコマンドが違います)

Python 3系の場合

Python 2系の場合

と表示されるとOKです。

テストする

checkout.htmlをブラウザで開きます。

[Play with Card]をクリックします。

メールアドレス(存在しなくてもいいです)、
カード番号(テスト用 4242 4242 4242 4242)、
有効期限(未来の期限)、
セキュリティコード(3桁 or 4桁の番号)、
を入力して[2,000を支払う]をクリックします。

ダッシュボードを見ると、2,000円が入金されています。

ハンズオンは以上です。
本番で使用するときは[本番環境利用の申請]が必要です。

CheckoutのReferenceやAPIドキュメントを参考に色々試したりしてみましょう。

今回は簡単に試してみるためにローカルでPythonの簡易CGIサーバーを使いましたが、
環境はAWS Lambda + API Gatewayや、Herokuなどが使えるかなと思います。
言語も他の言語も使えますのでお好きな言語で開発してみてください。

Stripe Checkout Reference
https://stripe.com/docs/checkout

Stripe API Document
https://stripe.com/docs/api

※ 手順でおかしな点や改善点があればご指摘いただけますと幸いです。

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - API , ,

ad

ad

  関連記事

Twilioのサインアップをして最初の電話番号を設定する

ハンズオンなどTwilioを使ってみる場合に、最初は無料トライアルアカウントとな …

docomo Developer supportの 雑談対話APIから自然対話APIへ移行しました

LINEやSlackのbotで重宝していた、雑談対話APIが終了する、とのことで …

Twilioで電話を受ける人の仕事を少し楽に出来ないか考えてみた

Twilio Advent Calendar 2017の参加記事です。 Twil …

Slackでチームを作成してbotから投稿出来るようにする

Slackで新しいチームを作成して、botが投稿出来るように設定します。 ※20 …