開発情報・ナレッジ

セミナー申込サイトに決済代行サービス「e-SCOTT」と連携したコンビニ決済サービス機能を追加する方法

ここでは、 セミナー受付管理でご案内しているセミナー申込サイトを例に、 ソニーペイメントサービス株式会社が提供する決済代行サービス「e-SCOTT」を利用して、コンビニ決済サービス機能を追加する方法をご紹介します。
※「e-SCOTT」の特徴
クレジットカード決済やコンビニ決済などの幅広い決済手段から、事業者様のニーズに合わせた最適な決済方法を一括導入、一元管理が可能であり、グローバルなセキュリティ基準に準拠し、20年以上の実績と信頼のソニーペイメントサービス株式会社のマルチペイメントサービスです。

デモを確認

関連記事はこちら

前提条件

セミナー受付管理が作成されていることが必要です。
決済機能のご利用にはソニーペイメントサービス株式会社との利用契約が必要となります。
ご契約からご利用開始まで、通常1.5カ月程度にてご案内いたしております。
サービス内容やお申し込みになる決済手段の審査状況によって、ご利用開始まで期間は異なる場合がございます。
お問い合わせ及びお申し込みは下記アドレスにお問い合わせください。
 メールアドレス:takahiro.nakamura@sonypayment.co.jp
 担当:中村

概要図


各処理から書き込みを行うログDBおよび各処理から読み込みを行う環境変数DBへの矢印は、概要図からは割愛しております。

構成要素

変更する構成要素
DB
コンビニ決済サービスに関連する情報を既存DBに追加します。
 ・セミナーマスターDB
 ・セミナー申込DB
サイト
コンビニ決済サービスに関連する情報を表示するように処理を追加します。
 ・セミナー一覧ページ
 ・セミナー詳細ページ
 ・セミナー申込ページ
追加する構成要素
DB
コンビニ決済サービスの履歴管理をするDBを作成します。
 ・ログDB

本処理で必要な変数を登録しておくDBを作成します。
 ・環境変数DB
サイト
コンビニ決済サービスへリダイレクトするページを新規作成します。
 ・決済処理ページ

セミナー申込者がコンビニ店舗で払い込みした情報を取得するためのページを新規作成します。
このページはe-SCOTTシステムからアクセスがあるのみで、セミナー申込者から見えないページです。
 ・入金通知取得ページ

手順

1. ソースコードダウンロード
必要なファイルを下記のリンクからダウンロードします。

2. DB変更と作成
2-1.セミナーマスターDB
以下のフィールドを追加します。
フィールドタイプ 表示名 備考
数値 料金
テキスト セミナーID


追加する「セミナーID」はDBトリガのレコードアクションを設定します。
DBトリガのレコードアクションの説明は以下のコンテンツをご確認ください。
DBトリガのレコードアクション

セミナーマスターDBへDBトリガのレコードアクションを作成し、アクション処理を設定します。
レコードアクションの登録トリガにて、システムで採番されるIDを「セミナーID」の格納値として設定します。
設定内容は画像を参照して下さい。

こちらも画像を参照し、設定して下さい。
2-2.セミナー申込DB
以下のフィールドを追加します。
フィールドタイプ 表示名 備考
テキスト 郵便番号
テキスト セミナーID
セレクト 決済ステータス 1:未決済(デフォルト)
2:決済
3:多重決済
数値 支払金額
日時 申込年月日
日時 決済完了日
テキスト セッションID
テキスト 処理通番
テキスト プロセスID
テキスト プロセスパスワード
テキスト URLリンク用キー情報
テキストエリア 備考

追加する「レコードID」「申込年月日」「セッションID」はDBトリガのレコードアクションを設定します。
DBトリガの登録方法については以下のコンテンツをご確認ください。
DBトリガのレコードアクション

セミナー申込DBへDBトリガの登録トリガのレコードアクションを作成し、アクション処理を設定します。
レコードアクションの登録トリガにて、システムで採番されるIDを「レコードID」の格納値として設定します。
またDB格納時の日時を「申込年月日」の格納値として設定します。
そしてランダム文字列を「セッションID」の格納値として設定します。
設定内容は画像を参照してください。
2-3.ログDB
e-SCOTTシステムとの送受信ログやセミナー申込DBの更新履歴を登録するDBになります。
以下のフィールドを作成します。
フィールドタイプ 表示名 備考
テキスト インデックス
テキストエリア ログデータ Jsonデータが登録されます
テキストエリア 備考

2-4.環境変数DB
本処理で必要な変数を登録しておくDBです。
以下のフィールドを作成します。
フィールドタイプ 表示名 備考
テキスト 環境変数名
テキストエリア 環境変数
テキストエリア 説明

