戻る

VibeFox Authorize.Net for PrestaShop — ヘルプ

要件

PrestaShop: 8.0 から 9.x。

PHP: 8.0 以降。古いバージョンの PHP ではモジュールのインストールを拒否します。

HTTPS: チェックアウトは HTTPS を使用する必要があります。Accept.js は通常の HTTP ページでは動作しません。

Authorize.Net アカウント: Authorize.Net アカウントの API Login ID、Transaction Key、Public Client Key が必要です。ウェブフックを使用する場合は Signature Key も必要です。本番(account.authorize.net)とサンドボックス(sandbox.authorize.net)のアカウントでは認証情報が異なります。Authorize.Net のアカウントは、米国、カナダ、英国、ヨーロッパ、オーストラリア、ニュージーランドの加盟店が利用できます。

通貨: カートの通貨は USD、CAD、CHF、DKK、EUR、GBP、NOK、PLN、SEK、AUD、NZD のいずれかである必要があり、Authorize.Net アカウントもその通貨で決済を行う必要があります。その他の通貨の場合、支払い方法はチェックアウトで表示されません。

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

インストール

1. 管理画面で Modules > Module Manager を開き、Upload a module をクリックします。モジュールの ZIP ファイルを選択します。

2. アップロードが完了したら Configure をクリックします。または、後でモジュールの一覧から VibeFox Authorize.Net Gateway を探して Configure をクリックします。

3. Configure ページ上部のライセンスブロックの License key に VibeFox ライセンスキーを入力し、Activate をクリックします(ライセンスキーの項を参照)。

4. サンドボックスと本番アカウントの認証情報を入力します(設定を参照)。必要に応じてウェブフックを設定します。

5. Enable/Disable をオンにし、Transaction type を選択して Save をクリックします。サンドボックスモードで、カード番号 4111 1111 1111 1111、任意の将来の有効期限、任意の CVV を使って支払いをテストしてから、Sandbox mode をオフにします。

インストール時に、モジュールは 2 つの注文ステータス Authorize.Net payment authorized と Authorize.Net payment on hold を作成します。PrestaShop は、すべての通貨、国、顧客グループに対して新しい支払いモジュールを提供します。Payment > Preferences で制限できます。

設定

すべての設定はモジュールのページにあります:Modules > Module Manager > VibeFox Authorize.Net Gateway > Configure。各セクションには独自の Save ボタンがあり、ページ全体を保存します。フィールドの上では、次の場合にページが警告を表示します:ストアで SSL が有効になっていない場合(Accept.js は HTTPS ページでのみ動作します)、ストアの既定通貨が Authorize.Net でサポートされていない場合、現在のモードに API Login ID、Transaction Key、Public Client Key がない場合(その場合、チェックアウトで支払い方法が非表示になります)、現在のモードに Signature Key がない場合(その場合、ウェブフックは無効になります)。サンドボックスモードがオンの間は、Sandbox mode is on: test transactions, no real charges. と表示されます。

Authorize.Net

Enable/Disable: Enable Authorize.Net で支払い方法をオンまたはオフにします。既定値:オフ。

Title: チェックアウトで顧客に表示される支払い方法の名前です。注文に保存される支払い方法の名前にもなります。既定値:Credit Card。必須。

Description: チェックアウトで支払い方法の下に表示されるテキストです。既定値:Pay securely with your credit card via Authorize.Net.

API 認証情報

Authorize.Net Merchant Interface で Account > Settings > Security Settings を開きます。API Credentials & Keys で API Login ID をコピーし、Transaction Key と Signature Key を作成します。Manage Public Client Key で Public Client Key をコピーします。サンドボックスと本番では認証情報が異なります。このページには両方のモードのフィールドが表示されるため、両方のセットを保存できます。

Sandbox mode: Authorize.Net のサンドボックスを使用します(テスト取引、実際の請求は発生しません)。API エンドポイント、Accept.js、新しい支払いに使う認証情報のセットを切り替えます。既定値:オン。実際の支払いを受け付けるには、オフにします。オンの間、顧客は支払い方法の下に、テストカード 4111 1111 1111 1111 を含むヒントを見ます。

