Twilio PayでStripe決済を試してみた
私は仕事で決済サービスに関わることがあり、Stripeにも関わったことがあるのですが、Twilio PayがStripeに対応していることを知りまして試してみました。
試すにあたっては、下記の記事を参考と言いますか、そのまま手順を追って設定するだけで無事テストができました。
ですので、この記事の内容としては私も同じように試してみたらできました、といったものになります。
それにしてもTwilioの<Pay>Connectorsのおかけで、ちょっとの設定でStripeを使った電話での決済ができるということを確認できました。
テクノロジーの進化はすごいです。
前提
- Twilioアカウントが開設済みであること
- 電話番号を1つ取得済みであること
- Stripeアカウントを開設済みであること
設定手順
<Pay>Connectors(Stripe)のインストール
Twilioの管理画面にログインし、メニューのProgrammable Voice > <Pay>Connectors
を選択します。
PCI Mode
というものを有効にする必要があるので、画面上のリンクをクリックします。
Enable PCI Mode
をクリックします。
内容についてAcceptします。
PCI ModeのSTATUS Enabled
になっていることを確認したら、画面下にあるSave
ボタンを押します。
もう一度、メニューのProgrammable Voice > <Pay>Connectors
を選択します。
Stripe Connector
を選択します。
インストール
をクリックします。
確認画面が出るので、同意してインストールします。
<Pay>Connectors(Stripe)の設定
ユニーク名
をDefault
という値にしておくと、<Pay>Connectorsの設定を変更しないで済むそうなので、そのようにしました。
あと、Stripeにはテストモードと本番モードがあり、今回はテストをするだけですので、MODE
はtest
を選択します。
デフォルト値がそのようになっております。
Twilio PayのStripe Connectへ自身のStripeアカウントを接続
Connect with Stripe
をクリックします。
Stripeの画面にリダイレクトします。
これはStripe Connectというプラットフォームサービスへ、自身(Twilio Payの利用者(事業会社など))のStripeアカウントを参加させるための手続きになります。
Stripeを使用してサインイン
をクリックします。
Stripeへのログイン画面が表示されますので、自身のアカウント情報を入力して、ログインします。
ログインが完了すると、Twilioの画面に戻ってきます。
画面上のSTATUS
がConnected in Test Mode
になっていることを確認します。
これでStripeアカウントの接続操作は完了です。
TwiML Binsの作成
TwilioのメニューのDEVELOPER TOOLS > Runtime
を選択します。
遷移先画面上のメニューのTwiML Bins
を選択します。
私の環境では、何も作成しないため、画面上のCreate New TwiML Bin
をクリックします。
任意の名前を入力して、下記の内容を貼り付けます。 テストモードなので、実際に決済処理は走らないですが、決済額は50円にしてます。 (chargeAmount="50"の部分です)
Stripeは決済に紐づく情報をMetadataとしてJSON型で自由に設定できるのですが、事前に固定値を設定しておくといったことはできないようです。
<?xml version="1.0" encoding="UTF-8"?> <Response> <Pay chargeAmount="50" currency="jpy" postalCode="false" action="https://"> <Prompt for="payment-card-number"> <Say language="ja-JP" voice="Polly.Mizuki">クレジットカード番号を入力してくださ</Say> </Prompt> <Prompt for="expiration-date"> <Say language="ja-JP" voice="Polly.Mizuki">有効期限を、月と年のそれぞれ2桁の数字で入力してください</Say> </Prompt> <Prompt for="security-code"> <Say language="ja-JP" voice="Polly.Mizuki">セキュリティコードを入力してください。セキュリティコードは、カードの裏面に記載されている3桁のコードです。</Say> </Prompt> </Pay> </Response>
入力したら、画面下のCreate
ボタンを押します。
電話番号へTwiMLの紐付け
作成したTwiMLが電話番号へ着信した際に呼び出されるように設定します。
TwilioのメニューのSUPER NETWORK > Phone Numbers
を選択します。
TwiMLを紐付ける電話番号を選択します。
設定画面上の通話着信時
でTwiML
を選択し、作成したTwiMLを選択します。
選択したら、画面下の保存
ボタンを押します。
以上で設定は完了です。
冒頭で申し上げた通り、ほぼ設定のみで済みます。
テストしてみる
電話番号に発信すると、TwiMLに記載した文字列が読み上げられますので、下記に記載されているテスト用のクレカ番号を入力します。
- Test card numbers and tokens
Stripeダッシュボード上で確認
ダッシュボード上で、テストデータの表示中
を選択して、メニューの支払い
を選択します。
すると50円の決済がされていることが確認できます。
ちなみに成功
欄に出ている決済なので、キャプチャ処理まで完了しているということになります。
(オーソリ確保済みではありません)
おわりに
今回は、Twilio PayによってStripeを使った決済をサクッと始められそうなことが確認できました。
触ってみて下記のことが気になりましたので、確認が取れましたらブログにしたいと思います。
- エラー発生時の処理
- Stripe側にCustomerを登録できる場合、IVR認証を行なって顧客を特定できれば、Stripeに登録されているカード(トークン)を使って決済が可能になるのかどうか?
- キャプチャではなく、オーソリだけすることは可能かどうか? など