〈 HULFT Square 技術コラム【つないでみた編】 〉

HULFT Square 技術コラム【つないでみた編】一覧

技術コラム一覧

Vol.06
Stripeにつないでみた(Stripeへの接続・顧客アカウントの登録・支払方法の紐づけ)

はじめに

ECサイトでの決済処理と言えば社内の販売管理システムを中心に構築されてきたと思いますが、サブスクリプションという新しい契約形態への対応であったり、個人情報を社内で保有させないために決済処理を新しいクラウドサービスに任せたいというケースが発生しています。
今回はそうした決済処理プラットフォームの一つであるStripeとHULFT Squareの接続と、最初の操作として顧客アカウントと支払方法の登録作業を紹介したいと思います。

Stripeとは

Stripeは、Stripe社が提供している決済処理プラットフォームシステムです。
Stripeは顧客アカウントを作成することで、料金の受領、支払い方法の管理、入金の受け取り等を行うことができるウェブサイトを開設することができるようになります。
ECサイト・サブスクリプション契約・サービスプロパイダを対象としたマーケットプレイスなど、様々な決済の形式に対応しています。
StripeにはAPIによる各種処理も実装されており、RESTを使ったユーザーシステムとの連携が可能です。
https://stripe.com/jp

Stripeを利用した業務の流れのイメージ

①顧客アカウントの登録

エンドユーザーが顧客としてStripeの顧客アカウントに登録します。
実際の業務としては、エンドユーザーはECサイト上で登録操作を実行し、その顧客情報を裏でStripeに連携します。Stripe.jsを使用して直接Stripeに顧客アカウント情報を登録させる方法もあるのですが、今回は社内の顧客管理システムから顧客アカウント情報を登録させるイメージで連携処理を作成してみます。

②与信確認&売上請求

販売管理システムのデータで与信確認と売上請求をStripeに対して行います。
実際の業務としては、エンドユーザーはECサイト上で商品選択をして購入を実行しています。購入した内容が社内の販売管理システムに記録され、その内容でStripeにリクエストをHULFT Squareから送信します。

③入金情報の取得

売上請求を受け付けたら、Stripeは自動で回収処理(登録されている支払方法による料金の徴収)を行います。自動で回収した結果はStripeの中に記録されますが、実際の業務ではこの結果情報を社内の会計処理システムに回収漏れがないかを確認(消込処理)するために共有する必要があります。HULFT SquareでStripeから入金情報を取得して社内の会計処理システムに渡します。

以上の動作をまとめると、下図のようになります。
「顧客アカウントの登録」が連携A
「与信確認&売上請求」が連携B
「入金情報の取得」が連携C
となります。

検証内容

今回はHULFT Squareを活用して、連携A「顧客アカウントの登録」までを確認していきます。

  • ユーザの登録(Stripeへの顧客アカウントの登録)
  • ユーザの登録(支払方法IDの紐づけ)

事前準備

◎Stripe設定

まずは、Stripeから連携に必要な情報を取得していきます。
Stripeにログインをして開発者用に紐づけられた公開鍵および秘密鍵を確認します。

今回の連携では、この秘密鍵を利用して連携を行います。

◎HULFT Squareの設定

Stripe に接続を行うHULFT Squareの設定を、以下の流れで行っていきます。。

  • コネクションの設定
  • スクリプトの作成と実行

コネクションの設定

リソース内のコネクションを開き、「追加」をクリックします。

以下のように接続情報を入力していきます。

URL: https://api.stripe.com/v1
*これ以外の部分はすべてデフォルト設定で問題ありません。

スクリプトの作成と実行

最初に下記動作のスクリプトを構築してみたいと思います。

①ユーザの登録(Stripeへの顧客アカウント登録)

【REST アダプタの設定】

REST APIをPOST形式で実行できるように設定を行います。
次のようにコンポーネントの値を設定していきます。

  • 必須設定
    接続先:先ほど作成したコネクションを使用
    パス:customers
    ※オブジェクトの詳細については下記URLを参照してください
    https://stripe.com/docs/api/customers
    エンコード:UTF-8
  • リクエスト設定
    データ入力元:データ
    データ形式:フォーム
    フォーム設定:今回連携したいパラメータを任意で設定します
    ※パラメータの詳細については下記URLを参照してください
    https://stripe.com/docs/api/customers/create
  • レスポンス設定
    レスポンスのステータスコードが4xx、5xxの場合エラーにする:true
  • 認証設定
    認証:ベーシック認証
    ユーザ:(Stripeの秘密鍵の末尾に半角コロン「:」を付けた値を設定してください)
    パスワード:(未設定にしてください)
    これ以外の部分はすべてデフォルトの設定で問題ありません。

完了をクリックしてスクリプトを実行し、正常に処理が完了することを確認してください。
実行されたスクリプトで顧客のアカウントが追加作成されていることを確認できます。

次に下記動作のスクリプトを構築してみたいと思います。

②ユーザの登録(支払方法IDの紐づけ)

【支払方法IDの取得】

ユーザがクレジットカード等の支払方法をStripeへ登録すると、登録した情報に紐づく支払方法IDが自動的に作成されます。作成された支払方法IDをWebhookを通じてHULFT Squareへ連携できるようにします。なお、Webhookの詳しい設定方法は以下のURLを参照願います。
https://stripe.com/docs/webhooks

【REST アダプタの設定】

REST APIをPOST形式で実行できるように設定を行います。
次のようにコンポーネントの値を設定していきます。

  • 必須設定
    接続先:事前準備で作成したコネクションを使用
    パス:payment_methods/${支払方法ID}/attach
    ※設定のパスで利用している${支払方法ID}は、同名のスクリプト変数を作成し、Webhookで連携された支払方法IDを設定できるようにします
    オブジェクトの詳細については下記URLを参照してください
    https://stripe.com/docs/api/payment_methods
    エンコード:UTF-8
  • リクエスト設定
    データ入力元:データ
    データ形式:フォーム
    フォーム設定:「customer」を設定します。Stripeでの顧客アカウントのユーザーIDが必要です。
    ※①で作成した顧客アカウントのユーザーIDを入れるようにすれば、作成したユーザーに支払方法を紐づけることができます。
    パラメータの詳細については下記URLを参照してください
    https://stripe.com/docs/api/payment_methods/attach
  • レスポンス設定
    レスポンスのステータスコードが4xx、5xxの場合エラーにする:true
  • 認証設定
    認証:ベーシック認証
    ユーザ:(Stripeの秘密鍵の末尾に半角コロン「:」を付けた値を設定してください)
    パスワード:(未設定にしてください)
    これ以外の部分はすべてデフォルトの設定で問題ありません。

ここまで設定できましたら、スクリプトが正常に処理が完了することを確認します。
指定したStirpeの顧客に支払方法の情報が追加で紐づいているか確認してください。

おわりに

以上でHULFT Squareを利用して、Stripeへの顧客アカウントの登録を行い、支払方法を紐づけました。
次回は連携B「与信確認&売上請求」を行ってみたいと思います
https://dmscube.com/view/post/0/251695

HULFT Square 技術コラム【つないでみた編】一覧

技術コラム一覧

Change Location

Are you visiting HULFT.com (Japanese language) outside Japan ?
When connecting "HULFT" to Japan from overseas, please select "HULFT8".

日本国外からHULFT.com(日本語)にアクセスされようとしています。
海外から日本の「HULFT」と接続する製品をお探しの場合、「HULFT8」をお選びください。