「ECサイトの決済システムを作るなら知っておきたいこと」というテーマで話をしました #devio2020
はじめに
6/16から7/7までテーマごとに合計7日間、クラスメソッドの年次技術イベント「Developers.IO 2020 CONNECT」を開催しております!セッションは100本以上となります。 本日 2020/06/30 Day5 に、「ECサイトの決済システムを作るなら知っておきたいこと」というタイトルでライブセッションをさせていただきまました。
セッション概要
EC サイトの決済システムを作る上で必要となる機能や決済フローに関して、 prismatix の決済サービスと合わせてご紹介します。
登壇資料
動画
Q&A
セッションの中でいただいた質問につきまして、その場では答えられなかったこともありましたので、改めて prismatix の各精鋭メンバーに確認した上で回答させていただきます。
Q1 : EC サイト上の1つの注文が複数回の出荷に別れたとき、決済サービス側の売上確定処理はどのタイミングで実行されるのでしょうか?
複数回の出荷が決まっているようであれば、出荷のタイミング毎に注文を分けて与信を実施します。その与信と関連した注文情報に対して、出荷もしくは着荷したタイミングで売上確定することが基本的だと思います(Q5参照)。
Q2 : prismatix の決済サービスを運用していて発生したエピソード(トラブルなど)があれば教えて下さい
外部のサービスを扱うという都合上、以下のような状況が発生することがあると思います。
- 外部サービス側との通信が途絶えた
- 外部サービスやその先のカード会社とのレスポンスで遅延が発生し、リクエスト元がタイムアウトとなった
この場合に prismatix 側と外部サービスとでステータスの不整合が生じたこともあり、その復旧に時間を要したこともありました。このステータスの不整合をいかに検知し、復旧を容易にするためにはどうしたらよいかという課題がまだあります。適宜改善を続けている状態でございます。
Q3 : 決済サービスについて調べたり、学習したりするのによい方法、情報源などあれば教えて下さい。
Stripe のドキュメントは、決済に関わる基礎や開発に関連する情報がパブリックにまとまっており、おすすめです。実際に公開しているテストカードを使った API 検証もすぐにできます。例えば以下は Stripe でカード決済を進める上でのクイックスタートです。
英語読むのがしんどい、という方には、日本国内で展開する決済代行サービスの資料を見ることをおすすめします。例えば VeriTrans が提供する VeriTrans4G というサービスの資料を見ることをおすすめします。
今日ご紹介したカード決済に関する観点でまずは見ていただけると、他の決済手段ではどのような機能があるかを確認する際にも理解が深まるかと思います。
Q4 : 外部の決済サービスを利用して開発する際に、どのように検証、テストを行っているのでしょうか。
外部の決済サービスでもしテストアカウントを利用できるのであれば、そちらを利用して実際の疎通確認を行うことがまず一般的だと思います。
決済サービス側の契約状況や仕様によっては、テストアカウントがすぐに利用できないといったケースもあります。その場合は、決済サービスの仕様を元にダミーのレスポンスを予め用意して、決済サービスを利用しない接続方法であればダミーを利用する、といった動きを予め作って開発するケースもあります。
Q5 : IFRS(国際会計基準)では売上確定は着荷基準だと思いますが、日本ではまだまだ出荷基準が主流なのでしょうか?
基本的には 出荷したタイミングで売上確定をしているケースが多いです。 prismatix を利用していただいてるお客様によっては着荷基準にしている場合もあります。
Q6 : 商品の在庫切れなどに起因して出荷できない場合、出荷可能になるまで与信を確保し続けるのでしょうか?
与信を確保し続ける場合もあると思います。ただし決済サービスやカード会社によっては与信の期限が決まっているものもあります。期限が切れた後の出荷に備えるのであれば、その注文に対して再度与信を実施して売上を確保する、といったことも考えなければいけないと思います。
Q7 : クレカ、コンビニ、電子マネー等、決済手段が多様化していますが、どういった基準で対応するかどうかを判断していますか?何かご意見いただけば幸いです。
prismatix としては、基本的には以下で優先順位を付けて対応しています。
- お客様からの要望
- サービスとして標準化すべきもの(世の中で流行っているもの)
現状、EC でのご利用が多いのでクレジットカード決済の対応が優先的に進んでいます。 EC で電子マネーが流行ったり、EC 以外のお客様が増えると、決済対応のターゲットは広がっていきます。
参考
本セッションは、以前私が公開した以下の内容がベースになっています。こちらも合わせてご確認いただき、決済に関して知っていただければ幸いです。
- EC サイトの決済機能を開発するなら知っておきたい「与信」と「売上」およびそれらに関わる決済処理について | Developers.IO
- EC サイトの決済(与信)処理を非同期的に実施する場合の処理フローについて紹介 | Developers.IO
セッション内で挙げたリンク
Developers.IO 2020 おすすめの prismatix 関連セッション
今回の Developers.IO 2020 で既に挙がっているおすすめのセッションをご紹介いたします。いずれも、私と同じく事業開発部で prismatix に携わるメンバーが、自身の担当業務の中でのお話が中心となっています。
- マイクロサービスにおけるログ管理とコスト (小室啓)
- プロフェッショナルなエンジニアとしてのコミュ力概論(塩谷啓 (kwappa))
- 製品導入する系エンジニアについて考える (北川恭平)
- 本当に怖い軽減税率対応 (髙野 将 a.k.a. @masaru_b_cl)
これらのセッションも合わせてご確認いただき、 prismatix というプロダクトがどのように開発・運用・導入支援を進めているかというところも合わせて知っていただきたいです。よろしくお願いいたします。