| v5.4 | リリース |
結果通知プログラムとは、GMOペイメントゲートウェイが提供する機能で、決済状況の変更を非同期で通知します。
本記事では、結果通知プログラムを用いて、決済状況を「GMOペイメントゲートウェイ取引」レコードの「取引状態」項目に自動反映するための設定方法について説明します。
結果通知については PGマルチペイメントサービス開発者ドキュメント(マルペイDocs)も併せて参照してください。
1.設定
結果通知の利用には「受信用プログラム」と「通知先URL」が必要です。
「受信用プログラム」についてはカミレスパッケージ内に含まれているため、「通知先URL」を以下手順により設定します。
1-1.公開サイトの作成
サイトは以下二つの内どちらかを作成します。なお、このサイトは画面に表示されることはありません。
作成後、必ずサイトの有効化をしてください。
- Experience Cloud サイト(Experience Cloud サイトの作成)
- テンプレートの指定はありません。
- Salesforce サイト(Salesforce サイトの作成と編集)
- 「有効なサイトのホームページ」が必要になるため、Visualforce ページを別途作成します。(Visualforce ページの作成)
- [Visualforce マークアップ]はデフォルトのままで問題ありません。
1-2.サイトの設定
設定 > サイト から作成したサイトの表示ラベルを押下し、詳細ページに遷移します。
[公開アクセス設定]を押下し、プロファイル画面から以下の設定をします。
- ログインIPアドレスの制限
テスト環境と本番環境の両方のIPアドレスを設定します。
適用するIPアドレスについては 結果通知(Webhook)開発ガイド にある「送信元IPアドレス」を参照して下さい。
- ゲストユーザーに権限セット付与とタイムゾーンの更新
プロファイル編集画面にある [このプロファイルに属するユーザーの参照] を押下し、「サイトゲストユーザー {サイト名}」を選択します。
(拡張プロファイルユーザーインターフェースが有効時は、[割り当てられたユーザー] を押下します)
ゲストユーザーに対して、権限セット「docutize Form GMO Webhook」を有効化して下さい。その他の権限セットは有効化しないでください。
[編集]から「タイムゾーン」を「(GMT+09:00) 日本標準時 (Asia/Tokyo)」に変更します。
1-3.ショップ管理画面の設定
ショップ管理 > 決済結果通知設定 > 基本設定で[編集]ボタンを押下します。
利用有無は「利用する」、結果通知プログラムURLは以下形式のURLを入力し[保存]します。
https://{作成したサイトのドメイン名}/services/apexrest/docutizeform/GMOPG/ResultNotification詳細については 結果通知 管理画面を使った運用 | マルペイDocs を参照して下さい。
2.決済状況の確認
送信された結果通知の内容は「GMOペイメントゲートウェイ取引ログ」オブジェクトのレコードとして記録され、「GMOペイメントゲートウェイ取引」オブジェクトのレコードに紐づいています。
2-1. GMOペイメントゲートウェイ取引ログ
GMO決済画面の遷移や結果通知により決済結果を受信した際にレコードが作成されます。
レコード詳細画面で表示されている項目とその内容は以下です。
| 項目名 | 説明 |
| 受信種別 | 「結果通知」または「画面遷移」が記録 |
| 決済手段識別子 | 画面遷移時に受信した内容が記録 ※ 値については 利用可能決済手段の指定 を参照 |
| 決済手段コード | 結果通知で受信した内容が記録 ※ 値については 085_モジュールタイプ(PHP版_マルチ決済インタフェース仕様) を参照 |
| 取引状態 | 画面遷移・結果通知で受信した取引状態が記録 ※ 値については 各決済手段 の概要ページを参照 |
| リンクタイプPlus処理結果 | 画面遷移時に記録 ※ 値については リンクタイプ Plus処理結果(状態)一覧 を参照 |
| 金額 | 決済で使用する金額が記録 |
| 税送料 | 決済で使用する金額が記録 |
| 取引ID | 決済機能を利用した場合に記録 |
| 取引パスワード | 決済機能を利用した場合に記録 |
| エラーコード | 取引エラーが発生した場合に記録 ※ エラー内容については エラーコード(マルペイDocs)を参照 |
| エラー詳細コード | 取引エラーが発生した場合に記録 ※ エラー内容については エラーコード(マルペイDocs)を参照 |
3.注意事項
- Pay払い(d払いやPayPayなど)の決済画面で、ブラウザバックやタブを閉じる操作をした際に結果通知は送信されません。
- 結果通知を受信時にGMOペイメントゲートウェイ取引ログレコードが作成できなかった場合、結果通知を再送する仕組みになっています。
- GMOペイメントゲートウェイ取引の「取引状態」項目には、以下の条件に一致するGMOペイメントゲートウェイ取引ログレコードの「取引状態」が反映されます
- 取引日時が最新 かつ 受信種別「結果通知」のレコード
- (もし「結果通知」のレコードが無ければ、「画面遷移」のレコードの内、取引日時が最新のもの)