話題の記事

EC サイトの決済機能を開発するなら知っておきたい「与信」と「売上」およびそれらに関わる決済処理について

EC サイト決済で特によく用いる 「与信」 と 「売上」 および関連する決済処理についてまとめております。 prismatix の決済サービスについても紹介します。
2020.05.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

概要

EC サイトを構築・運営するに当たり、商品購入の最後の手続きであり、実際に売上金を受け取るための 「決済」 の機能は考えなければならないことのひとつだと思います。私が開発に携わる prismatix ( EC / CRM 向け API プラットフォーム) でも、 提供するマイクロサービスの機能として決済サービスを用意しております。

大抵の EC サイトであれば「クレジットカード決済」を備えると思いますが、その中で 「与信」「売上」 は必ずといっていいほど使う機能です。当記事ではこの与信と売上、および関連する決済処理についてまとめております。

各種処理の説明を踏まえて、最後に prismatix の決済サービスについても紹介します。

この記事で取り扱う内容について

この記事では一般的な会計用語としての解説はせず、「 EC サイト上で与信・売上をどう扱うか」 を観点として話をさせていただきます。 また、サンプルとして EC サイト・決済代行サービスを含むフローを載せていますが、いずれも同期的に処理することを前提としています。(非同期で処理結果を返す場合もあります。非同期の決済処理フローについては、別の機会でまとめたいと思います。)

この記事で使う用語の説明

  • EC サイト
    • インターネット上で商品管理・販売する Web サイト
  • 店舗
    • ECサイトの運営者
  • 顧客
    • 決済会社が提供する決済手段(クレジットカード・オンライン決済など)を使って、ECサイト上で販売する商品を購入する人
  • 決済会社
    • クレジットカード会社など、顧客が利用する決済手段を提供する会社
  • 決済代行サービス
    • EC サイト(あるいは EC サイトを利用する顧客)からの決済リクエストを元に決済会社への処理を請け負うサービス

決済代行サービス について補足

決済機能を開発するにあたり、Stripe などの決済代行会社が提供するサービス(以下、決済代行サービス)を利用することで、 EC サイトの決済機能開発に関して様々な恩恵を受けることが出来ます。

決済に関わる小難しい手続きを意識することなく、提供するインターフェースに従って決済の機能開発が実現できること、顧客のカード番号などセキュアな情報管理を EC サイトに代わって実行してくれたりといったメリットがあります。

そのため当記事の説明では、この決済代行サービスを使うことを前提としております。

与信 (オーソリ)

与信 (オーソリゼーション or オーソリ とも呼びます) とは、そのままの意味だと「信用を供与すること」です。一般的な EC サイトの決済においては、平たく言えば 「顧客が商品購入できること」 を言います。

以下は、顧客がクレジットカードを使って EC サイト上で商品の注文確定をした時のフローの一例です。

与信フロー

この時、決済会社は決済代行サービスのリクエスト内容を審査して顧客の「利用可能枠」から商品注文時の支払金額を確保します。クレジットカードであれば、カード契約時に予めその顧客の「利用可能枠」(要はカードで購入可能な金額の上限)が決まります。その利用可能枠から金額を確保できれば、与信成立となります。

与信を行っただけでは、顧客はまだ金額を「支払った」状態ではありません。そのため店舗側もまだその商品に対する売上金は受け取れない状態です。後述する「売上」処理の確定を以て、店舗の売上金として確定し顧客へ金額支払い請求することになります。

カード情報のやり取りに関して補足

上記で一例として紹介したフローの中で顧客が入力したカード情報ですが、 EC サイト側はカードの入力フォームを提供するだけで、カード情報そのものは受け取っていません。EC サイトは、決済代行サービスがカード情報と紐付けて発行した「トークン」を代わりに使って与信のリクエストを行います。

PCIDSS に遵守した決済代行サービスが提供するカードの入力フォームを用意することで、EC サイト側は カード情報の非保持・非通過 の処理フローを実現できます。

売上

前述しましたが、「売上」を行うことで店舗側への入金が確定します。 顧客が購入した商品の出荷が確定した時点でこの売上確定処理を実施することを想定しています。

以下は、EC サイト側で管理している支払い情報から売上確定を実施する時のフローの一例です。

売上フロー

与信・売上を取り消したい時

与信・売上を実行したけど、何らかの理由でその操作を取り消したい場合もあります。注文キャンセル、または売上済みであれば金額の払い戻し(返金)に相当する話です。

キャンセル

顧客が商品注文したけど、やっぱりキャンセルしたい、というのはよくある話です。注文キャンセルをするのであれば、与信で確保した利用可能枠を解放する必要があります。(利用可能枠を確保したままだと、別の注文をする時に利用可能枠の上限に達してしまう影響があるため)

決済代行サービスには確保した利用可能枠を解放することができる機能(与信のキャンセル)を備えているものがほとんどだと思います。

以下は顧客が EC サイト上で商品の注文キャンセルをする時のフローの一例です。

キャンセルフロー

なお、キャンセルができるのは「売上確定前」を想定しています。「売上確定後」である場合、後述する返金の機能を利用します。

返金

売上確定して商品の発送をしたけど何らかの事情で返品となり、顧客に対して相応の代金の払い戻しが生じる場合もあります。決済代行サービス側で返金機能があればこちらを利用します。

以下は、EC サイト側で管理している支払い情報から売上確定した金額の返金を実施する時のフローの一例です。

返金フロー

prismatix の決済サービスについて

最後に私が関わる prismatix の決済サービスについてもご紹介します。prismatix の決済サービスは上記で挙げた与信・売上・キャンセル・返金の機能を備えており、他にも決済代行サービスに応じて必要となる機能を REST API で提供しております。

prismatix を利用する場合のフロー

上記で説明した「与信」のフローに prismatix の決済サービスを利用する場合の一例を以下に示します。

prismatix を利用した場合の与信フロー

prismatix の決済サービスは、複数の決済代行サービスを抽象化し、統合したインターフェースを提供しています。EC サイト側は、実際に利用する決済代行サービスの処理を意識することなく、 prismatix のインターフェースを利用して決済に関わる操作を実行できます。

様々な決済代行サービスに対応しており、これからも対応可能とするサービスを増やしていく予定です。

prismatix をより良いサービスにしていくエンジニアを募集しています

上記で紹介した決済サービスを始め、 prismatix を構成する様々なマイクロサービスを一緒に開発・運用していくメンバーを現在も引き続き募集しております。これから対応可能としていく決済代行サービスに対する設計開発を行っていただく方も Welcome です。是非お話聞かせてください。 ?‍♂️

リクルート|プリズマティクス株式会社

よろしくおねがいします。