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,我們將為您提供所有問題的答案。