تكامل المدفوعات العالمية ومشكلاتها الشائعة في Magento 2 - خطوات لحل المشكلات
نشرت: 2021-05-25يعتمد نجاح متجر التجارة الإلكترونية على مدى رضا المستخدمين عن تجربة التسوق الخاصة بهم. تجعل عملية الدفع السلسة العملاء سعداء وتشجعهم
لهم للتسوق من متجرك. أثناء التخطيط لرحلة العميل ، يجب على المرء أن يوفر تجربة دفع فائقة وممتعة للمستخدمين. أنت بحاجة إلى بوابة دفع مناسبة لتوفير تجربة سلسة للمتسوقين عبر الإنترنت.
ما هي بوابة الدفع وكيف تعمل؟
عندما يشتري عميل عنصرًا من موقع التجارة الإلكترونية Magento عن طريق ملء معلومات بطاقة الائتمان الخاصة به ، تتلقى بوابة الدفع Magento المعلومات
المتعلقة بالمعاملة. يقوم بتشفير تفاصيل الدفع ويتم تحويل الدفع إلى معالج الدفع. يتم توجيه المعاملة إلى البنك المصدر وقد تتم الموافقة عليها أو رفضها. إذا تمت الموافقة على طلب المعاملة ، معالج الدفع
سوف يتم إعلامك. بوابة الدفع ترسل الأموال إلى حساب التاجر. قد تستغرق هذه العملية بضع دقائق إلى بضعة أيام. يحتاج مالكو متجر Magento الإلكتروني إلى اختيار بوابة الدفع المناسبة لتوفير تجربة دفع مثالية لعملائهم.
يجب أن تضمن بوابة الدفع التي تختارها الأمان والراحة لأصحاب مواقع التجارة الإلكترونية وكذلك المتسوقين. يتم استخدام الدفع العالمي لقبول الدفع في متاجر Magento 2. تربط طريقة الدفع متجر التجارة الإلكترونية الخاص بك بالدفع العالمي
بوابة. توفر طريقة الدفع هذه واجهة برمجة تطبيقات Realex Gateway والتي توفر تحكمًا كاملاً للعملاء وكذلك التجار. توفر طريقة الدفع العالمية طريقتين مختلفتين لـ
استخدام الدفع. هم أساسا
- HPP (صفحة الدفع المستضافة)
- التكامل عن بعد (API)
تمثل بوابة الدفع العلاقات بين التاجر والعملاء. قبل تكوينه واستخدامه لـ Magento ، تحتاج إلى اتباع بعض الخطوات الإضافية على النحو التالي:
خطوات إضافية
الخطوة 1: قم بإنشاء حساب تاجر من Global Payment Gateway. يمكنك إنشاء حساب باستخدام الرابط المحدد: https://developer.globalpay.com/ . يمكنك أيضًا إنشاء حساب Sandbox
لغرض الاختبار.
الخطوة 2: بمجرد تنشيط حسابك ، يجب أن يكون لديك بيانات الاعتماد التالية من الحساب.
- معرف التاجر
- السر المشترك.
يمكنك إدارة بيانات الاعتماد هذه من تطبيقاتي -> انقر فوق معرف التاجر
بعد النقر على معرّف التاجر ، ستتم إعادة توجيهك إلى صفحة بيانات الاعتماد.

خطوات التكوين في Magento 2
الخطوة 1: قم بتمكين الامتداد من الواجهة الخلفية بعد التثبيت وتكوين بيانات اعتماد تاجر بوابة الدفع العالمية.

العنوان: وصف طريقة الدفع التي سيراها عميلك أثناء الخروج.
- معرّف التاجر: معرّف التاجر (أو معرّف العميل) كما هو مقدّم من حساب Global Payment Merchant الخاص بك.
- الحساب الفرعي: سيوفر لك مدير حساب Global Payments أسماء الحسابات الفرعية التي تم تكوينها تحت معرّف التاجر الخاص بك.
- المفتاح السري المشترك: تم توفير القيمة الأساسية من خلال حساب التاجر العالمي الخاص بك.
- المفتاح السري للخصم: تم توفير مفتاح الخصم من خلال حساب Global Payment Merchant الخاص بك.
- البيئة: يمكنك التبديل بين وضع الحماية أو البيئة الحية.
الخطوة 2: تكوين الإعدادات المتقدمة
ستحدد هذه الإعدادات حالة طلبك ، وكيفية إظهار طريقة الدفع في إطار I أو تريد إعادة توجيهك
إلى صفحة الدفع المستضاف. إذا كنت تستخدم طريقة الدفع المستضافة ، فأنت بحاجة إلى استخدام واجهات برمجة التطبيقات هذه
عنوان URL للإنتاج: https://pay.realexpayments.com/pay
Sandbox URL: https://pay.sandbox.realexpayments.com/pay إذا كنت تستخدم طريقة التكامل عن بُعد ، فأنت بحاجة إلى استخدام واجهات برمجة التطبيقات هذه
عنوان URL للإنتاج: https://api.realexpayments.com/epage-remote.cgi
Sandbox URL: https://api.sandbox.realexpayments.com/epage-remote.cgi ولكن لا تقلق ، فإن مدير حساب الدفع العالمي لواجهات برمجة التطبيقات (API) سيوفر لك وقت الحساب
التنشيط.
الخطوة 3: بعد تكوين هذه التفاصيل ، تحتاج إلى إدراج عنوان IP للخادم في القائمة البيضاء وكذلك تقديم عنوان URL الخاص بتاجر الاستجابة إلى Global Payment Account Manager.
- عنوان URL للاستجابة:
'merchant_response_url' => http://demo.example.com/realex/redirect/response/ بمجرد تكوين كل هذه الإعدادات بشكل صحيح ، ستتمكن من استخدام طريقة الدفع العالمية
في متجر Magento الخاص بك. ولكن لا يزال بعض الأشخاص يواجهون مشكلات عندما يكون التكوين مناسبًا. المشكلة الأكثر شيوعًا في Global Payment Gateway هي