環境変数DBに以下のレコードを登録します。
環境変数名 環境変数値 説明
ReceiveAgentURL ソニーペイメントサービス株式会社と契約すると、パラメータと値が払い出されます。
その値を設定します。
収納代行電文
ReceiveAgentRedURL 収納代行リダイレクトURL
MerchantID マーチャントID
MerchantPass マーチャントパスワード
SemiMstURL https://api.spiral-platform.com/v1/apps/[アプリID]/dbs/[セミナーマスターDBのDBID]/records (注1) セミナーマスターDBのURL
SemiRegistURL https://api.spiral-platform.com/v1/apps/[アプリID]/dbs/[セミナー申込DBのDBID]/records (注1) セミナー申込DBのURL
LogDataURL https://api.spiral-platform.com/v1/apps/[アプリID]/dbs/[ログDBのDBID]/records (注1) ログDBのURL
PaymentDuDate 60 コンビニ決済サービスの支払い期限日
PayComment ご利用ありがとうございました。 入金時に店舗でお渡しするバウチャー、レシートに記載するコメント
注1:DBへアクセスするためのURLです。確認方法は以下のページを参照してください。
 APIによるDB作成/レコード操作

アプリIDはアプリ作成時に発行されます、基本設定から参照できます。

またDBIDはDB作成時に発行されます。基本設定から参照できます。
3. DBアプリロール設定
既存のアプリロールにログDBに関する権限を追加します。
権限調整の詳細は、「アプリロール」をご確認ください。
制限内容は以下の通りです。
アプリロール 許可/制限したい内容
管理者 全操作可能
セミナー事務局
営業/サポート担当
販促
ログDBに関する操作はすべてNG
4. PHP環境変数
共通設定内のPHP環境変数にて、PHPで使用する環境変数を設定します。
設定内容は以下の通りです。
変数名 共通/個別 説明
APIKey 共通 APIキー (注1)
CvsEnvDbUrl 共通 環境変数DBのURL (注2)
BaseURL 共通 作成したサイトURL
注1:APIキーの発行方法は以下のそれぞれの詳細ページを参照してください。
 APIエージェントでのAPIキーの発行
 ユーザに紐づくAPIキーの発行
注2:環境変数DBへアクセスする為のURLです、このURLの調査方法は以下のページを参照してください。
 APIによるDB作成/レコード操作
5. ページ変更と作成
5-1. セミナー一覧ページ(任意)
セミナー一覧ページに料金フィールドを表示させます。
ご自身で料金表示の対応をする場合はスキップして頂いて構いません。
作成済みのレコードリストブロックを編集してフィールドを追加します。
詳しくは、レコードリストブロックのビジュアル設定をご確認ください。

追加項目
フィールドタイプ 表示名
数値 料金

追加すると以下のようになります。
5-2. セミナー詳細ページ(任意)
セミナー詳細ページに料金フィールドを表示させます。
ご自身で料金表示の対応をする場合はスキップして頂いて構いません。
作成済みのレコードアイテムブロックを編集してフィールドを追加します。
詳しくは、レコードアイテムブロックのビジュアル設定を参照してください。

追加項目
フィールドタイプ 表示名
数値 料金

プレビューは以下のようになります。
5-3. セミナー申込ページ
セミナー申込ページに郵便番号と支払金額を表示させます。
作成済みの登録フォームブロックを編集してフィールドを追加します。
追加方法については以下のコンテンツの「フィールドパーツ追加」をご確認ください。
登録フォームブロックのソース設定

追加項目
フィールドタイプ 表示名 備考
テキスト 郵便番号
数値 支払金額

プレビューは以下のようになります。
5-3-1.「PHP」タブの設定
「PHP」タブを選択し、以下のファイルの中身に全て置き換えます。
【seminar_application.txt】
このコードはセミナーIDをキーにセミナー情報を取得しパラメータとして引き渡す処理です。
5-4. 申込完了メール
申込完了メールに決済処理ページへの遷移用URLを追加します。
登録フォームブロックの完了メールを編集して本文に遷移用URLを追加します。
申込完了メールの本文などを変更したい場合は、「フォームのメールアクション」をご確認ください。

遷移用URLは決済処理ページのURLに、リクエストパラメータとして「?record={{セミナー申込のセッションID}}」を付与します。
これはセッションIDをキーとして、決済処理ページにアクセスするためです。
5-5. 決済処理ページ
e-SCOTTシステムへ電文送信と、コンビニ決済サービスへ遷移するページを作成します。
5-5-1.ページ作成
「フリーコンテンツ」ブロックを使用して、下図のように決済ページを作成します。
 識別名:pay
 表示名:コンビニ決済_決済処理
5-5-2.「フリーコンテンツ」ブロックの作成
フリーコンテンツブロック(ソース設定)を作成します。
作成の詳細については、「フリーコンテンツブロック」をご確認ください。

以下のファイル名の中身に全て置き換えます。
【payment_block.txt】
5-5-3.「php」タブの作成
「PHP」タブを選択し、以下のファイルの中身に全て置き換えます。
【payment_php.txt】
※ページ設定で指定したPHPは当該ページのみに適用されます。
5-6.入金通知取得ページ
コンビニ決済サービスの入金通知の情報を受け取るためのページを作成します。
5-6-1.ページ作成
下図のように結果通知取得ページを作成します。
 識別名:paynotice
 表示名:コンビニ決済_入金通知取得