Sandbox API Login ID と Live API Login ID: サンドボックスまたは本番アカウントの API Login ID です。

Sandbox Transaction Key と Live Transaction Key: そのアカウントの Transaction Key です。

Sandbox Public Client Key と Live Public Client Key: Accept.js がブラウザで使用する公開キーです。

Sandbox Signature Key と Live Signature Key: ウェブフックにのみ必要です。各通知の X-ANET-Signature ヘッダーを検証します。

保存済みの Transaction Key と Signature Key は、再表示されることはありません。フィールドは空のままになり、Saved — leave empty to keep it. と表示されます。変更する場合にのみ新しい値を入力してください。

Clear saved secrets: キーにチェックを入れて Save をクリックすると削除されます。フィールドが空の場合は、保存済みの値が保持されます。

支払い

Transaction type: カードへの請求方法です。オーソリは 30 日後に期限切れになります。

Authorize and capture: カードに即時請求します。注文は支払い受付済みになります(既定)。
Authorize only: 資金を確保します。注文は Authorize.Net payment authorized になります。後から注文の Authorize.Net ブロック、または Authorize.Net の管理画面で Capture payment をクリックしてキャプチャします。

ウェブフック(推奨)

ウェブフックを使わない場合、Fraud Detection Suite によって保留された注文、または Authorize.Net の管理画面でキャプチャまたはボイドされた注文は、手動で更新する必要があります。Merchant Interface で Account > Settings > Business Settings > Webhooks に進み、サンドボックスと本番の両方のアカウントで Add Endpoint をクリックします。このセクションの Endpoint URL に表示される URL を使用します。フレンドリー URL を使用している場合、次のような形式になります:https://your-shop/module/wcp_authorizenet_gateway/webhook。場合によっては /en/ のような言語コードが付くこともあります。設定に表示されているとおりに URL を正確にコピーしてください。次のイベントを選択します(これらもこのセクションに記載されています):

net.authorize.payment.fraud.approved: 審査のために保留された取引が承認されました。
net.authorize.payment.fraud.declined: 審査のために保留された取引が拒否されました。
net.authorize.payment.priorAuthCapture.created: オーソリがキャプチャされました(例:Authorize.Net の管理画面で)。
net.authorize.payment.void.created: 取引がボイドされました。

各アカウントの Signature Key を Sandbox Signature Key または Live Signature Key に入力します。有効な署名のないウェブフックは拒否されます。通知は支払いが行われたモードのキーで署名されている必要があります。別のモードの通知では何も変更されません。通知ごとに、モジュールは注文を変更する前に Authorize.Net に取引の現在のステータスと金額を問い合わせます。そのため、同じ通知が繰り返されても何も変わりません。

詳細設定

Debug log: API のリクエストとレスポンスを、モジュールフォルダー内の logs/wc_ang_debug.log.php に書き込みます。このファイルはウェブから開くことはできません。キー、カードトークン、個人データはマスクされます。既定値:オフ。拒否された支払い、失敗した支払い、API エラー、失敗した返金などのエラーは、この設定がオフでも常に記録されます。

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

Delete data on uninstall: オンの場合、モジュールをアンインストールすると設定とログが削除されます。Authorize.Net の取引と返金、およびモジュールの注文ステータスは常に保持されるため、以前に支払われた注文は再インストール後もキャプチャと返金が可能です。既定値:オフ。

チェックアウト

支払いステップで、顧客は支払い方法(既定では Credit Card)を選択し、その下のフォームにカード番号、有効期限(MM/YY)、カードコード(CVV)を入力します。Accept.js はチェックアウトページでのみ読み込まれます。顧客が注文を確定すると、Accept.js がブラウザでカードデータを 1 回限りのトークンに変換します。カードフィールドにはフォーム名がないため、カード番号と CVV がサーバーに送信されることはありません。

