戻る

VibeFox EveryPay for OpenCart — ヘルプ

要件

OpenCart: 3.0.x(3.0.5.0 で動作確認済み)、または 4.0.2 以降(4.1.0.3 で動作確認済み)。

PHP: 8.0 以降。

EveryPay アカウント: ストアの API ユーザー名、API シークレット、プロセシングアカウント名が必要です。これらは EveryPay Merchant Portal のストア設定に表示されます。デモポータル(テストモード)と本番ポータルでは認証情報が別々です。購入者が利用できる支払い方法(カード、Apple Pay、Google Pay、銀行リンク)は、お使いの EveryPay アカウントで有効になっているものです。

通貨: 1 つのプロセシングアカウントで決済できる通貨は 1 種類です。アカウント名は通貨コードで始まります。たとえば EUR3D1 はユーロで決済します。EveryPay は、購入者がその通貨で支払う場合にのみ提供されます。

公開サイト: ストアのコールバック URL はインターネットから到達可能である必要があります。ベーシック認証やファイアウォールでブロックされていないことを確認してください。

VibeFox ライセンスキー: vibefox.net で購入します。1 つのキーは 1 つのドメインで使用できます。

インストール

ダウンロードは、両方の OpenCart バージョン用のパッケージを含む 1 つの zip ファイルです。コンピューターで解凍してください。内容は README.txt、OpenCart 3 用のパッケージ wcp_everypay_payment-oc3-(version).ocmod.zip、OpenCart 4 用のパッケージ wcp_everypay_payment.ocmod.zip です。お使いの OpenCart のバージョンに対応するパッケージだけをインストールしてください。ライセンスキーは両方のバージョンで同じです。

OpenCart 3

1. 管理画面で Extensions > Installer に進み、Upload をクリックして、ファイル wcp_everypay_payment-oc3-(version).ocmod.zip を選択します。この拡張機能には OCMOD の変更がないため、Extensions > Modifications を更新する必要はありません。インストーラーを使う代わりに、このパッケージの upload フォルダーの内容をストアのルートフォルダーにコピーすることもできます。

2. Extensions > Extensions に進み、種類で Payments を選択します。VibeFox EveryPay Payment を見つけて、Install(緑色の + ボタン)をクリックします。管理者ユーザーには、支払い拡張機能の一覧を変更する権限が必要です。

3. Edit(鉛筆のボタン)をクリックして設定ページを開きます。ページ上部のライセンスブロックにある License key に VibeFox ライセンスキーを貼り付け、Activate をクリックします(ライセンスキーを参照)。

4. デモポータルのテスト用 API ユーザー名、テスト用 API シークレット、プロセシングアカウント名を入力します。Callback notification URL を Merchant Portal にコピーします(設定を参照)。

5. Enable/Disable をオンにして Save をクリックします。テストモードでテスト注文を行った後、本番の認証情報を入力し、Test Mode をオフにします。

OpenCart 4

1. 管理画面で Extensions > Installer に進み、Upload をクリックして、ファイル wcp_everypay_payment.ocmod.zip を選択します。ファイル名は変更しないでください。OpenCart 4 は拡張機能のコードをファイル名から取得するため、名前を変更したパッケージは動作しません。

2. インストール済み拡張機能の一覧に、同じページでパッケージが表示されます。その横の Install(緑色の + ボタン)をクリックします。

3. Extensions > Extensions に進み、種類で Payments を選択します。VibeFox EveryPay Payment を見つけて Install(緑色の + ボタン)をクリックし、次に Edit(鉛筆のボタン)をクリックします。

4. ライセンスキー、EveryPay の認証情報、コールバックは、OpenCart 3 の手順 3〜5 と同じように入力します。設定ページとそのフィールドは両方のバージョンで同じです。異なるのはコールバック URL だけです(支払い通知(コールバック)を参照)。

新規インストール直後は、支払い方法がオフ、テストモードがオンの状態です。

設定