5-6-2.「body」タブの作成
ブロック機能は使わず、作成したページの「body」タブを選択してください。
以下のファイルの中身に全て置き換えます。
【payment_notice.txt】
5-6-3.「php」タブの作成
「PHP」タブを選択し、以下のファイルの中身に全て置き換えます。
【payment_notice_php.txt】
※ページ設定で指定したPHPは当該ページのみに適用されます。
6. 動作確認
6-1. サイト・アプリの動作確認
セミナー受付管理ページ4-15-16-1 を参照しながら各画面の動作確認を行います。
6-2. 決済処理の動作確認
テスト環境のセミナー一覧ページから順次アクセスし、セミナー申込を完了させます。
送信された申込完了メールに記載されているURLをクリックし、決済処理ページへ遷移します。

コンビニ決済サービスへのお支払いをしていない状態(未入金)の場合は、以下の画面が表示されます。
既にコンビニへのお支払いをしている状態(入金済み)で遷移した場合は、画面に「こちらの申し込みの支払い処理は既に完了しています。」の文言が表示されます。

セミナー申込DBの決済ステータスが1(未決済)の状態の時、入金通知取得を受け取った場合、以下のようにセミナー申込DBの項目が更新されます。
 
表示名
処理通番 TransactionId(注1)
プロセスID ProcessId(注1)
プロセスパスワード ProcessPass(注1)
URLリンク用キー FreeArea(注1)
決済ステータス 2
決済完了日 NyukinDate(注1)
注1:e-SCOTTシステムからの応答電文のパラメータの値をセットします。

セミナー申込DBの決済ステータスが2(決済)もしくは3(多重決済)の状態の時、入金通知取得を受け取った場合、以下のようにセミナー申込DBの項目が更新されます。
 
表示名
決済ステータス 3
決済完了日 NyukinDate(注1)
注1:e-SCOTTシステムからの応答電文のパラメータの値をセットします。
7. 本番反映
テスト環境での確認が完了したら、セミナー受付管理ページ5-25-3を参照しながら本番環境に反映します。
5-4. 申込完了メールの本文に設定した決済処理用ページURLも本番環境のURLへ変更をして下さい。

ご利用について

ソニーペイメントサービス株式会社とのご契約について
初期費用、月額固定費、トランザクション処理料、手数料等は、商材によって異なることがありますので、ソニーペイメントサービス株式会社にお問い合わせ下さい。
お問い合わせ及びお申し込みは下記アドレスにお問い合わせください。
 メールアドレス:takahiro.nakamura@sonypayment.co.jp
 担当:中村

よくある質問と回答を以下のページに記載しております。
https://faq.sonypaymentservices.jp/category/show/67?site_domain=default
ご契約致しますと、「e-SCOTT」システムのマニュアルが提供されます。
弊社での動作確認について
本ナレッジ記事掲載にあたり、動作確認に利用したe-SCOTTシステムはコンビニ決済サービスとの通信は行わない試験用のシステムです。
実運用でご利用になる際は、e-SCOTTの本番用システムにて動作確認を実施してください。

ご利用ガイド

ソニーペイメントサービス株式会社の加盟店管理画面の操作方法について
操作方法についてはこちらのアドレスにアクセスして下さい。
https://faq.sonypaymentservices.jp/category/show/67?site_domain=default
コンビニ決済サービスのお支払い期限について
セミナー申込完了メールに記載していますURLをクリックした日を起点に、環境変数DBの項目「PaymentDuDate」に設定した日数(最長60日)までがお支払い期限となります。
レシートやバウチャーに記載する文言について
コンビニ店舗で支払い後にセミナー申込者へ渡すレシートやバウチャーに、自由にコメントを記載することが可能です。
このコメントは環境変数DBの項目「PayComment」に設定した文言が記載されます。
文字数は60byteまでとなっております。
空欄で設定しますと、システム仕様によりエラーとなります。

コンビニ決済サービスの多重決済について
SPIRAL管理画面のセミナー申込DBから「決済ステータス」が3(多重決済)のレコードを検索してください。
このステータスは、セミナー申込者が1つのセミナーに対して複数のお支払いをしている状態です。
該当のセミナー申込者に連絡し、不要なお支払い金額を返金する必要があります。
商品の料金について
コンビニ決済サービスで取り扱う金額は30万円以下としています。
また5万円以上の金額は印紙税法により収入印紙の貼付が義務付けられており、領収書に200円の収入印紙を貼ることになります。
収入印紙の実費は、後日セミナー運営事業者へ請求となります。


e-SCOTT連携に関する問い合わせはこちら

リンク先の「パートナーへのお問い合わせ」よりお問い合わせください。
解決しない場合はこちら コンテンツに関しての
要望はこちら