VibeFox 2C2P for PrestaShop — ヘルプ
要件
PrestaShop: 8.0 から 9.x。
PHP: 8.0 以降。モジュールは、それより古い PHP バージョンへのインストールを拒否します。
2C2P アカウント: 2C2P の加盟店アカウントの Merchant ID と Secret Key が必要です。加盟店アカウントを開設する際に 2C2P から発行されます。サンドボックスアカウントと本番アカウントではキーが異なります。開発者向けドキュメントとサンドボックスのテストカードは developer.2c2p.com にあります。
通貨: カートの通貨がモジュールで対応しており、2C2P アカウントで有効になっている必要があります。対応している通貨には、THB、SGD、MYR、PHP、IDR、VND、MMK、KHR、LAK、CNY、HKD、TWD、JPY、KRW、INR、AUD、NZD、USD、EUR、GBP などがあります。カートの通貨が対応していない場合、チェックアウトで支払い方法は表示されません。
VibeFox ライセンスキー: vibefox.net で購入します。1 つのキーは 1 つのドメインで利用できます。
インストール
1. 管理画面で Modules > Module Manager を開き、Upload a module をクリックします。モジュールの ZIP ファイルを選択します。
2. アップロードが完了したら Configure をクリックします。後から行う場合は、モジュール一覧で VibeFox 2C2P Payment を探し、Configure をクリックします。
3. Configure ページ上部のライセンスブロックで、VibeFox ライセンスキーを License key に入力し、Activate をクリックします(「ライセンスキー」を参照)。
4. サンドボックスの Merchant ID と Secret Key を入力し、Enable/Disable を有効にして Save をクリックし、テスト注文を行います。
5. 準備が整ったら、本番の認証情報を入力し、Sandbox Mode を無効にします。
インストール時に、モジュールは 2 つの注文ステータス Awaiting 2C2P payment と 2C2P payment on hold を作成します。PrestaShop は、新しい支払いモジュールをすべての通貨、国、顧客グループで有効にします。これは Payment > Preferences で制限できます。戻り先 URL と通知 URL は、すべての支払いに送られます。2C2P のポータルで何も設定する必要はありません。
設定
すべての設定はモジュールのページにあります:Modules > Module Manager > VibeFox 2C2P Payment > Configure。各セクションには個別の Save ボタンがあり、ページ全体が保存されます。サンドボックスモードが有効な間、フィールドの上に Sandbox mode is active. No real transactions will be processed. と表示されます。ゲートウェイは有効なのに現在のモードの Merchant ID または Secret Key が空の場合や、ショップの既定通貨が対応していない場合に警告します。どちらの場合も、チェックアウトで支払い方法は表示されません。Sandbox Mode をオフにした状態で保存し、本番のフィールドが空の場合は、Please enter your live Merchant ID. または Please enter your live Secret Key. と表示されます。ただし、設定は保存されます。
2C2P
Enable/Disable: Enable 2C2P Payment Gateway は、支払い方法のオン/オフを切り替えます。既定値:オフ。
Title: チェックアウトで顧客に表示される支払い方法の名前です。注文にも支払い方法の名前として保存されます。既定値:2C2P Payment。
Description: チェックアウトで支払い方法の下に表示されるテキストです。既定値:Pay securely via credit/debit card, e-wallet, or internet banking through 2C2P。サンドボックスモードでは (TEST MODE) が追加されます。
テストモード(サンドボックス)
Sandbox Mode: 下記のサンドボックスの認証情報を使い、支払いを 2C2P のサンドボックス(demo2.2c2p.com)に送信します。既定値:オン。実際の支払いを受け付けるには、オフにします。
Sandbox Merchant ID: 2C2P のサンドボックス用 Merchant ID です。
Sandbox Secret Key: 2C2P のサンドボックス用 Secret Key です。
本番 API の認証情報
サンドボックスモードがオフのときに使用されます。
Merchant ID: 2C2P の本番用 Merchant ID です。
Secret Key: 2C2P の本番用 Secret Key です。キーは、引用符やバックスラッシュを含め、入力したとおりに保存されます。
保存済みの Secret Key は再表示されません。フィールドは空のままになり、Saved — leave empty to keep it. と表示されます。値を変更したい場合にのみ、新しい値を入力します。
保存済みのシークレットを削除: Sandbox Secret Key または Secret Key にチェックを入れて Save をクリックすると、削除されます。フィールドが空の場合は、保存済みの値が維持されます。
結果は、支払いが行われたモードの Merchant ID と Secret Key を使って常に検証されます。サンドボックスモードで開始された支払いは、本番に切り替えた後もサンドボックスのキーで検証されます。もう一方のモードのキーで署名された結果は拒否されます。
決済ページ
結果 URL: 参考として、Frontend return URL と Backend notification URL を表示します。フレンドリー URL を使用している場合は、https://your-shop/module/wcp_2c2p_payment/return や https://your-shop/module/wcp_2c2p_payment/notify のような形式になります。先頭に /en/ などの言語コードが付くこともあります。これらは、すべての支払いで自動的に送られます。
Payment Page Language: 2C2P の決済ページの言語です。既定値:English。
Redirect API version: 2C2P から、アカウントがまだ古いバージョン 7.0(SHA-1 署名)を使用していると通知されていない限り、8.5 のままにしてください。切り替えより前に開始された支払いの結果も、引き続き検証されます。
Order ID prefix: 任意で、英字と数字のみ(最大 10 文字)を使用できます。例:SHOP1。2C2P は、すでに受け取った注文 ID を拒否します。複数のショップで 1 つの 2C2P アカウントを共有する場合や、テスト用の加盟店アカウントが共有されているサンドボックスでは、一意のプレフィックスを設定してください。保存時には、それ以外の文字が警告付きで削除されます。
詳細設定
Enable Logging: 2C2P のイベントを、モジュールのフォルダー内の logs/tc2p_p_debug.log.php に書き込みます。このファイルは Web から開くことはできません。カード情報、Secret Key、顧客のメールアドレス、支払いトークンは記録されません。既定値:オフ。オフの間は、エラーを含め何も書き込まれません。
Log: ログのサイズと最新の記録を表示します。Clear log をクリックすると、ログが空になります。
Delete Data on Uninstall: オンにすると、モジュールのアンインストール時にゲートウェイの設定とログが削除されます。2C2P のトランザクション、注文、モジュールの注文ステータスは常に残るため、再インストール後も、古い支払いの遅延した結果が処理されます。既定値:オフ。
チェックアウト
支払いの手順で、顧客は支払い方法(既定では 2C2P Payment)を選び、確定します。次のページには Thank you for your order. You will be redirected to 2C2P to complete your payment. と表示され、しばらくすると顧客は 2C2P の決済ページに移動します。移動しない場合は、顧客が Pay via 2C2P をクリックします。このページには Back to checkout ボタンもあります。この時点では、まだ注文は存在しません。
2C2P のページでは、顧客は 2C2P アカウントで有効になっている任意の方法(クレジットカード、電子ウォレット、QR 決済、インターネットバンキング、現金払いなど)で支払います。モジュールは、カートの合計金額(カートの通貨)、顧客のメールアドレス、カート内の商品名を送信します。支払いは 24 時間以内に完了できます。支払いの試行ごとに、2C2P の注文 ID が個別に割り当てられます(オプションのプレフィックスの後に、カート番号と試行番号が続きます)。2C2P は同じ注文 ID を 2 回受け付けないためです。
2C2P は結果を 2 回報告します。顧客のブラウザがショップに戻るのと、2C2P がサーバー間の通知を送るのです。どちらも同じように処理されます。注文は、2C2P が有効な署名で確認した後にのみ支払い済みとしてマークされます。結果は、その支払いに属している必要もあります。2C2P の注文 ID はショップが発行したものでなければならず、Merchant ID と試行ごとのランダムなトークンも確認されます。有効な署名のない結果は拒否されます。通知は、ショップがメンテナンスモードの間も機能し、ショップの国別制限の影響は受けません。
支払いが成功すると注文が作成され、顧客には標準の注文確認ページが表示されます。ここには Your 2C2P payment has been received. と表示されます。保留中の支払いの場合は、Your 2C2P payment is pending (for example a cash or bank payment that is not made yet). The order will be processed as soon as 2C2P confirms the payment. と表示されます。保留中の注文の場合は、Your payment was received and is being reviewed by the shop. と表示されます。保留中の支払いが後にキャンセルされた場合は、Your 2C2P payment was not completed. Please contact us about this order. と表示されます。
支払いが完了しなかった場合、注文は作成されません。顧客は Payment was not completed. Please try again or choose a different payment method. というメッセージとともにチェックアウトに戻ります。カートは保持されるため、顧客は再度支払うか、別の支払い方法を選べます。結果を確認できない場合、顧客には We could not confirm the payment result. If your account was charged, please contact us before paying again. と表示されます。カートの通貨が対応していないなどの理由で支払いを開始できない場合は、This payment method is currently unavailable for this order. Please contact us or choose another payment method. と表示されます。
カートにすでに注文がある場合(支払い済み、または保留中の支払いを待っている場合)は、2 つ目の支払いフォームは作成されません。顧客は注文確認ページに案内されます。
このモジュールには、PrestaShop からの返金、カードの保存、定期払いやサブスクリプション、お使いのサイト上のカード入力欄はなく、2C2P PGW 4.x API にも対応していません。
注文
注文ステータス
No order yet: 顧客は 2C2P に移動しましたが、まだ結果は届いていないか、支払いに失敗しました。カートだけが存在します。
Payment accepted: 2C2P が支払い成功を報告しました(ステータス 000)。支払いは、2C2P のトランザクション参照をトランザクション ID として記録されます。注文の非公開メモには、2C2P のトランザクション、承認コード、日付、支払いチャネルが表示されます。
Awaiting 2C2P payment: 支払いは 2C2P で保留中です(ステータス 001)。たとえば、顧客がまだ支払っていない現金払いなどです。2C2P が支払いを報告すると、注文は Payment accepted に移ります。
2C2P payment on hold: 2C2P が、注文合計と異なる金額または通貨を報告しました。メモには、受け取った値と期待される値が表示されます。2C2P のポータルで注文とトランザクションを確認してください。
Canceled: 保留中の支払いが後から拒否、キャンセル、または失敗しました(ステータス 002、003、999)。メモには、ステータスと理由が表示されます。以前の試行の失敗結果が、別の試行で作成された注文をキャンセルすることはありません。
支払い済みの注文は、後からの結果によって変更されることはなく、繰り返し届いた古い結果によって、キャンセルされた注文が再び開かれることもありません。すでに支払い済みの注文に 2 回目の支払いが届いた場合、注文は変更されません。メモには、その内容を確認し、重複分を 2C2P の加盟店ポータルで返金するよう案内が表示されます。
2C2P 支払いブロック
注文ページには 2C2P payment ブロックが表示されます。2C2P の注文 ID、トランザクション、支払いステータス、チャネル、承認コード、マスクされたカード番号、日付、チャネルの応答、受領金額が含まれます。サンドボックスの支払いには Sandbox バッジも表示されます。
返金
PrestaShop からの返金はサポートされていません。2C2P の加盟店ポータルで支払いを返金し、その後、PrestaShop で返金を手動で記録してください。
ライセンスキー
このモジュールは、vibefox.net で取得した VibeFox ライセンスキーで動作します。ライセンスブロック License — VibeFox 2C2P Payment は、Modules > Module Manager > VibeFox 2C2P Payment > Configure の設定の上にある最初のブロックです。キーを License key に入力し、Activate をクリックします。その後、ブロックにはキーがマスク表示され、ステータス(ライセンスの有効期限日や使用中のドメインなど)と、次のボタンが表示されます。Check now はステータスを再確認、Change key は別のキーを入力、Remove key はこのショップからキーを削除します。その下には Product: presta-payment-2c2p の行と、Manage licenses and domains in your account のリンクがあり、vibefox.net のアカウントが開きます。キーを変更できるのは、このモジュールの Configure 権限を持つスタッフだけです。ブロックのテキストはバックオフィスの言語に従います(英語とロシア語を含みます)。
キーが受け付けられない場合、ブロックに理由が表示されます。例:Key not found、This key belongs to another product、Domain limit reached、または日付付きの License expired on。ショップのアドレスを変更した後や、アカウントでドメインの枠を解放した後は、Check now をクリックします。ライセンスサーバーに接続できない場合、モジュールは最後に確認できた状態で動作を続けます。
1 つのキーは 1 つのドメインで利用できます。メインショップのドメインです(マルチストア構成でも同じ)。ショップからキーを削除しても、ドメインの枠は解放されません。vibefox.net のアカウントで枠を解放してください。
有効なキーがない場合、チェックアウトで 2C2P は顧客に表示されません。それでも支払いが開始された場合、顧客には This payment method is not available. Please choose another one. と表示されます。PrestaShop のストアフロントは、バックオフィスにログインしていることを認識しないため、あなたにも支払い方法が表示されません。購入前にモジュールを設定することはできますが、チェックアウトでテストすることはできません。Modules > Module Manager の Alerts タブにリマインダーが表示されます。既存の注文には影響しません。すでに開始された支払いは引き続き確認されます。
ライセンスの有効期限が切れた場合も、モジュールは動作し続けますが、アップデートとサポートには更新が必要です。バックオフィスで作業している間、ステータスは自動的に再確認されます。キーを入力してから最初の 14 日間は 1 日 1 回、その後は週 1 回です。cron ジョブは必要ありません。モジュールのアンインストールやリセットを行うと、ライセンスキーとライセンスステータスは常に削除されます。
トラブルシューティング
チェックアウトに 2C2P が表示されない: ライセンスが有効であること、Enable/Disable がオンであること、現在のモードに Merchant ID と Secret Key が入力されていることを確認してください。サンドボックスモードではサンドボックスのフィールド、本番モードでは本番のフィールドです。カートの通貨が対応していることも確認してください。どちらの場合も、設定ページに警告が表示されます。Payment > Preferences で、カートの通貨、顧客の国、顧客グループに対してモジュールが許可されているか確認してください。
支払いは完了したのに、注文が作成されない: 有効な結果がショップに届いていません。支払いが行われたモードの Merchant ID と Secret Key が 2C2P のアカウントと一致しているか、Redirect API version がアカウントと一致しているかを確認してください。署名が正しくない結果や、別の Merchant ID の結果は拒否されます。Enable Logging をオンにして、Log フィールドで hash または Merchant ID に関するメッセージを確認してください。また、サーバーが 2C2P からバックエンド通知 URL へのリクエストを受け付けているかも確認してください。
バックエンド通知が 400 FAIL を返す: 結果に、不足しているフィールド、不正な署名、別の Merchant ID、または誤ったトークンが含まれています。404 FAIL は、2C2P の注文 ID がこのショップによって発行されていないことを意味します。503 RETRY は、同じタイミングで別のリクエストが注文を確認していた、または注文を作成できなかったことを意味します(たとえば、モジュールが無効になっている場合)。2C2P は後で再試行します。理由を確認するには Enable Logging をオンにしてください。
通知 URL をブラウザで開くと FAIL と表示される: これは正常です。この URL は、2C2P からの POST リクエストのみを受け付けます。
2C2P が注文 ID はすでに存在すると表示する: 2C2P は同じ注文 ID を 2 回受け付けません。複数のショップが 1 つの 2C2P アカウントを共有している場合や、多くの開発者がデモ用の加盟店アカウントを共有しているサンドボックスで発生します。一意の Order ID prefix を設定してください。
支払いは行われたが、注文が Awaiting 2C2P payment または 2C2P payment on hold になっている: 支払いが 2C2P でまだ保留中である(たとえば、顧客がまだ支払っていない現金払い)か、支払われた金額または通貨が注文と一致しなかったかのどちらかです。注文のメモと、2C2P のポータルでトランザクションを確認してください。
顧客に This payment method is currently unavailable for this order と表示される: カートの通貨が対応していない、現在のモードの Merchant ID または Secret Key が空である、またはカートの合計金額がゼロであるかのいずれかです。
保存時に Please enter your live Merchant ID または Please enter your live Secret Key と表示される: サンドボックスモードがオフで、本番のフィールドが空です。本番の認証情報を入力するか、Sandbox Mode をオンのままにしてください。
アンインストール
Modules > Module Manager に移動し、VibeFox 2C2P Payment の横にあるメニューを開いて、Uninstall を選択します。このモジュールのライセンスキーとライセンスステータスは常に削除されます。Delete Data on Uninstall がオンの場合、ゲートウェイの設定とログが削除されます。オフの場合は、後で再インストールするためにすべての設定が保持されます。2C2P のトランザクションと、Awaiting 2C2P payment と 2C2P payment on hold の注文ステータスは、常に保持されます。既存の注文には、支払いのメモとトランザクション ID が残ります。
2C2P は、その所有者の商標です。このモジュールは 2C2P と提携しておらず、2C2P による推奨も受けていません。