モジュールは、Authorize.Net API を通じて、カートの合計額をカートの通貨でトークンに対して請求します。請求先住所、メールアドレス、IP アドレスは、住所確認と不正検出フィルターのために取引と一緒に送信されます。支払いの前には注文が存在しないため、カート番号が請求書番号として送信されます。注文は Authorize.Net が支払いを確認した後にのみ支払い済みとしてマークされます。取引が承認されると注文はすぐに作成され、顧客には Your card payment has been received. と表示される標準の注文確認ページが表示されます。Authorize only の場合、ページには Your card payment has been authorized. The amount will be charged when your order is processed. と表示されます。Fraud Detection Suite が取引を保留した場合は、Your payment is being reviewed. We will update your order as soon as the review is complete. と表示されます。

カードが拒否された場合、顧客は支払いステップにとどまり、Payment failed: とその理由(例:カードの拒否、誤ったカードコード、期限切れのカード)が表示されます。注文は作成されず、カートは保持されます。設定エラーと API エラーは顧客には表示されません。顧客には一般的なメッセージが表示され、詳細はログに記録されます。ストアが Authorize.Net に接続できない場合、顧客には Payment error: unable to connect to the payment gateway. Please try again. と表示されます。カードのフィールドが空の場合、フォームには Please enter the card number, expiry date and card code. と表示されます。

ダブルクリック、2 つ目のタブ、繰り返しの送信によって、同じカートに二重に請求されることはありません。最初の試行がまだ実行中に 2 回目の試行を行うと、Your payment is already being processed. Please wait a moment and check your order history before trying again. と表示されます。支払いは承認されたものの注文を作成できなかった場合、顧客には Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again. と表示されます。その後、次の試行時またはウェブフック経由で、承認された支払いから注文が作成されます。カードに再度請求されることはありません。

支払い処理中にカートが変更された場合、請求された金額はカートと一致しなくなります。その場合、注文はメモ付きで Authorize.Net payment on hold になり、支払いは実際に請求された金額で記録されます。

ウェブフックは、ストアがメンテナンスモードの間も動作し、ストアの国による制限でブロックされることもありません。

このモジュールには、保存されたカードや顧客プロファイル、サブスクリプションや定期支払い、eCheck/ACH、Apple Pay、Google Pay、PayPal、3-D Secure、オーソリの部分キャプチャ、自動通貨換算はありません。

注文と返金

注文ステータス

No order: カードが拒否されたか、支払いが失敗しました。カートだけが存在します。

Payment accepted: カードに請求された(Authorize and capture)か、オーソリがキャプチャされました。支払いは Authorize.Net の Trans ID を取引 ID として記録され、メモには金額、Trans ID、承認コード、カードの種類、カード番号の下 4 桁が表示されます。

Authorize.Net payment authorized: 資金はオーソリのみ行われています(Authorize only)。発送前にキャプチャしてください。

Authorize.Net payment on hold: Fraud Detection Suite が審査のために取引を保留したか、請求額が注文合計と一致しないか、ウェブフックで通知されたキャプチャが注文金額と一致しません。メモに理由が記載されます。保留された取引は Authorize.Net の管理画面で承認または拒否してください。ウェブフックを使用している場合、注文は自動的に更新されます。

Canceled: 注文の支払い前に、ウェブフックが取引の拒否、ボイド、または期限切れを報告したか、キャプチャされなかったオーソリをボイドしました。支払い済みの注文の取引が Authorize.Net の管理画面でボイドされた場合、そのステータスは変更されず、警告メモが追加されます。

Refunded: 支払いがモジュールを通じて全額返金されたか、ボイドされました。

注文がすでにあるカートに対して 2 つ目の取引が承認された場合、注文は変更されません。メモが表示され、Authorize.Net の管理画面で重複した取引を確認し、ボイドまたは返金するように求められます。

Authorize.Net 支払いブロック

