Magento2におけるグローバル決済統合とその一般的な問題-問題を解決するためのステップ
公開: 2021-05-25eコマースストアの成功は、ユーザーがショッピング体験にどれだけ満足しているかにかかっています。 スムーズなチェックアウトプロセスは、顧客を幸せにし、励まします
彼らはあなたの店から買い物をします。 カスタマージャーニーを計画する際には、ユーザーに優れた楽しいチェックアウト体験を提供する必要があります。 オンライン買い物客にシームレスな体験を提供するには、適切な支払いゲートウェイが必要です。
ペイメントゲートウェイとは何ですか?どのように機能しますか?
顧客がクレジットカード情報を入力してMagentoeコマースサイトからアイテムを購入すると、Magentoペイメントゲートウェイがその情報を受け取ります
トランザクションに関連します。 支払いの詳細をエンコードし、支払いは支払い処理業者に転送されます。 取引は発行銀行に送信され、承認または拒否される場合があります。 トランザクション要求が承認されると、支払い処理業者
通知が届きます。 支払いゲートウェイは、マーチャントアカウントにお金を送信します。 このプロセスには、数分から数日かかる場合があります。 Magento Webストアの所有者は、顧客に最適なチェックアウトエクスペリエンスを提供するために、適切な支払いゲートウェイを選択する必要があります。
選択する支払いゲートウェイは、eコマースサイトの所有者と買い物客のセキュリティと利便性を確保する必要があります。 グローバルペイメントは、Magento2ストアでの支払いを受け入れるために使用されます。 お支払い方法は、eコマースストアとグローバルペイメントを接続します
ゲートウェイ。 この支払い方法は、顧客と販売者に完全な制御を提供するRealexGatewayAPIを提供します。 グローバル支払い方法は、2つの異なる方法を提供します
支払いを使用します。 彼らは主に
- HPP(ホステッドペイメントページ)
- リモート統合(API)
支払いゲートウェイは、マーチャントと顧客の関係を表します。 Magentoで構成して使用する前に、次のような追加の手順を実行する必要があります。
追加の手順
ステップ-1:グローバルペイメントゲートウェイからマーチャントアカウントを作成します。 次のリンクを使用してアカウントを作成できます: https ://developer.globalpay.com/ 。 サンドボックスアカウントを作成することもできます
テスト目的のため。
ステップ-2:アカウントがアクティブ化されたら、アカウントから次の2つの資格情報を取得する必要があります。
- 販売者ID
- 共有秘密。
これらの資格情報は、 [マイアプリ]->[販売者ID]をクリックして管理できます
販売者IDをクリックすると、資格情報ページにリダイレクトされます。

Magento2で設定する手順
ステップ-1:インストール後にバックエンドから拡張機能を有効にし、グローバルペイメントゲートウェイのマーチャントクレデンシャルを設定します。

タイトル:チェックアウト時に顧客に表示される支払い方法の説明。
- マーチャントID:グローバルペイメントマーチャントアカウントによって提供されるマーチャントID(またはクライアントID)。
- サブアカウント:グローバルペイメントのアカウントマネージャーは、マーチャントIDで構成されているサブアカウント名を提供します。
- 共有秘密キー:キー値は、グローバルペイメントマーチャントアカウントによって提供されています。
- リベートシークレットキー:リベートキーは、グローバルペイメントマーチャントアカウントから提供されています。
- 環境:サンドボックス環境とライブ環境を切り替えることができます。
ステップ-2:詳細設定を構成する
これらの設定は、注文ステータス、Iフレームに支払い方法を表示する方法、またはリダイレクトする方法を定義します
HostedPaymentページに移動します。 ホスト型支払い方法を使用している場合は、これらのAPIを使用する必要があります
本番URL: https ://pay.realexpayments.com/pay
サンドボックスURL: https ://pay.sandbox.realexpayments.com/payリモート統合方式を使用している場合は、これらのAPIを使用する必要があります
本番URL: https ://api.realexpayments.com/epage-remote.cgi
サンドボックスURL: https ://api.sandbox.realexpayments.com/epage-remote.cgiただし、これらのAPIを心配する必要はありません。グローバルペイメントアカウントマネージャーがアカウント時に提供します。
アクティベーション。
ステップ-3:これらの詳細を構成した後、サーバーIPをホワイトリストに登録し、グローバルペイメントアカウントマネージャーに応答マーチャントURLを提供する必要があります。
- 応答URL:
'merchant_response_url' => http://demo.example.com/realex/redirect/response/これらの設定がすべて適切に構成されると、グローバル支払い方法を使用できるようになります
Magentoストアで。 しかし、それでも、構成が適切な場合に問題が発生する人もいます。 グローバルペイメントゲートウェイの最も一般的な問題は
「取引は成功しましたが、販売者のWebサイトに接続する際に問題が発生しました。 販売者に連絡して、このエラーメッセージを受け取ったことを知らせてください。 」