すべての設定は拡張機能のページにあります:Extensions > Extensions > Payments > VibeFox EveryPay Payment > Edit。セクションは左側に一覧表示されます。一覧の下にある Save ボタンで、ページ全体を保存します。設定の上には、テストモードがオンの間、Test mode is on: payments go to the EveryPay demo environment, no real money is charged. が表示されます。支払い方法が有効なのに、現在のモードの API ユーザー名、API シークレット、プロセシングアカウントが未入力の場合(その場合、支払い方法はチェックアウトで非表示になります)や、プロセシングアカウントの通貨がストアの既定通貨と異なる場合には警告が表示されます。拡張機能を変更する権限がない場合、ページには設定が表示されますが、保存はできません。

保存時、Title は 128 文字以内、Sort Order は整数、Total は 0 以上の数値である必要があります。また、選択したジオゾーンと注文ステータスが存在している必要があります。条件を満たさない場合、エラーで該当する項目が示され、何も保存されません。ユーザー名、シークレット、アカウント名の前後や途中のスペースと改行は削除されます。

EveryPay

Enable/Disable: Enable EveryPay payment gateway は、支払い方法のオン/オフを切り替えます。既定値:オフ。

Title: チェックアウトで購入者に表示される支払い方法の名前です。注文に保存される支払い方法名にもなります。128 文字まで。空欄の場合、購入者には EveryPay と表示されます。既定値:EveryPay。

Description: Confirm Order のステップで、確認ボタンの上に購入者へ表示されるテキストです。既定値:Pay securely by card or bank link on the EveryPay payment page.

Sort Order: チェックアウトにおける支払い方法の中での EveryPay の表示順です。空欄にするか、整数を入力します。

Geo Zone: 選択したジオゾーン内の支払い住所に対してのみ EveryPay を提供します。既定値:All zones。ジオゾーンは System > Localisation > Geo Zones で設定します。

Total: EveryPay を提供するために注文が達している必要があるチェックアウト合計金額です(ストアの既定通貨建て)。空欄にすると、どの金額でも EveryPay を提供します。

EveryPay アカウント

API ユーザー名、API シークレット、プロセシングアカウント名は、EveryPay Merchant Portal(ストア設定)に表示されます。テストモードはデモポータル、本番の支払いは本番ポータルで確認します(このセクションには両方へのリンクがあります)。テスト環境と本番環境では認証情報が別々です。

Test Mode: 支払いはテスト用の認証情報を使って EveryPay のデモ環境に送られ、実際の代金は請求されません。既定値:オン。本番の認証情報で実際の支払いを受けるにはオフにします。オンの間、購入者は Confirm Order のステップで TEST MODE: EveryPay demo environment, no real money is charged. を目にします。

Test API Username: デモ環境の API ユーザー名です。

Test API Secret: デモ環境の API シークレットです。

Live API Username: 本番環境の API ユーザー名です。

Live API Secret: 本番環境の API シークレットです。

Processing Account Name: お使いの EveryPay プロセシングアカウントです(例:EUR3D1)。このアカウントが決済通貨を決めます。支払い方法は、その通貨の注文にのみ提供されます。

保存済みの API シークレットは、再び表示されることはありません。フィールドは空のままで、Saved — leave empty to keep it. と表示されます。変更する場合にのみ新しい値を入力してください。保存済みのシークレットを削除するには、フィールドの下にある Clear the saved API secret on save にチェックを入れ、Save をクリックします。

支払い通知(コールバック)

コールバックは、支払いが完了したことをストアに知らせるものです。これにより、購入者がブラウザーを閉じても注文が確定します。Callback notification URL に表示される URL を、デモポータルと本番ポータルの両方で、EveryPay Merchant Portal のストアのコールバック通知 URL に貼り付けてください。OpenCart 3 では URL は https://your-store/index.php?route=extension/payment/wcp_everypay_payment/callback のような形式、OpenCart 4 では https://your-store/index.php?route=extension/wcp_everypay_payment/payment/wcp_everypay_payment.callback のような形式で、OpenCart のストアフロントのアドレスから作成されます。設定に表示されている URL を、そのまま正確にコピーしてください。

コールバックには支払いの参照情報だけが含まれます。拡張機能は、コールバックだけを信用することはありません。支払いが行われたモードの認証情報を使い、EveryPay API に支払いステータスを照会します。このストアで作成されていない支払いに対するコールバックは、EveryPay への問い合わせを一切行わずに拒否されます。コールバックは、ストアがメンテナンスモードの間も機能します。OpenCart 3 は支払い拡張機能のリクエストを通過させ、OpenCart 4 では拡張機能がそのための起動時アクションを追加するためです(購入者がストアに戻った場合も同様です)。コールバックがなくても、購入者がストアに戻ったとき、または注文ページで Check EveryPay payment status をクリックしたときに、注文はステータスを受け取ります。

