VibeFox MakeCommerce for PrestaShop — ヘルプ
要件
PrestaShop: 8.0 ~ 9.x。
PHP: 8.0 以降。古いバージョンの PHP では、モジュールのインストールはできません。
ショップへのインターネットアクセス: MakeCommerce は決済通知をショップに送信するため、サイトはインターネットからアクセス可能である必要があります。ファイアウォールやベーシック認証によって通知がブロックされることがあります。メンテナンスモードおよびショップの国別制限では、通知はブロックされません。
MakeCommerce アカウント: MakeCommerce Merchant Portal(Settings > API)の Shop ID と Secret key が必要です。テスト環境と本番環境には、別々のアカウントとキーがあります。利用可能な決済方法と通貨は、MakeCommerce の契約によって決まります。KWD や BHD のような小数点以下 3 桁の通貨は提供されません。
VibeFox ライセンスキー: vibefox.net で購入します。1 つのキーは 1 つのドメインでのみ使用できます。
インストール
1. 管理画面で Modules > Module Manager に移動し、Upload a module をクリックします。モジュールの ZIP ファイルを選択します。
2. アップロードが完了したら Configure をクリックします。後からモジュール一覧で VibeFox MakeCommerce Payment を探し、Configure をクリックすることもできます。
3. Configure ページ上部のライセンスブロックで、VibeFox ライセンスキーを License key に入力し、Activate をクリックします(ライセンスキーを参照)。
4. テスト環境の Shop ID と Secret key を入力します。実際の決済を受け付ける場合は、本番環境のキーを入力します(設定を参照)。Merchant Portal での設定は不要です。
5. Enable/Disable をオンにして Save をクリックします。Test mode をオンにした状態で決済をテストし、その後オフにして実際の決済を受け付けます。
インストール時に、モジュールは注文ステータス MakeCommerce payment on hold を作成します。PrestaShop は、すべての通貨、国、顧客グループに対して新しい決済モジュールを提供します。Payment > Preferences で制限できます。
設定
すべての設定はモジュールのページにあります:Modules > Module Manager > VibeFox MakeCommerce Payment > Configure。各セクションには個別の Save ボタンがあり、ページ全体が保存されます。テストモードがオンの間、フィールドの上にはページに Test mode is on: payments are created in the MakeCommerce test environment and no real money is charged. と表示されます。決済方法が有効なのに現在の環境の Shop ID または Secret key が空の場合や、ショップの既定通貨を MakeCommerce で決済できない場合にも警告が表示されます。どちらの場合も、決済方法はチェックアウトで非表示になります。保存時に、キーから空白が取り除かれます。
MakeCommerce
Enable/Disable: Enable MakeCommerce payments は、決済方法をオンまたはオフにします。デフォルト:オフ。
Title: チェックアウトで購入者に表示される決済方法の名前です。注文に保存される決済方法の名前にもなります。デフォルト:Bank link or card (MakeCommerce)。必須。
Description: チェックアウトで決済方法の下に表示されるテキストです。デフォルト:Pay with your Estonian, Latvian, Lithuanian or Finnish bank, or by card. You will be redirected to the secure MakeCommerce payment page.
MakeCommerce アカウント
Shop ID と Secret key は、MakeCommerce Merchant Portal の Settings > API にあります。テストポータルと本番ポータルには、別々のアカウントとキーがあります。このセクションには、両方のポータルと MakeCommerce の登録ページへのリンクがあります。
Test mode: MakeCommerce のテスト環境を使用します(実際の料金は請求されません)。新しい支払いは、選択された環境とそのキーで作成されます。各注文は、支払いが行われた環境を記録します。ステータス確認と返金は、常にその環境に対して行われます。オンの間、購入者には決済方法の下に TEST MODE — MakeCommerce test environment, no real money is charged. と表示されます。デフォルト:オン。
Test Shop ID: テストアカウントの Shop ID です。形式は xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx です。
Test Secret key: テストアカウントの Secret key です。
Live Shop ID: 本番アカウントの Shop ID です。
Live Secret key: 本番アカウントの Secret key です。
保存済みのシークレットキーは再表示されません。フィールドは空のままで、Saved — leave empty to keep it. と表示されます。変更する場合にのみ新しい値を入力してください。
Clear saved secret keys: キーにチェックを入れて Save をクリックすると、そのキーが削除されます。フィールドが空の場合は、保存済みの値が保持されます。
決済通知
Merchant Portal での設定は不要です。Callback URLs には、参考として購入者の復帰用またはキャンセル用のアドレスと、決済通知のアドレスが表示されます。各取引は、これらのアドレスにカート番号とキーを加えて生成された、独自の復帰用、キャンセル用、および通知用の URL を保持します。MakeCommerce は、署名付きのメッセージを通知 URL へ(サーバー間で)送信し、購入者のブラウザ経由で復帰用またはキャンセル用 URL へも送信します。署名は、取引が作成された環境の Secret key で検証されます。有効な署名のないメッセージは拒否されます。
モジュールは、以下の MakeCommerce 取引ステータスを処理します:
購入者がショップに戻ったときにも、支払いが確認されます。購入者が署名付きメッセージなしで戻ってきた場合、モジュールは MakeCommerce API にステータスを問い合わせます。
詳細設定
Debug log: API 呼び出しと決済通知を、モジュールのフォルダ内の logs/wc_mkc_debug.log.php に記録します。このファイルは Web から開くことはできません。エラーは常に記録されます。キーや購入者データは記録されません。デフォルト:オフ。
Log: ログのサイズと最新のエントリを表示します。Clear log をクリックすると、ログが空になります。
Delete data: オンの場合、モジュールをアンインストールするとモジュールの設定とログが削除されます。注文と、その MakeCommerce 決済データは常に保持されます。デフォルト:オフ。
チェックアウト
決済の段階で、購入者は決済方法(既定では Bank link or card (MakeCommerce))を選択して確定します。モジュールは、カートの合計額をカートの通貨で MakeCommerce の取引として作成し、購入者を MakeCommerce の決済ページへ送ります。そこで購入者は、バンクリンクまたはカードを選択します。購入者のメールアドレスと国は MakeCommerce に渡され、MakeCommerce がサポートしている場合はショップの言語(エストニア語、英語、ラトビア語、リトアニア語、フィンランド語、ロシア語、ドイツ語、ポーランド語)で、サポートしていない場合は英語でページが開きます。この時点では、まだ注文は存在しません。
決済後、購入者はショップに戻ります。注文は、MakeCommerce が確認した後にのみ支払い済みとしてマークされます。確認は、署名付き通知、または購入者の署名付きの復帰によって行われ、MakeCommerce API を通じて取引が検証されます。その後、注文が作成され、購入者には標準の注文確認ページが表示され、Your MakeCommerce payment has been received. と表示されます。注文が確認のために保留された場合、ページには Your MakeCommerce payment was received and is being reviewed by the shop. と表示されます。
決済は承認されたものの、まだ完了していない場合、または MakeCommerce に接続できない場合は、Payment confirmation ページに We could not confirm your payment yet. If you completed it, your order will be updated automatically — please do not pay again. と表示され、Check again と Back to checkout のボタンが表示されます。決済が完了すると、通知によって注文が作成されます。
購入者が MakeCommerce のページでキャンセルした場合、または決済の期限が切れたか失敗した場合、購入者はチェックアウトに戻り、次のようなメッセージが表示されます。たとえば The payment was cancelled. You can try again or choose another payment method.、The payment session expired. Please try again.、The payment was not completed. Please try again or choose another payment method. などです。カートは保持され、購入者は再度決済できます。試行のたびに新しい MakeCommerce 取引が作成されます。同じカートの古い決済リンクも引き続き機能しますが、同じカートを 2 つの注文で二重に決済することはできません。
MakeCommerce が決済を開始できない場合、購入者はチェックアウトにとどまり、MakeCommerce is temporarily unavailable. Please try again in a moment or choose another payment method. または MakeCommerce could not start the payment for this order. Please choose another payment method or contact us. と表示されます。技術的な理由はログに記録されます。
銀行やカードの選択は、ショップのチェックアウトではなく MakeCommerce のページ上で行われます。本モジュールには、保存済みカード、定期支払い、サブスクリプション、および MakeCommerce 配送(宅配ロッカー、配送ラベル)の機能はありません。
注文と返金
注文ステータス
No order yet: 購入者は MakeCommerce に送られたものの、まだ支払っていないか、MakeCommerce がまだ支払いを確認していません。存在するのはカートのみです。
Payment accepted: 支払いが確認されました。支払いは MakeCommerce の取引 ID とともに記録され、メモには金額、取引、環境、および確認方法(MakeCommerce API または署名付き通知)が表示されます。
MakeCommerce payment on hold: 支払われた金額または通貨がカートと異なっていた(たとえば、支払いの開始後にカートが変更された)、金額が欠けていた、MakeCommerce 上の取引は完了と報告されたものの、まだ確定していなかった、または注文がキャンセルされた後に支払いが届いた、といった場合です。メモにその理由が記載されます。支払われた通貨が注文の通貨と同じ場合、実際に支払われた金額が注文に記録されます。不一致のある取引が、後から注文を支払い済みにすることはありません。まだ確定していなかった取引は、MakeCommerce が完了を報告した時点で注文を完了させます。Merchant Portal で取引を確認し、注文を処理するか、支払いを返金してください。
Refunded: モジュールを通じて、支払いが全額返金されました。
すでに支払い済みの注文に 2 回目の支払いが届いた場合、注文は変更されません。メモで、MakeCommerce Merchant Portal で重複分を返金するよう案内されます。
MakeCommerce 決済ブロック
注文ページには MakeCommerce payment ブロックが表示されます。このブロックには、カートのすべての MakeCommerce 取引(日付、取引 ID、テスト決済の Test バッジ、金額、MakeCommerce のステータスと結果)、支払い済み金額と返金済み金額、返金履歴、そして注文の MakeCommerce notes が含まれます。ブロックのボタンは、注文の編集権限のみが必要で、モジュールへのアクセス権限は不要です。
Check MakeCommerce payment status: カートの取引のステータスを MakeCommerce API に問い合わせ(新しいものが先頭)、そのステータスを適用して、結果のメモを追加します。購入者が支払ったと言っているのに注文が完了していない場合に使用してください。
返金
MakeCommerce payment ブロックで金額を入力します(まだ返金されていない金額が自動入力されます)。必要に応じて理由を入力し、Refund via MakeCommerce をクリックします。確認ダイアログ Refund this amount via MakeCommerce? で承認します。全額返金と一部返金に対応しています。返金は MakeCommerce 取引の金額と通貨に制限されるため、金額の不一致が発生した後は、注文合計ではなく、購入者が実際に支払った金額まで返金できます。返金は、支払いが行われた環境(テストまたは本番)に送信されるため、その環境のキーが設定されている必要があります。理由は返金のコメントとして MakeCommerce に送信されます。理由を入力しない場合、コメントは Refund for order と注文の参照番号になります。MakeCommerce が返金を受け付けなかった場合、ブロックにエラーが表示され、メモが追加され、返金は記録されません。MakeCommerce がまだ支払いを処理中の場合、メッセージは MakeCommerce is still processing this payment — try the refund again later. です。返金が成功すると、MakeCommerce の返金 ID とともに返金履歴とメモに追加されます。全額返金を行うと、注文は Refunded になります。一部返金ではステータスは変わりません。返金は、MakeCommerce が支払いを確認した後に利用できます。
本モジュールはクレジットスリップを作成しません。注文ページの標準的な PrestaShop の返金ボタンでは、MakeCommerce を通じて返金されることはありません。
Merchant Portal で行われた返金は、取引のステータスとともに届き、メモに追加されます。注文ステータスとクレジットスリップは自動的には変更されません。
ライセンスキー
本モジュールは、vibefox.net で取得した VibeFox ライセンスキーで動作します。License — VibeFox MakeCommerce Payment のライセンスブロックは、Modules > Module Manager > VibeFox MakeCommerce Payment > Configure ページの、設定の上にある最初のブロックです。キーを License key に貼り付け、Activate をクリックします。その後、ブロックにはキーが伏せ字で表示され、ステータス(ライセンスの有効期限の日付やお使いのドメインなど)と、次のボタンが表示されます。Check now はステータスを再確認します。Change key は別のキーを入力します。Remove key はこのショップからキーを削除します。その下には Product: presta-payment-makecommerce という行と、vibefox.net のアカウントを開く Manage licenses and domains in your account というリンクがあります。キーを変更できるのは、このモジュールの Configure 権限を持つ従業員のみです。ブロックの文言は管理画面の言語に従います(英語とロシア語が含まれます)。
キーが承認されない場合、ブロックにその理由が表示されます。たとえば Key not found、This key belongs to another product、Domain limit reached、または License expired on に続けて日付が表示されます。ショップのアドレスを変更した後、またはアカウントでドメインの枠を解放した後に、Check now をクリックしてください。ライセンスサーバーに接続できない場合、モジュールは最後に確認されたステータスで動作を続けます。
1 つのキーは 1 つのドメインでのみ使用できます。マルチストア構成の場合も、メインショップのドメインが対象です。キーをショップから削除しても、ドメインの枠は解放されません。vibefox.net のアカウントで枠を解放してください。
有効なキーがない場合、チェックアウトで MakeCommerce は購入者に表示されません。それでも決済が開始された場合、購入者には This payment method is not available. Please choose another one. と表示されます。PrestaShop のストアフロントは管理画面にログインしていることを認識しないため、決済方法はあなたにも表示されません。キーを購入する前にモジュールを設定することはできますが、チェックアウトでテストすることはできません。Modules > Module Manager の Alerts タブにリマインダーが表示されます。既存の注文には影響しません。すでに開始された支払いは引き続き確認され、返金も機能します。
ライセンスの有効期限が切れた場合も、モジュールは動作を続けますが、アップデートとサポートには更新が必要です。管理画面で作業している間、ステータスは自動的に再確認されます。キーの入力後最初の 14 日間は 1 日 1 回、その後は週 1 回です。cron ジョブは必要ありません。モジュールをアンインストールまたはリセットすると、ライセンスキーとライセンスステータスは常に削除されます。
トラブルシューティング
チェックアウトに MakeCommerce が表示されない: ライセンスが有効であること、Enable/Disable がオンであること、そして現在の環境にキーが設定されていることを確認してください。テストモードでは Test Shop ID と Test Secret key、本番モードでは Live Shop ID と Live Secret key です。カートの通貨の小数点以下の桁数が 2 桁以下であることを確認してください。Payment > Preferences で、モジュールがカートの通貨、購入者の国、購入者のグループに対して許可されているかを確認してください。
支払いは完了したが、注文が作成されていない: ファイアウォールやベーシック認証などが原因で、通知がショップに届かなかった可能性があります。注文は、購入者がショップに戻ったとき、または Check again をクリックしたときにも作成されます。支払いが行われた環境のキーが設定されているか確認してください。通知はその環境の Secret key で検証されるため、キーがないと MakeCommerce はエラーを受け取り、再試行します。通知を確認するには Debug log をオンにしてください。
注文が MakeCommerce payment on hold になっている: 注文ページのブロックにある MakeCommerce notes を確認し(注文ステータスを参照)、Merchant Portal で取引を確認してから、注文を処理するか、支払いを返金してください。
通知が拒否される: 署名が正しくないメッセージ、別のカート、別のショップ向けのメッセージ、またはそのカート用に作成されていない取引は拒否され、何も変更されません。Shop ID と Secret key が、同じ MakeCommerce アカウントと環境に属していることを確認してください。
購入者が MakeCommerce を選択したときにエラーが表示される: Debug log をオンにして、モジュールページの Log フィールドを確認してください。MakeCommerce で決済できない通貨の場合は、MakeCommerce cannot process payments in と通貨コードが表示されます。
環境に関するメッセージで返金に失敗する: 注文はテスト環境または本番環境で支払われましたが、その環境のキーが設定されていません。キーを入力してから、もう一度お試しください。
No MakeCommerce transaction ID found for this order というメッセージで返金に失敗する: この注文には確認済みの MakeCommerce 決済がありません。Merchant Portal で返金してください。
アンインストール
Modules > Module Manager に移動し、VibeFox MakeCommerce Payment の横にあるメニューを開いて、Uninstall を選択します。このモジュールのライセンスキーとライセンスステータスは常に削除されます。Delete data がオンの場合、モジュールの設定とログが削除されます。オフの場合は、後で再インストールできるように、すべての設定が保持されます。MakeCommerce の取引と返金、および MakeCommerce payment on hold の注文ステータスは常に保持されるため、以前に支払われた注文は、再インストール後も返金できます。既存の注文は、決済のメモと取引 ID を保持します。
MakeCommerce は、それぞれの所有者の商標です。本モジュールは MakeCommerce と提携しておらず、MakeCommerce による推奨もされていません。