最も一般的な問題の解決策
これは、多くの人が直面している最も一般的な問題です。 Global Payment Gatewayを介して支払いを成功させた場合でも、他の支払い方法を使用して他の人が受け取っている可能性のある注文の成功ページが表示されない場合があります。 しかし、しないでください
私たちはあなたを助ける解決策を考え出したので心配してください。 支払いが成功した後に成功ページを取得し、画面に表示されるエラーメッセージを回避するための解決策は次のとおりです。
- app / code / etc /di.xmlファイルのRealexPaymentメソッドのコントローラーファイルをオーバーライドし、以下のコードを追加してコントローラーをオーバーライドします
<config xmlns:xsi =” http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation =” urn:magento:framework:ObjectManager / etc / config.xsd”>
<preference for =” RealexPayments \ HPP \ Controller \ Process \ Result \ Base” type =” Vendor \ ModuleName \ Controller \ Process \ Result \ Base” />
<preference for =” RealexPayments \ HPP \ Controller \ Process \ Result” type =” Vendor \ ModuleName \ Controller \ Process \ Result” />
</ config>
- 更新されたコードをexecuteメソッドのVendor\ModuleName \ Controller \ Process \ Result \ Baseに追加して、成功ページにリダイレクトします。
public function execute(){try {$ response = $ this-> getRequest()-> getParams(); //デフォルトの$params['returnUrl'] = $ this-> _ url-> getUrl('checkout / cart'); if($ response){$ result
= $ this-> _ handleResponse($ response); $ params ['returnUrl'] = $ this-> _ url-> getUrl('realexpayments_hpp / process / sessionresult'、$ this-> _ buildSessionParams($ result)); }} catch(\ Exception $ e){$ this-> _ logger->critical($ e);
} $ this-> coreRegistry-> register(\ RealexPayments \ HPP \ Block \ Process \ Result :: REGISTRY_KEY、$ params); $ this-> _ view-> loadLayout(); $ this-> _ view-> getLayout()-> initMessages(); $ this-> _ view-> renderLayout();
$ this-> _ view-> getLayout()-> createBlock('\ RealexPayments \ HPP \ Block \ Process \ Result'、'rp.hpp');$ resp='<div>お支払いはウェブサイトで正常に処理されました…。</div>';
if(isset($ params ['returnUrl'])){
$resp。='
<スクリプト>
window.setTimeout(()=> {
window.top.location =“'。 $params['returnUrl']。 '”;
}、1000);
</ script>
';
} $ this-> getResponse()-> setBody($ resp); 戻る; }更新されたコードをVendor\ModuleName \ Controller \ Process \ Result <?php namespace Vendor \ ModuleName \ Controller\Process;に追加します。 Magento \ Framework \ App\CsrfAwareActionInterfaceを使用します;
Magento \ Framework \ App\RequestInterfaceを使用します; Magento \ Framework \ App \ Request\InvalidRequestExceptionを使用します; / ***2.3.0以降のMagentoバージョンの結果の実装*/class Result extends Result \ Baseimplements CsrfAwareActionInterface
{public function createCsrfValidationException(RequestInterface $ request):?InvalidRequestException {return null; } public function validateForCsrf(RequestInterface $ request):?bool {return true; }}
これを行うことにより、トランザクションが成功した後に成功ページが表示されます。
最終的な持ち帰り
Magento 2のグローバルペイメントの構成を理解していただければ幸いです。適切な設定と簡単に統合するのに役立つ情報を提供し、人々が通常直面する最も一般的な問題の解決策も提供しました。
ご不明な点がございましたら、ZealousWebまでお気軽にお問い合わせください。質問に対するすべての回答を提供します。