注文

OpenCart は、Confirm Order のステップで、ステータスなし(注文欠落)の注文を作成します。注文がステータスを受け取るのは、EveryPay が API を通じて支払いを確認した後だけです。以下の各項目には、お使いの OpenCart の注文ステータスが表示されます。

Order Status After Payment: 検証済みの決済済みまたは承認済みの支払い後に設定される注文ステータスです。既定値:処理中。

Manual Review Status: 支払いは行われたものの、金額または通貨が注文と一致しない、支払いが届くまでに注文がキャンセルされた、または注文が別の支払い方法を使用している、といった場合のステータスです。メモに理由が記録され、注文は支払い済みにはなりません。既定値:保留中(OpenCart には On hold ステータスがないため)。独自のステータスを System > Localisation > Order Statuses で作成し、ここで選択できます。

Cancelled Order Status: このステータスの注文に対して届いた支払いは、注文を支払い済みにする代わりに、手動確認に回されます。既定値:キャンセル。

詳細設定

Debug log: 支払いイベントを、OpenCart のログフォルダー(storage/logs)にある wc_evp_debug.log.php に記録します。このファイルは Web から開くことはできません。サイズが 5 MB に達すると、wc_evp_debug.old.log.php に移動されます。エラーと警告は常に記録されます。API シークレット、メールアドレス、カードデータは記録されません。既定値:オフ。

Log: ログのサイズと最新のエントリを表示します。Clear log をクリックすると、ログを空にできます。

Delete data on uninstall: オンにすると、拡張機能をアンインストールしたときに、ゲートウェイの設定とログが削除されます。注文の EveryPay 支払いデータは常に保持されます。既定値:オフ。

インポート / エクスポート

Export: Download JSON は、設定を JSON ファイルとして保存します。API シークレットはエクスポートされません。

Import: 以前にエクスポートした JSON を貼り付けて Import をクリックすると、設定が復元されます。保存済みの API シークレットは保持されます。

チェックアウト

Payment Method のステップで、購入者は支払い方法を選択します(既定では EveryPay)。Confirm Order のステップでは、購入者にあなたの説明と、You will be redirected to the secure EveryPay payment page. という注記が表示されます。OpenCart はこのステップで注文を作成しますが、まだステータスは設定しません。OpenCart 4 では、購入者は支払い方法のブロックにある Choose ボタンで、ウィンドウ Payment method options から支払い方法を選択し、チェックアウトページ下部の Confirm Order をクリックします。購入者が Confirm Order をクリックすると、拡張機能は注文通貨で注文合計額の一回限りの EveryPay 支払いを作成し、購入者のメールアドレスと支払い住所を添えて、購入者を EveryPay の支払いページに移動させます。支払いページの言語は、購入者のストア言語に従います(英語、エストニア語、ロシア語、ラトビア語、リトアニア語、フィンランド語、またはドイツ語。それ以外は英語)。購入者はそのページで、お使いの EveryPay アカウントで有効になっている支払い方法のいずれかを使って支払います。

支払い後、購入者はストアに戻ります。注文は、EveryPay が確認して初めて支払い済みになります。拡張機能は、購入者が戻ったときとコールバックのときに、EveryPay API に支払いステータスを照会します。その後、注文は OpenCart の標準的な方法でステータスを受け取り、通常の注文メールと在庫の更新が行われ、購入者には OpenCart の注文完了ページが表示されます。EveryPay がまだ支払いを処理している場合、またはその時点で API に接続できない場合は、Payment confirmation ページに Your payment is being confirmed by EveryPay. You will receive an e-mail as soon as the order is confirmed. と Check again ボタンが表示されます。コールバックは、EveryPay が支払いを確認した時点で、注文ステータスを設定します。

支払いに失敗した場合、購入者は Your EveryPay payment was not successful. Please try again or choose another payment method. とともにチェックアウトに戻されます。購入者が支払わずに支払いページを離れた場合、メッセージは The EveryPay payment was not completed. You can try again or choose another payment method. です。カートは保持され、注文はステータスなしのままです。OpenCart 4 では、これらのメッセージはチェックアウトページの上部に表示されます。