注文ページには Authorize.Net payment ブロックが表示されます。このブロックには、Trans ID、取引の種類、取引のステータス、カードと承認コード、請求額、注文合計、返金額、サンドボックス支払い用の Sandbox バッジ、返金履歴、注文の Authorize.Net notes が含まれます。キャプチャと返金に必要なのは注文の編集権限だけで、モジュールページへのアクセス権は必要ありません。

キャプチャ

Authorize.Net payment authorized の注文の場合、ブロックの Capture payment をクリックし、Capture the authorized amount through Authorize.Net? を確認します。承認された金額がキャプチャされ、支払いは Trans ID とともに記録され、注文は Payment accepted になります。キャプチャに失敗した場合、エラーが表示され、メモに追加されます。Authorize.Net の管理画面でキャプチャすることもできます。ウェブフックを使用している場合、注文は自動的に更新されます。

返金

ブロックに金額を入力します(まだ返金されていない金額が自動入力されます)。必要に応じて理由を入力し、Refund via Authorize.Net をクリックして、Refund this amount through Authorize.Net? This cannot be undone. を確認します。全額返金の場合、取引がまだ売上確定していなければ、まず取引をボイドします。キャプチャされていないオーソリの場合も同様です。売上確定済みの取引(通常は 24 時間後)は、全額または一部を返金できます。確定前に一部返金を行うことはできません。取引をボイドするには全額返金するか、売上確定後にもう一度お試しください。返金は Authorize.Net が請求した金額と通貨で行われるため、金額に差異が生じた場合は、注文合計ではなく、顧客が実際に支払った金額まで返金できます。Authorize.Net が返金を受け付けない場合、ブロックにエラーが表示され、返金は記録されません。返金またはボイドが成功すると、返金履歴とメモに追加されます。全額返金すると注文は Refunded になります(オーソリのみがボイドされた場合は Canceled)。一部返金では、ステータスは変更されません。取引が審査のために保留されている間は、返金は提供されません。

注文のキャプチャ、返金、ウェブフックの検証では、注文が支払われたモードの認証情報が使用されます。そのため、Sandbox mode を切り替えた後も、別のモードの注文はキャプチャと返金が可能です。それらの注文が完了するまで、そのモードの認証情報をそれぞれのフィールドに残しておいてください。

このモジュールはクレジットスリップを作成しません。注文ページにある PrestaShop の標準の返金ボタンは、Authorize.Net を通じて返金を行いません。Authorize.Net の管理画面で行われた返金はストアに通知されません。注文は手動で更新してください。

ライセンスキー

このモジュールは、vibefox.net で取得した VibeFox ライセンスキーで動作します。ライセンスブロック License — VibeFox Authorize.Net Gateway は Modules > Module Manager > VibeFox Authorize.Net Gateway > Configure の一番上にあるブロックで、設定の上に表示されます。キーを License key に入力し、Activate をクリックします。その後、ブロックにはキーが伏せ字で表示され、ステータス(ライセンスの有効期限日やドメインなど)と、ボタン Check now(ステータスを再確認)、Change key(別のキーを入力)、Remove key(このショップからキーを削除)が表示されます。その下には Product: presta-payment-authorizenet の行と、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 のアカウントで枠を解放してください。

有効なライセンスキーがない場合、チェックアウトで Authorize.Net のカード決済は顧客に表示されません。それでも支払いが開始されると、顧客には This payment method is not available. Please choose another one. と表示されます。PrestaShop のストアフロントはバックオフィスにログインしていることを認識しないため、支払い方法はあなたにも表示されません。キーを購入する前にモジュールを設定することはできますが、チェックアウトでテストすることはできません。Modules > Module Manager の Alerts タブにリマインダーが表示されます。既存の注文には影響しません。すでに開始された支払いは引き続き確認され、キャプチャと返金も動作します。

