Magento 2 中的全球支付集成及其常见问题 - 解决问题的步骤

已发表: 2021-05-25

电子商务商店的成功取决于用户对其购物体验的满意度。 流畅的结账流程让客户满意并鼓励
他们从您的商店购物。 在规划客户旅程时,应该为用户提供卓越而愉快的结账体验。 您需要一个适当的支付网关来为在线购物者提供无缝体验。

什么是支付网关及其工作原理?

当客户通过填写​​信用卡信息从 Magento 电子商务网站购买商品时,Magento 支付网关会收到该信息
与交易有关。 它对付款细节进行编码,并将付款转移到付款处理器。 交易被定向到开证行,并且可能被批准或拒绝。 如果交易请求被批准,支付处理器
会得到通知。 支付网关将钱发送到商家帐户。 此过程可能需要几分钟到几天的时间。 Magento 网店所有者需要选择正确的支付网关,以便为其客户提供最佳的结账体验。
您选择的支付网关应确保电子商务网站所有者和购物者的安全性和便利性。 全球支付用于在 Magento 2 商店接受付款。 付款方式将您的电子商务商店与全球支付联系起来
网关。 这种支付方式提供了 Realex Gateway API,它为客户和商家提供了完全控制。 全球支付方式提供两种不同的方式
使用付款。 它们主要作为

  • HPP(托管支付页面)
  • 远程集成 (API)

支付网关代表商家-客户关系。 在为 Magento 配置和使用它之前,您需要执行一些额外的步骤,如下所示:

附加步骤

第 1 步:从 Global Payment Gateway 创建一个商家帐户。 您可以使用给定的链接创建一个帐户: https ://developer.globalpay.com/ 您还可以创建沙盒帐户
用于测试目的。

第 2 步:激活帐户后,您需要从该帐户获得以下两个凭据。

  • 商户编号
  • 共享秘密。

您可以从我的应用程序管理这些凭据 -> 单击商家 ID

单击商家 ID 后,您将被重定向到凭据页面。

Magento 2 中的配置步骤

第 1 步:安装并配置全球支付网关商家凭据后,从后端启用扩展。

标题:您的客户在结账时将看到的付款方式的描述。

  • 商户 ID:由您的全球支付商户帐户提供的商户 ID(或客户 ID)。
  • 子账户:环汇账户经理将为您提供在您的商户 ID 下配置的子账户名称。
  • 共享密钥:密钥值已由您的全球支付商户提供。
  • 返利秘钥:返利秘钥由您的全球支付商户提供。
  • 环境:您可以在沙盒或实时环境之间切换。

步骤 2:配置高级设置

这些设置将定义您的订单状态,如何在 I 框架中显示付款方式或希望被重定向
到托管付款页面。 如果您使用托管支付方式,那么您需要使用这些 API

制作网址: https ://pay.realexpayments.com/pay

沙盒网址: https ://pay.sandbox.realexpayments.com/pay 如果您使用的是远程集成方式,那么您需要使用这些 API

制作网址: https ://api.realexpayments.com/epage-remote.cgi

沙盒网址: https ://api.sandbox.realexpayments.com/epage-remote.cgi 不过不用担心这些API 全球支付账户经理会在开户时为您提供
激活。

Step-3:配置好这些细节后,您需要将您的服务器IP列入白名单,并提供响应商户URL给Global Payment Account Manager。

  • 回复网址:

'merchant_response_url' => http://demo.example.com/realex/redirect/response/正确配置所有这些设置后,您将能够使用全球支付方式
在您的 Magento 商店中。 但是,当配置正确时,仍然有些人会遇到问题。 全球支付网关最常见的问题是

您的交易已成功,但连接回商家网站时出现问题。 请联系商家并告知他们您收到了此错误消息。

最常见问题的解决方案

这是许多人面临的最常见的问题。 即使您已通过 Global Payment Gateway 成功付款,您也可能看不到其他人可能使用其他付款方式获得的订单的任何成功页面。 但是不要
担心,因为我们已经提出了可以帮助您的解决方案。 这是成功支付后获得成功页面并避免屏幕上出现给定错误消息的解决方案。

  1. app/code/etc/di.xml文件中覆盖 Realex 支付方式的控制器文件并添加以下代码来覆盖控制器

<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” />

</配置>

  1. 在execute方法的Vendor\ModuleName\Controller\Process\Result\Base中添加更新后的代码,重定向到成功页面。

公共函数执行() { 尝试 { $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)); } } 捕捉 (\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);

</脚本>

';

$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; /** * Magento 版本大于或等于 2.3.0 的结果实现 */ class Result extends Result\Base implements CsrfAwareActionInterface
{ public function createCsrfValidationException(RequestInterface $request): ?InvalidRequestException { return null; } 公共函数 validateForCsrf(RequestInterface $request): ?bool { return true; } }

通过这样做,您将在成功交易后获得成功页面。

最后外卖

我们希望您已了解 Magento 2 中的全球支付配置。我们提供了尽可能多的信息,有助于轻松与适当的设置集成,并为人们通常面临的最常见问题提供解决方案,
如果您有任何问题,请随时联系 ZealousWeb,我们将为您提供所有问题的答案。