OpenCart 3 は、Confirm Order のステップが表示されるたびに新しい注文を作成します。OpenCart 4 はチェックアウトの注文を更新するため、新しい試行では新しい EveryPay 支払いで同じ注文を支払います。EveryPay は一度作成された支払いをキャンセルできません。そのため、新しい支払いの前に、拡張機能は EveryPay API を使って、この注文および同じカートの他の注文における未完了の支払い試行を確認します。そのうちの 1 つがすでに支払い済みである場合、または同じカートの別の注文がすでに支払い済みである場合、購入者は 2 回目の支払いをせずに完了ページに進みます。すべての試行は記録されるため、古いリンクから行われた支払いも認識されます。購入者が同じカートの 2 つ目の注文を(たとえば 2 つの開いたブラウザータブから)それでも支払った場合、その注文にはステータスが設定されず、購入者には注文完了ページが表示され、支払い済みの注文には、2 回目の支払いを EveryPay Merchant Portal で返金するよう求めるメモが付きます。

OpenCart 4 では、ストアは成功ページが表示されるまで注文をチェックアウトに保持します。その間に支払いなしで注文が閉じられた場合(たとえば注文をキャンセルした場合)、購入者は Your previous order was cancelled. Please confirm the order again. とともにチェックアウトに戻され、次の Confirm Order でカートの新しい注文が支払われます。その注文がすでに支払い済みでも、その後にカートが変わっている場合(数量の変更を含む)、メッセージは Your previous order is already paid. Please confirm the order again: the cart will be paid with a new order. です。支払い済みの注文が、別のカートに対して支払い済みとして表示されることはありません。

EveryPay が支払いを開始できない場合、購入者はボタンの上に短いメッセージが表示された状態で Confirm Order のステップにとどまります。例:EveryPay is temporarily unavailable. Please try again in a moment or choose another payment method. 詳細はログに記録されます。

この拡張機能が扱うのは一回限りの支払いのみです。ストアからの返金やキャプチャ(売上確定)はできません。保存済みカードやワンクリック支払いはなく、サブスクリプションや定期払いもありません。埋め込み型のカード入力欄や、複数通貨にも対応していません。

注文

注文ステータス

No status (missing order): 購入者は EveryPay に移動されたものの、支払っていない、支払いに失敗した、または途中で離脱した、あるいは EveryPay がまだ支払いを確認していない状態です。Sales > Orders では、このような注文は Order Status フィルターを Missing Orders に設定した場合にのみ表示されます。

Order Status After Payment (default Processing): EveryPay が、支払いを決済済みまたは承認済みとして報告しました。メモには、金額、通貨、支払い参照番号が表示されます。承認済みの支払いの場合、メモには資金が確保された旨が記載されます。お使いのアカウントが自動でキャプチャしない場合は、EveryPay Merchant Portal で支払いをキャプチャしてください。後で決済されると、その旨を示すメモが 1 件追加されます。

Manual Review Status (default Pending): 支払いに手動での確認が必要です。支払われた金額または通貨が注文と一致しない、支払いが届く前に注文が Cancelled Order Status になっていた、または注文が現在別の支払い方法を使用している、といった場合です。メモにその理由が記載され、注文は支払い済みとしてマークされていないことが示されます。Merchant Portal で支払いを確認し、注文を手動で処理するか、返金してください。この支払いに対する後続のコールバックでは、注文は自動的に完了しません。ただし、同じ注文の別の試行による正しい支払いがあれば、その時点で支払い済みになります。

すでに支払い済みの注文に対して 2 回目の支払いが完了しても、注文は変更されません。メモで、重複した支払いを EveryPay Merchant Portal で返金するよう求められます。メモは、購入者には表示されない注文の History に記録されるエントリーです。

VibeFox EveryPay Payment タブ

Sales > Orders で、EveryPay で支払われた注文を開きます。注文ページの下部、History と Additional の隣にある VibeFox EveryPay Payment タブには、EveryPay payments of this order が表示されます。各試行の Payment reference、Order reference、Mode(テストまたは本番)、Amount、EveryPay state、Result、Date です。その下には、注文の EveryPay notes が表示されます。このタブは、拡張機能へのアクセス権があるユーザーに表示されます。

