bauer's diary

凡人の凡人による凡人のための備忘録

Stripeをシステム導入する際に知っておいたほうがよいこと 〜その1〜

はじめに

Webサービス運営するにあたり、特にECサイト構築の中でも決済部分は重要かと思います。
自社システムでもそういったニーズがあり、どのオンライン決済サービスを選定すべきか慎重に判断しなければなりません。

まずはじめに、他のオンライン決済サービスとどう違うのか、既にまとめられている情報を確認します。
この他にも実に様々なサイトで比較が行われています。
f:id:kitakitabauer:20170811183540p:plain
(オンライン決済サービス15選。手軽な決済方法で、アパレルECはもっと身近になる | ファッションEC最前線 | ネットショップ担当者フォーラム より引用)

有名所は個人でも使ったことがある方も多いPayPalかと思います。
続いてSPIKEホリエモンが取り上げていたこともあり知ってる方もいるのではないでしょうか。

今回の選定ポイントは、

  • 定期購読(サブスクリプション型課金)が可能か
  • 開発効率(対応言語やAPI及びドキュメントの充実度)
  • ユーザーに課金操作をスムーズに行ってもらいたい

でした。

その中で、PayPalとSPIKEは

  • PayPalは、PayPalアカウントがないと決済ができない
  • PayPalはページ遷移をはさむ
  • SPIKEは定期購読に対応していない
  • SPIKEはビジネスプランでないとVISAにしか対応していない
  • SPIKEはAPIを利用する場合5,000円/月かかる

といったことがネックとなりました。(2017.08時点の情報)

そういったことも踏まえて、自社では Stripe を採用する運びとなりました。

Stripeは下記特徴があり、結果ほとんど困ることなく開発を進めることができ、リリースできました。

  • 2016年10月から日本でも導入できるようになり、日本法人も存在
  • 事前審査や開設の初期費用も不要なので初期導入が楽
  • 振込サイクルが早い
  • テスト環境での検証が簡単
  • 振込手数料もなし、返金手数料もなし

開発効率

言語対応

様々な言語のクライアントが用意されており、
その中で今回Golangのクライアントを使って開発しました。
github.com

ドキュメント

全て英語ですが、サンプルコードが充実しているので非常にわかりやすかったです。
開発ドキュメント:Documentation
APIリファレンス:Stripe API Reference

例えば、カード情報を取得するAPIを確認する場合、
curl
f:id:kitakitabauer:20170812131510p:plain
Go
f:id:kitakitabauer:20170812131520p:plain
といったサンプルリクエストが言語ごとに記述されています。

テスト環境

定期購読形式課金のテストのしやすさは、決済サービス選定の大きなポイントになると思います。
Stripeでの定期購読形式の特徴は下記の通りで、

  • 定期購読の支払い期限のタイミングでStripeがWebhookによる課金リクエストを行う
  • Webhookにより課金ステータス(成功か失敗か)が更新される
  • 特定のWebhookリクエストをイベントとして、自社サーバのエンドポイントに紐付けてユーザに対する個別の処理を行うことができる

更に テスト環境で利用できるクレジットカードが準備されていた のでそれを使って本番さながらのテストが可能でした。


今回はここまでです。

次回は、そんな便利なStripeの中でも開発上で困ったことを紹介したいと思います。

次回の記事はこちら。
kitakitabauer.hatenablog.com