" تمت معاملتك بنجاح ولكن كانت هناك مشكلة في الاتصال مرة أخرى بموقع الويب الخاص بالتاجر. يرجى الاتصال بالتاجر وإبلاغه أنك تلقيت رسالة الخطأ هذه. "

حل المشكلة الأكثر شيوعًا
هذه هي المشكلة الأكثر شيوعًا التي واجهها العديد من الأشخاص. حتى إذا كنت قد أجريت دفعًا ناجحًا من خلال Global Payment Gateway ، فقد لا ترى أي صفحة نجاح للطلبات التي قد يحصل عليها الآخرون باستخدام طرق دفع أخرى. لكن لا تفعل
تقلق لأننا توصلنا إلى الحل الذي سيساعدك. إليك الحل للحصول على صفحة النجاح بعد الدفع الناجح وتجنب ظهور رسالة الخطأ على الشاشة.
- تجاوز ملف وحدة التحكم في طريقة الدفع Realex في ملف app / code / etc / di.xml وأضف الكود أدناه لتجاوز وحدة التحكم
<config xmlns: xsi = ”http://www.w3.org/2001/XMLSchema-instance” xsi: noNamespaceSchemaLocation = ”urn: magento: framework: ObjectManager / etc / config.xsd”>
<التفضيل لـ = "RealexPayments \ HPP \ Controller \ Process \ Result \ Base" type = "Vendor \ ModuleName \ Controller \ Process \ Result \ Base" />
<التفضيل لـ = "RealexPayments \ HPP \ Controller \ Process \ Result" type = "Vendor \ ModuleName \ Controller \ Process \ Result” />
</config>
- أضف الكود المحدث في Vendor \ ModuleName \ Controller \ Process \ Result \ Base في طريقة التنفيذ لإعادة التوجيه إلى صفحة النجاح.
تنفيذ الوظيفة العامة () {try {$ response = $ this-> getRequest () -> getParams () ؛ // the default $ params ['returnUrl'] = $ this -> _ url-> getUrl ('checkout / cart') ؛ إذا (استجابة $) {$ result
= $ this -> _ handleResponse ($ response) ؛ $ params ['returnUrl'] = $ this -> _ url -> getUrl ('realexpayments_hpp / process / sessionresult'، $ this -> _ buildSessionParams ($ result))؛ }} catch (\ Exception $ e) {$ this -> _ logger- >itical ($ 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>'؛
إذا (isset ($ params ['returnUrl'])) {
$ Resp. = '
<script>
window.setTimeout (() => {
window.top.location = "". المعلمات $ ['returnUrl']. "" ؛
} ، 1000) ؛
</script>
"؛
} $ this-> getResponse () -> setBody ($ resp) ؛ إرجاع؛ } أضف التعليمات البرمجية المحدّثة في Vendor \ ModuleName \ Controller \ Process \ النتيجة <؟ 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 \ Base CsrfAwareActionInterface
{الوظيفة العامة createCsrfValidationException (RequestInterface $ request):؟ InvalidRequestException {return null؛ } الوظيفة العامة validateForCsrf (RequestInterface $ request):؟ bool {return true؛ }}
من خلال القيام بذلك ، ستحصل على صفحة نجاح بعد الصفقة الناجحة.
الوجبات الجاهزة النهائية
نأمل أن تكون قد فهمت التكوين الخاص بالدفع العالمي في Magento 2. لقد قدمنا أكبر قدر من المعلومات التي تساعد على الاندماج بسهولة مع الإعدادات المناسبة كما قدمنا حلولاً لأكثر المشكلات شيوعًا التي يواجهها الأشخاص عادةً ،
إذا كانت لديك أي أسئلة ، فلا تتردد في الاتصال بـ ZealousWeb وسنقدم لك جميع الإجابات على استفساراتك.