Check EveryPay payment status: タブのボタンは、注文のすべての EveryPay 支払いについて、新しいものから順に、それぞれのモードの認証情報を使って API からステータスを読み取り、上記のとおり結果を反映し、各支払いの状態を示すメモを 1 件追加します。その後、タブが再読み込みされます。注文を変更する権限(System > Users > User Groups)が必要です。拡張機能を変更する権限は必要ありません。コールバックが届かなかった場合(たとえば後日のキャプチャや返金を確認するため)に使用します。このボタンで設定されたステータスは、管理画面での手動のステータス変更と同様に記録され、チェックアウト時の注文メールや在庫の更新は行われません。

返金

ストアからの返金とキャプチャ(売上確定)はサポートされていません。EveryPay Merchant Portal で返金してから、OpenCart で注文ステータスを更新してください。EveryPay が支払いを返金済みまたはチャージバック(不服申し立て)として報告した場合、拡張機能は注文にメモを追加するだけで、注文ステータスは変更されません。Sales > Returns での商品の返品では、EveryPay を通じて返金は行われません。

ライセンスキー

この拡張機能は、vibefox.net で取得した VibeFox ライセンスキーを使って動作します。ライセンスブロック License — VibeFox EveryPay Payment は、Extensions > Extensions > Payments > VibeFox EveryPay Payment > Edit ページの最初のブロックで、設定の上にあります。キーを License key に貼り付けて Activate をクリックしてください。その後、このブロックにはキーがマスクされた状態で表示され、ステータス(ライセンスの有効期限日やお使いのドメインなど)と、ボタンが表示されます。ボタンは、Check now(ステータスを再確認)、Change key(別のキーを入力)、Remove key(このストアからキーを削除)です。その下には、Product: opencart-payment-everypay という行と、Manage licenses and domains in your account というリンクがあります。リンクをクリックすると、vibefox.net のアカウントが開きます。キーを変更できるのは、この拡張機能に対する Modify 権限を持つ管理者ユーザーだけです。ブロックの文言は管理画面の言語に従います(英語とロシア語が含まれています)。

キーが受け付けられなかった場合、ブロックには理由が表示されます。たとえば Key not found、This key belongs to another product、Domain limit reached、または License expired on と日付です。ストアのアドレスを変更した後、またはアカウントでドメインの枠を解放した後は、Check now をクリックしてください。ライセンスサーバーに接続できない場合、拡張機能は最後に確認された状態のまま動作を続けます。

1 つのキーは 1 つのドメインで使用できます。ここでいうドメインとは、OpenCart の設定にあるストアのアドレスです。ストアからキーを削除しても、ドメインの枠は解放されません。vibefox.net のアカウントで枠を解放してください。

有効なキーがない場合、EveryPay はチェックアウトで購入者に表示されません。それでも支払いが開始された場合、購入者には This payment method is not available. Please choose another one. と表示されます。同じブラウザーで管理画面にログインしている管理者ユーザーには、ストアで支払い方法が (unlicensed — visible to admins only) と表示された状態で引き続き見えるため、キーを購入する前に拡張機能の設定やテストを行えます。OpenCart 4 では、この事前表示は利用できません。ストアは管理画面へのログインを認識しないため、有効なキーがない場合は支払い方法が全員に対して非表示になります。Edit ページを一度開くと、管理画面の Dashboard にリマインダーが表示されます。× で閉じると、7 日間非表示になります。既存の注文は影響を受けません。すでに開始された支払いは、引き続き確認されます。

ライセンスの期限が切れても、拡張機能は動作を続けますが、アップデートとサポートには更新が必要です。管理画面の Dashboard または Edit ページを開くと、ステータスが自動的に再確認されます。キーを入力してから最初の 14 日間は 1 日に 1 回、その後は週に 1 回です。cron ジョブは不要です。拡張機能をアンインストールすると、ライセンスキーとライセンスステータスは必ず削除されます。

トラブルシューティング