ライセンスが期限切れになると、モジュールは動作を続けますが、アップデートとサポートには更新が必要です。バックオフィスで作業している間、ステータスは自動的に再確認されます。キー入力後の最初の 14 日間は 1 日 1 回、その後は週 1 回です。cron ジョブは不要です。モジュールをアンインストールまたはリセットすると、ライセンスキーとライセンスステータスは常に削除されます。

トラブルシューティング

チェックアウトに Authorize.Net が表示されない: ライセンスが有効であること、Enable/Disable がオンであること、現在のモードに API Login ID、Transaction Key、Public Client Key があることを確認してください。いずれかが欠けている場合、設定ページに警告が表示されます。カート通貨がサポートされていること、そして Payment > Preferences で、カート通貨、顧客の国、顧客のグループに対してモジュールが許可されていることを確認してください。

支払いは完了しているのに、注文が Authorize.Net payment on hold または authorized のまま: 取引の種類が Authorize only である(注文ブロックでキャプチャしてください)か、Authorize.Net が審査のために取引を保留しています。Authorize.Net の管理画面で承認または拒否してください。このような注文を自動的に更新するには、ウェブフックを設定してください。使用しているモードのアカウントにエンドポイントが存在すること、その URL が Endpoint URL に表示されているものと完全に一致すること、4 つのイベントが選択されていること、そのアカウントの Signature Key が入力されていることを確認してください。

Webhook answers webhooks are not configured: どちらのモードにも Signature Key が入力されていません。

Webhook answers invalid signature: Signature Key が別のアカウントのものか、Authorize.Net でキーが変更されています。Signature Key を作成し直すかコピーし直して、そのモードのフィールドに貼り付けてください。

Webhook answers mode mismatch: 通知は一方のモードのキーで署名されていますが、支払いは他方のモードで行われています。サンドボックスと本番の Signature Key が取り違えられていないか確認してください。

Webhook answers verification failed, retry later: ストアが Authorize.Net API から取引を読み取れなかったか、支払いのモードの認証情報がありません。Authorize.Net は配信を再試行します。

Webhook answers busy, retry later: 同じタイミングで別のリクエストが注文を更新していたか、注文を作成できませんでした。Authorize.Net は配信を再試行します。理由は Log フィールドを確認してください。

ウェブフックの URL をブラウザで開くと method not allowed と表示される: これは正常です。この URL は Authorize.Net からのリクエストのみを受け付けます。

カードフォームに The secure card form (Accept.js) could not be loaded と表示される: チェックアウトは HTTPS を使用する必要があり、現在のモードの Public Client Key と API Login ID が正しい必要があります。

Payment error: the card could not be tokenized: Accept.js がトークンを返しませんでした。顧客はカード情報を入力し直して、もう一度お試しください。

顧客に一般的なエラーが表示される: モジュールのページにある Log フィールドを確認してください。エラーは必ずそこに記録されます。アカウントがサポートしていない通貨は、Authorize.Net によって拒否されます。

取引がまだ売上確定していないため、一部返金に失敗する: 取引をボイドするには全額返金するか、売上確定後(通常 24 時間以内)にもう一度お試しください。

モードに関するメッセージが表示され、返金またはキャプチャに失敗する: 支払いはサンドボックスモードまたは本番モードで行われましたが、そのモードの API Login ID と Transaction Key が設定されていません。入力してから、もう一度お試しください。

アンインストール

Modules > Module Manager に進み、VibeFox Authorize.Net Gateway の横にあるメニューを開いて Uninstall を選択します。このモジュールのライセンスキーとライセンスステータスは、常に削除されます。Delete data on uninstall がオンの場合、設定とログが削除されます。オフの場合、後で再インストールするためにすべての設定が保持されます。Authorize.Net の取引と返金、および注文ステータス Authorize.Net payment authorized と Authorize.Net payment on hold は常に保持されるため、以前に支払われた注文は再インストール後もキャプチャと返金が可能です。既存の注文は、支払いのメモと取引 ID を保持します。

Authorize.Net は、各所有者の商標です。このモジュールは Authorize.Net と提携しておらず、Authorize.Net による承認も受けていません。