EveryPay does not appear at checkout: ライセンスが有効か、Enable/Disable がオンか、現在のモードの API ユーザー名、API シークレット、Processing Account Name が設定されているか、そして購入者がプロセシングアカウントの通貨で支払っているかを確認してください。これらの場合、設定ページに警告が表示されます。また、支払い住所が選択した Geo Zone に含まれているか、注文が設定の Total に達しているかも確認してください。

The payment went through, but the order stays without a status: コールバックが機能していません。使用しているモード(デモまたは本番)の Merchant Portal で、Callback notification URL の URL が設定されているか、また、その URL がインターネットから開けるかを確認してください。注文は、購入者が支払い後にストアに戻ったときにもステータスを受け取ります。拡張機能のページにある Log フィールドを確認してください。エラーは常に記録されます。

Callback answers Unknown payment, Unknown payment reference, Payment cannot be verified or Payment does not belong to this order: その支払いは、このストアによって、またはこの注文のために作成されたものではないか、EveryPay の応答が一致しません。何も変更されません。

Callback answers Missing or invalid payment_reference: リクエストに有効な支払い参照番号が含まれていませんでした。たとえば、URL をブラウザーで直接開いた場合です。

Callback answers Not configured: 支払いが作成された環境の認証情報がありません。たとえば、テスト用の認証情報を削除した後に行われたテスト支払いの場合です。認証情報を再入力してください。EveryPay はコールバックを再試行します。

Callback answers Payment status unavailable, Busy, please retry or Processing error, please retry: EveryPay API に接続できなかったか、同時に別のリクエストによって注文が処理されていたか、処理に失敗しました。理由はログに記録されています。EveryPay はコールバックを再試行します。

The customer sees This payment method is not available right now: 現在のモードの認証情報またはプロセシングアカウントがありません。

The customer sees EveryPay is temporarily unavailable or Unable to start the EveryPay payment: EveryPay が認証情報を拒否したか、接続できませんでした。現在のモードの API ユーザー名と API シークレットを確認してください。

The customer sees This payment method does not support the order currency: 注文の通貨が、プロセシングアカウントの通貨と異なります。

The customer stays on the Payment confirmation page: EveryPay がまだ支払いを完了していません。注文はコールバックによって、または EveryPay が支払いを確認した後に購入者が Check again をクリックしたときに、ステータスを受け取ります。

Order is in the review status: VibeFox EveryPay Payment タブの EveryPay notes を確認してください。金額または通貨が一致しなかった、支払いが届く前に注文がキャンセルされていた、または別の支払い方法を使っている、といった理由が考えられます。Merchant Portal で支払いを確認し、注文を手動で処理するか、返金してください。

開発者向け:支払いが作成される前に、拡張機能は OpenCart のイベント wc_evp_oneoff_request(支払いリクエストの変更)と wc_evp_locale(支払いページの言語の変更)を発火させます。

アンインストール

Extensions > Extensions に進み、種類で Payments を選択して、VibeFox EveryPay Payment の横にある Uninstall(赤色の − ボタン)をクリックします。この拡張機能のライセンスキーとライセンスステータスは、常に削除されます。OpenCart は、拡張機能自身の設定を常に削除します。具体的には、Enable/Disable、Sort Order、Geo Zone、Total、そして Orders セクションの注文ステータスです。これらは再インストール時に既定値に戻ります。OpenCart 4 では、拡張機能のイベント(チェックアウトのメッセージ)と、メンテナンスモードでもコールバックと購入者の返却を通過させる起動時アクションも削除されます。Advanced の Uninstall スイッチがオンの場合は、その他のゲートウェイ設定(タイトル、説明、テストモード、認証情報、プロセシングアカウント、デバッグログ)とログも削除されます。オフの場合は、後で再インストールするために保持されます。注文の EveryPay 支払いデータは常に保持されるため、再インストール後も、古い注文に対する遅延したコールバックは引き続き機能します。既存の注文は、支払いメモを保持します。

OpenCart 4 でファイルも削除するには、アンインストール後に Extensions > Installer に進み、インストール済み拡張機能の一覧で VibeFox EveryPay Payment の横にある Uninstall(オレンジ色の − ボタン)をクリックし、次にアップロードしたパッケージを削除するため Delete(赤色のごみ箱ボタン)をクリックしてください。

EveryPay は、それぞれの所有者の商標です。この拡張機能は EveryPay と提携しておらず、EveryPay による承認も受けていません。