VibeFox GoPay for OpenCart — المساعدة
المتطلبات
OpenCart: الإصدار 3.0.x (تم الاختبار على 3.0.5.0)، أو الإصدار 4.0.2 أو أحدث (تم الاختبار على 4.1.0.3).
PHP: الإصدار 8.0 أو أحدث.
العملة: تقبل GoPay العملات CZK وEUR وPLN وUSD وGBP وHUF وRON وBGN. مع عملة دفع أخرى في صفحة الدفع، تُخفى طريقة الدفع.
حساب GoPay: تحتاج إلى GoID وClient ID وClient Secret لحساب التاجر في GoPay. توجد في إعدادات التكامل للحساب. لحساب الاختبار (sandbox) بيانات اعتماد خاصة به. لا يلزم إعداد شيء في حساب GoPay من أجل الإشعارات، لكن متجرك يجب أن يكون متاحًا من الإنترنت.
مفتاح ترخيص VibeFox: يُشترى من vibefox.net. يعمل المفتاح الواحد على نطاق واحد.
التثبيت
التنزيل ملف zip واحد يحتوي على حزم الإصدارين من OpenCart. فكّه على حاسوبك. يحتوي على README.txt، وحزمة OpenCart 3 wcp_gopay_gateway-oc3-(version).ocmod.zip، وحزمة OpenCart 4 wcp_gopay_gateway.ocmod.zip. ثبّت الحزمة الخاصة بإصدار OpenCart لديك فقط. مفتاح الترخيص واحد للإصدارين.
OpenCart 3
1. في لوحة الإدارة، انتقل إلى Extensions > Installer، ثم انقر على Upload واختر الملف wcp_gopay_gateway-oc3-(version).ocmod.zip. لا تحتوي الإضافة على تعديلات OCMOD، لذلك لا يلزم تحديث Extensions > Modifications. وبدلًا من أداة التثبيت، يمكنك نسخ محتويات المجلد upload من هذه الحزمة إلى المجلد الجذر لمتجرك.
2. انتقل إلى Extensions > Extensions واختر النوع Payments. ابحث عن VibeFox GoPay Gateway وانقر على Install (الزر الأخضر +). يحتاج مستخدم الإدارة لديك إلى صلاحية تعديل قائمة إضافات الدفع.
3. انقر على Edit (زر القلم) لفتح صفحة الإعدادات. الصق مفتاح ترخيص VibeFox في الحقل License key ضمن كتلة الترخيص في أعلى الصفحة، ثم انقر على Activate (راجع License key).
4. أدخل GoID وClient ID وClient Secret الخاصة بالـ sandbox، واترك Test Mode مفعّلًا، وفعّل Enable/Disable، ثم انقر على Save.
5. أجرِ طلبًا تجريبيًا. عندما يعمل كل شيء، أدخل بيانات اعتماد الإنتاج وعطّل Test Mode.
OpenCart 4
1. في لوحة الإدارة، انتقل إلى Extensions > Installer، ثم انقر على Upload واختر الملف wcp_gopay_gateway.ocmod.zip. لا تغيّر اسم الملف: فOpenCart 4 يأخذ رمز الإضافة من اسم الملف، ولا تعمل الحزمة التي يُغيَّر اسمها.
2. تظهر الحزمة في قائمة الإضافات المثبتة في الصفحة نفسها. انقر على Install (الزر الأخضر +) بجوارها.
3. انتقل إلى Extensions > Extensions واختر النوع Payments. ابحث عن VibeFox GoPay Gateway، وانقر على Install (الزر الأخضر +)، ثم على Edit (زر القلم).
4. أدخل مفتاح الترخيص وبيانات اعتماد GoPay كما في الخطوات من 3 إلى 5 لـ OpenCart 3. صفحة الإعدادات وحقولها متطابقة في الإصدارين، ويختلف عنوان الإشعار فقط (راجع إشعارات الدفع).
تبدأ التثبيتات الجديدة بطريقة الدفع معطّلة ووضع الاختبار مفعّلًا.
الإعدادات
جميع الإعدادات موجودة في صفحة الإضافة: Extensions > Extensions > Payments > VibeFox GoPay Gateway > Edit. تظهر الأقسام على اليسار؛ يحفظ زر Save أسفل القائمة الصفحة بأكملها. وفوق الإعدادات تعرض الصفحة Sandbox mode — test payments only أو Production mode — real payments. وتحذّرك إذا كان GoID أو Client ID أو Client Secret للوضع الحالي مفقودًا، وعندما لا تقبل GoPay العملة الافتراضية للمتجر. من دون بيانات الاعتماد لا تُعرض GoPay في صفحة الدفع؛ ومع عملة افتراضية غير مدعومة تُعرض فقط للعملاء الذين يتحولون إلى عملة مدعومة. من دون صلاحية تعديل الإضافة، تعرض الصفحة الإعدادات لكنها لا تستطيع حفظها.
عند الحفظ، يحتفظ الحقل ذو القيمة غير الصالحة بقيمته السابقة وتعرض الصفحة خطأً؛ وتُحفظ بقية الحقول. ينطبق هذا على Title إذا كان فارغًا أو أطول من 128 حرفًا، وعلى GoID الذي لا يتكون من 6 إلى 20 رقمًا، وعلى Sort Order الذي ليس عددًا صحيحًا، وعلى Total الذي ليس عددًا يساوي 0 أو أكبر، وعلى منطقة جغرافية أو حالة طلب غير موجودة. كما يمسح الحفظ رموز الوصول المخزّنة مؤقتًا لـ GoPay، لكي تُستخدم بيانات الاعتماد الجديدة فورًا.
GoPay
Enable/Disable: Enable GoPay payment gateway يفعّل طريقة الدفع أو يعطّلها. الافتراضي: معطّل.
Title: عنوان طريقة الدفع الذي يظهر في صفحة الدفع. وهو أيضًا اسم طريقة الدفع المحفوظ في الطلب. الافتراضي: GoPay. حقل إلزامي، حتى 128 حرفًا.
Description: وصف طريقة الدفع الذي يظهر في خطوة Confirm Order، فوق زر التأكيد. الافتراضي: Pay securely via GoPay - cards, wallets, bank transfers.
Sort Order: ترتيب GoPay بين طرق الدفع في صفحة الدفع. اتركه فارغًا أو أدخل عددًا صحيحًا.
Geo Zone: اعرض GoPay فقط لعناوين الدفع الواقعة في المنطقة الجغرافية المحددة. الافتراضي: All zones. تُضبط المناطق الجغرافية في System > Localisation > Geo Zones.
Total: إجمالي الدفع، بعملة المتجر الافتراضية، الذي يجب أن يبلغه الطلب قبل عرض GoPay. اتركه فارغًا لعرض GoPay لأي إجمالي.
بيانات اعتماد API
يوجد GoID وClient ID وClient Secret في حساب التاجر في GoPay (إعدادات التكامل). لحساب الاختبار (sandbox) بيانات اعتماد خاصة به. يحتوي القسم على رابط لوثائق GoPay API.
Test Mode: يرسل المدفوعات إلى gw.sandbox.gopay.com ببيانات اعتماد sandbox. لا يُخصم أي مبلغ حقيقي. عطّله لقبول مدفوعات حقيقية ببيانات اعتماد الإنتاج. الافتراضي: مفعّل.
Sandbox GoID: GoID لحساب GoPay التجريبي (sandbox).
Sandbox Client ID: OAuth Client ID لحساب sandbox.
Sandbox Client Secret: OAuth Client Secret لحساب sandbox.
Production GoID: معرّف التاجر لدى GoPay (GoID).
Production Client ID: OAuth Client ID من GoPay.
Production Client Secret: OAuth Client Secret من GoPay.
يتكون GoID من 6 إلى 20 رقمًا فقط، مثل 8123456789. إذا أدخلت شيئًا آخر، فستعرض الصفحة GoID must contain digits only, 6 to 20 digits (for example 8123456789). The previous value was kept.
لا تُعرض كلمات مرور client secret المحفوظة مرة أخرى أبدًا. يبقى الحقل فارغًا ويعرض Saved — leave empty to keep it. أدخل قيمة جديدة فقط إذا أردت تغييرها.
Clear saved client secrets: فعّل الخانة وانقر على Save لحذف كلا client secret المحفوظين. الحقل الفارغ يُبقي القيمة المحفوظة.
الدفع
Payment Page Language: لغة صفحة الدفع في GoPay. الافتراضي: Automatic (site language, then billing country). يستخدم الوضع التلقائي لغة واجهة متجرك؛ وإذا لم تكن GoPay تدعمها، تحدد دولة الفوترة اللغة، وإلا تُستخدم الإنجليزية. ويمكنك أيضًا تثبيت إحدى اللغات التسع عشرة: Czech وEnglish وSlovak وGerman وPolish وHungarian وRomanian وBulgarian وCroatian وSlovenian وEstonian وLatvian وLithuanian وFrench وItalian وSpanish وPortuguese وUkrainian وRussian.
ينشئ OpenCart الطلب في خطوة Confirm Order من دون حالة (طلب مفقود، missing order). لا يحصل الطلب على حالة إلا بعد أن تؤكد GoPay الدفعة، سواء بالإشعار أو بعودة العميل؛ ويُقرأ الوضع دائمًا من GoPay API. وتسرد كل خانة حالة أدناه حالات الطلب في OpenCart لديك.
Order Status After Payment: حالة الطلب التي تُعيَّن عند تأكيد الدفعة. الافتراضي: قيد المعالجة. اختر مكتمل، مثلًا، للمنتجات الافتراضية.
GoPay Payment On Hold Status: المدفوعات التي لا تطابق الطلب، والمدفوعات بعد الإلغاء، والمدفوعات المفوَّضة مسبقًا فقط. تشرح ملاحظة السبب؛ تحقّق من الدفعة في حساب GoPay. الافتراضي: قيد الانتظار، لأن OpenCart لا يملك حالة On hold. يمكنك إنشاء حالتك الخاصة في System > Localisation > Order Statuses واختيارها هنا.
Cancelled Order Status: دفعة GoPay تصل لطلب في هذه الحالة (أو في حالة الاسترداد) تضع الطلب في الانتظار بدلًا من إعادة فتحه بصمت. الافتراضي: ملغي.
Refunded Status: تُعيَّن بعد استرداد الدفعة بالكامل، من صفحة الطلب أو كما يبلغ GoPay. الافتراضي: مسترد.
إشعارات الدفع
يُخبر الإشعار متجرك بأن دفعة قد تمت. يظهر Notification URL في هذا القسم ويُرسل إلى GoPay مع كل دفعة، لذلك لا يلزم إعداد شيء في حساب GoPay. يبدو العنوان في OpenCart 3 هكذا: https://your-store/index.php?route=extension/payment/wcp_gopay_gateway/notify، وفي OpenCart 4 هكذا: https://your-store/index.php?route=extension/wcp_gopay_gateway/payment/wcp_gopay_gateway.notify. ويُنشأ من عنوان الواجهة الأمامية لتثبيت OpenCart لديك. يجب أن يكون متاحًا من الإنترنت: من دون حماية بكلمة مرور أو جدار ناري أمامه. ويعمل أيضًا أثناء وضع الصيانة للمتجر: يسمح OpenCart 3 بمرور طلبات إضافات الدفع، وفي OpenCart 4 تضيف الإضافة إجراء startup action يسمح بمرور الإشعار وعودة العميل من GoPay.
لا تحمل إشعارات GoPay سوى معرّف الدفعة ولا توقيع فيها. يُتحقق من كل إشعار بطلب حالة الدفعة من GoPay API، باستخدام بيانات اعتماد الوضع الذي تمت فيه الدفعة؛ ويجب أن تكون الدفعة من الدفعات التي أنشأتها الإضافة لطلب في متجرك. وعندما تتعذر قراءة الحالة من GoPay، يرد متجرك بخطأ فتعيد GoPay إرسال الإشعار. ومن دون الإشعارات، لا يحصل الطلب على حالته إلا عندما يعود العميل إلى المتجر بعد الدفع.
متقدّم
Logging: يكتب أحداث GoPay في الملف gopay_p_debug.log.php في مجلد سجلات OpenCart (storage/logs). لا يمكن فتح الملف من الويب. تُسجَّل الأخطاء والتحذيرات دائمًا. لا تُسجَّل بيانات الاعتماد ولا الرموز ولا بيانات البطاقة ولا بريد العميل واسمه أبدًا. الافتراضي: معطّل.
Log: يعرض حجم السجل وأحدث إدخالاته. انقر على Clear log لتفريغه.
Delete Data on Uninstall: عند التفعيل، يؤدي إلغاء تثبيت الإضافة إلى حذف إعدادات البوابة ورموز الوصول المخزّنة لـ GoPay والسجل. تبقى الطلبات وبيانات دفعات GoPay الخاصة بها محفوظة دائمًا. الافتراضي: معطّل.
الاستيراد / التصدير
Export: Download JSON يحفظ الإعدادات في ملف JSON. لا تُصدَّر client secret.
Import: الصق ملف JSON صُدِّر سابقًا وانقر على Import لاستعادة الإعدادات. تبقى client secret المحفوظة كما هي.
صفحة الدفع
في خطوة Payment Method، يختار العميل طريقة الدفع (افتراضيًا GoPay). وفي خطوة Confirm Order، يرى العميل وصفك. ينشئ OpenCart الطلب في هذه الخطوة، ما يزال من دون حالة. عندما ينقر العميل على Confirm Order، تنشئ الإضافة دفعة GoPay بإجمالي الطلب بعملة الطلب، مع المنتجات والشهادات الهدايا والشحن وسائر إجماليات الطلب، وترسل العميل إلى صفحة دفع GoPay. هناك تعرض GoPay طرق الدفع المفعّلة في حساب GoPay الخاص بك، مثل بطاقات الدفع والتحويلات البنكية والمحافظ الإلكترونية. تُمرَّر إلى GoPay بيانات العميل من الاسم والبريد الإلكتروني والهاتف وعنوان الدفع؛ ولا تُرسل الحقول الفارغة. تظهر الدفعة في GoPay مع رقم الطلب OC- ورقم طلب OpenCart.
في OpenCart 4 يختار العميل طريقة الدفع بزر Choose في كتلة طريقة الدفع، في النافذة Payment method options، وينقر على Confirm Order في أسفل صفحة الدفع. لا تملك OpenCart 4 شهادات الهدايا، لذلك لا يُرسل أي منها إلى GoPay. وبصورة افتراضية لا يطلب OpenCart 4 عنوان الدفع؛ فتمرّر الإضافة إلى GoPay الاسم وعنوان الشحن.
بعد الدفع يعود العميل إلى متجرك. لا يُعلَّم الطلب كمدفوع إلا بعد أن تؤكده GoPay: إما بالإشعار، أو بطلب إلى GoPay API عند عودة العميل. تُعالَج الإشعارات والعودة المتزامنة واحدةً تلو الأخرى، فلا تُطبَّق الدفعة إلا مرة واحدة. ثم يحصل الطلب على حالته بالطريقة القياسية في OpenCart، مع رسائل البريد الإلكتروني المعتادة للطلبات وتحديث المخزون، ويرى العميل صفحة نجاح الطلب في OpenCart. وإذا انتقل الطلب إلى حالة الانتظار، تضيف الصفحة النص Your payment is being reviewed. We will contact you if anything else is needed.
إذا لم تكن GoPay قد أكدت الدفعة عند عودة العميل (مثلًا لأن تحويلًا بنكيًا في الطريق، أو لأن GoPay غير متاحة)، تعرض صفحة Payment confirmation النص GoPay has not confirmed your payment yet. Your order will be confirmed automatically as soon as the payment is confirmed — please do not pay again. مع الزرين Check again وBack to checkout.
إذا لم تكتمل الدفعة أو أُلغيت أو انتهت صلاحيتها، يعود العميل إلى صفحة الدفع مع الرسالة The GoPay payment was not completed. You can try again or choose another payment method. أو The GoPay payment was cancelled or has expired. You can try again or choose another payment method. ويبقى محتوى السلة محفوظًا. وفي OpenCart 4 تظهر هذه الرسائل فوق صفحة الدفع. وكل محاولة جديدة (في OpenCart 3 ينشئ OpenCart طلبًا جديدًا في كل مرة تظهر فيها خطوة Confirm Order، وفي OpenCart 4 يُحدَّث طلب الدفع ويُسدَّد بدفعة GoPay جديدة تحت رقم الطلب نفسه) تتحقق أولًا، عبر GoPay API، من دفعات GoPay المفتوحة للسلة. وإذا كانت إحداها مدفوعة بالفعل، فتُعتمد تلك الدفعة وينتقل العميل إلى صفحة النجاح من دون أن يدفع مرة أخرى. ويُعتبر أي تغيير في السلة، بما في ذلك الكمية الجديدة، سلةً جديدة تحتاج إلى دفعتها الخاصة.
تُبقي OpenCart 4 الطلب في الدفع حتى تظهر صفحة النجاح. وإذا أُغلق ذلك الطلب دون دفع في الأثناء (مثلًا ألغيته أو استرددته)، يعود العميل إلى صفحة الدفع مع Your previous order was cancelled or refunded. Please confirm the order again. (أو رسالة الدفعة الملغاة)، ويدفع الضغط على Confirm Order التالي طلبًا جديدًا. ولا يظهر طلب مدفوع أبدًا على أنه مدفوع لسلة مختلفة.
إذا تعذّر على GoPay بدء الدفع، يبقى العميل في خطوة Confirm Order مع رسالة قصيرة فوق الزر، مثل GoPay could not accept the payment details. Please check your billing details (e-mail, phone, address) or choose another payment method. أو GoPay is temporarily unavailable. Please try again in a moment or choose another payment method. ويُكتب السبب التقني في السجل.
يختار العميل طريقة الدفع في صفحة GoPay؛ ولا يمكن اختيارها في OpenCart. لا تتضمن الإضافة اشتراكات أو مدفوعات متكررة، ولا بطاقات محفوظة، ولا نموذج دفع مدمج، ولا تحصيل أو إلغاء للتفويضات المسبقة من OpenCart.
الطلبات والاسترداد
حالات الطلب
No status (missing order): أُرسل العميل إلى GoPay ولم يدفع، أو لم تؤكد GoPay الدفعة بعد. ويترك الدفع المُلغى أو المنتهي الطلب من دون حالة، مع ملاحظة. وفي Sales > Orders تظهر هذه الطلبات فقط عند ضبط مرشح Order Status على Missing Orders.
Order Status After Payment (الافتراضي Processing): تم تأكيد الدفعة. تعرض الملاحظة معرّف دفعة GoPay.
GoPay Payment On Hold Status (الافتراضي Pending): أكدت GoPay الدفعة، لكن المبلغ أو العملة أو رقم الطلب لا يطابقها؛ أو وصلت الدفعة بعد إلغاء الطلب أو استرداده؛ أو الدفعة مفوَّضة مسبقًا فقط ولم يُحصَّل المبلغ بعد. وتوضح الملاحظة ذلك. يجب تحصيل الدفعة المفوَّضة مسبقًا في GoPay؛ بعد ذلك ينتقل الطلب إلى حالة المدفوع عندما تُبلغ GoPay بأن الدفعة مدفوعة.
Refunded Status (الافتراضي Refunded): استُرد مبلغ دفعة GoPay الخاصة بالطلب بالكامل، إما عبر الإضافة أو في حساب GoPay.
إذا دُفعت محاولة دفع أخرى لطلب مدفوع بالفعل، أو دُفع طلب أقدم من السلة نفسها، فلن يُغيَّر الطلب المدفوع. وتطلب منك ملاحظة استرداد النسخة المكررة في حساب GoPay. وتُضاف ملاحظة مشابهة عندما تُدفع دفعة GoPay لطلب سبق تعليمه كمدفوع من دون GoPay، مثلًا يدويًا. ولا يُعاد فتح الطلب الملغى أو المسترد بإشعار لاحق أبدًا.
الملاحظات هي إدخالات في History الطلب، ولا يراها العميل.
تبويب VibeFox GoPay Gateway
في Sales > Orders افتح طلبًا دُفع عبر GoPay. في أسفل صفحة الطلب، بجوار History وAdditional، يعرض تبويب VibeFox GoPay Gateway معرّف الدفعة GoPay payment ID (مع الوسم Sandbox لدفعات sandbox)، وGoPay state ووسيلة الدفع، وPayment amount، وPaid / refunded، وNeeds review مع السبب عندما يكون الطلب في الانتظار، ونموذج الاسترداد، وسجل الاستردادات، وGoPay notes الخاصة بالطلب. ويظهر التبويب للمستخدمين الذين لديهم صلاحية الوصول إلى الإضافة.
الاستردادات
في التبويب أدخل Amount (يُملأ المبلغ الذي لم يُسترد بعد)، واختياريًا Reason (optional)، ثم انقر على Refund via GoPay. أكّد السؤال Refund this amount through GoPay? This cannot be undone. الاستردادات الكاملة والجزئية مدعومة. تحتاج إلى صلاحية تعديل الإضافة (وتُضبط في System > Users > User Groups). لا تقبل GoPay الاستردادات الجزئية إلا حتى 24 ساعة بعد الدفعة. وتتم الاستردادات بالمبلغ والعملة اللذين خصمتهما GoPay، لذلك بعد اختلاف في المبلغ أو العملة يمكنك الاسترداد حتى ما دفعه العميل فعلًا. الاستردادات متاحة للطلبات المدفوعة، وللطلبات في الانتظار بعد اختلاف أو دفعة متأخرة. يُرسل الاسترداد في الوضع الذي تمت فيه الدفعة (sandbox أو الإنتاج)، لذلك يجب ضبط بيانات اعتماد ذلك الوضع. وإذا رفضت GoPay الاسترداد، يعرض التبويب رسالة GoPay ولا يُسجَّل أي استرداد. وتُضاف عملية الاسترداد الناجحة إلى سجل الاستردادات والملاحظات؛ ويُسجَّل الاسترداد الذي قبلته GoPay للمعالجة لاحقًا بوصفه مقبولًا. ويؤدي الاسترداد الكامل إلى تعيين الطلب على Refunded Status من دون إشعار العميل ومن دون إعادة المنتجات إلى المخزون، تمامًا كتغيير الحالة يدويًا. أما الاسترداد الجزئي فلا يغيّر الحالة.
لا تُعيد مرتجعات المنتجات في Sales > Returns أي أموال عبر GoPay.
تصل الاستردادات التي تتم في حساب GoPay عبر الإشعار. يغيّر الاسترداد الكامل الطلب إلى حالة الاسترداد؛ ويضيف الاسترداد الجزئي ملاحظة. ولا تُضاف إلى سجل الاستردادات في التبويب.
مفتاح الترخيص
تعمل الإضافة بمفتاح ترخيص VibeFox من vibefox.net. كتلة الترخيص License — VibeFox GoPay Gateway هي أول كتلة في صفحة Extensions > Extensions > Payments > VibeFox GoPay Gateway > Edit، فوق الإعدادات. الصق المفتاح في License key وانقر على Activate. بعد ذلك تعرض الكتلة المفتاح مموّهًا، والحالة (مثل تاريخ انتهاء صلاحية الترخيص ونطاقك)، والأزرار Check now لإعادة التحقق من الحالة، وChange key لإدخال مفتاح آخر، وRemove key لإزالة المفتاح من هذا المتجر. وأسفلها سطر Product: opencart-payment-gopay ورابط Manage licenses and domains in your account الذي يفتح حسابك في vibefox.net. لا يستطيع تغيير المفتاح إلا مستخدمو الإدارة الذين لديهم صلاحية Modify على الإضافة. وتتبع نصوص الكتلة لغة الإدارة (وتشمل الإنجليزية والروسية).
إذا لم يُقبل المفتاح، تذكر الكتلة السبب، مثل Key not found أو This key belongs to another product أو Domain limit reached أو License expired on مع تاريخ. بعد تغيير عنوان المتجر، أو بعد تحرير خانة نطاق في حسابك، انقر على Check now. وإذا تعذر الوصول إلى خادم التراخيص، تستمر الإضافة في العمل بآخر حالة معروفة.
يعمل المفتاح الواحد على نطاق واحد: عنوان المتجر من إعدادات OpenCart. ولا تُحرِّر إزالة المفتاح من المتجر خانة النطاق. حرّرها من حسابك في vibefox.net.
من دون مفتاح نشط، لا تظهر GoPay للعملاء في صفحة الدفع. وإذا بدأ الدفع رغم ذلك، فسيرى العميل الرسالة This payment method is not available. Please choose another one. ويظل مستخدم الإدارة المسجّل الدخول إلى الإدارة في المتصفح نفسه يرى طريقة الدفع في المتجر، مع الوسم (unlicensed — visible to admins only)، فتستطيع إعداد الإضافة واختبارها قبل شراء مفتاح. في OpenCart 4 لا تتوفر هذه المعاينة: فالمتجر لا يرى تسجيل دخول الإدارة، لذلك تبقى طريقة الدفع مخفية عن الجميع من دون مفتاح نشط. وبعد أن تفتح صفحة Edit مرة واحدة، يظهر تذكير في Dashboard الإدارة. أغلقه بالرمز × لإخفائه لمدة 7 أيام. ولا تتأثر الطلبات الحالية: فالدفعات التي بدأت بالفعل تظل مؤكدة، وتعمل الاستردادات.
عندما تنتهي صلاحية الترخيص، تستمر الإضافة في العمل، لكن التحديثات والدعم تحتاج إلى تجديد. تُعاد مراجعة الحالة تلقائيًا عند فتح Dashboard الإدارة أو صفحة Edit: مرة في اليوم خلال أول 14 يومًا بعد إدخال المفتاح، ثم مرة في الأسبوع. لا حاجة إلى مهمة cron. ويؤدي إلغاء تثبيت الإضافة دائمًا إلى حذف مفتاح الترخيص وحالة الترخيص.
استكشاف الأخطاء وإصلاحها
GoPay does not appear at checkout: تحقق من أن الترخيص نشط، وأن Enable/Disable مفعّل، وأن الوضع الحالي لديه GoID وClient ID وClient Secret، وأن عملة الدفع إحدى العملات CZK أو EUR أو PLN أو USD أو GBP أو HUF أو RON أو BGN. وتعرض صفحة الإعدادات تحذيرًا عندما تكون بيانات الاعتماد مفقودة. وتحقق أيضًا من أن عنوان الدفع ضمن Geo Zone المحددة، وأن الطلب يبلغ Total المضبوط في الإعدادات.
The payment went through, but the order stays without a status: لم تتمكن GoPay من الوصول إلى عنوان الإشعار المعروض في الإعدادات، ولم يعد العميل إلى المتجر. أزل حماية كلمة المرور أو قواعد الجدار الناري التي تحجب العنوان. وتحقق من أن بيانات اعتماد الوضع الذي تمت فيه الدفعة مضبوطة، لأن كل إشعار يُتحقق منه بها. فعّل Logging وانظر إلى الحقل Log. وتُعيد GoPay إرسال الإشعارات التي لم تتلق ردًا ناجحًا.
Notification answers Order not found: لم تُنشئ هذا المتجر الدفعة.
Notification answers Missing payment ID: الطلب لم يأتِ من GoPay، أو تغيّر العنوان. لا يلزم أي إجراء.
Notification answers Payment state could not be verified: تعذر الوصول إلى GoPay API، أو بيانات اعتماد ذلك الوضع مفقودة أو خاطئة. وتُعيد GoPay الإشعار.
Notification answers Busy, retry later: كان طلب آخر يعالج الطلب في اللحظة نفسها. وتُعيد GoPay الإشعار. فعّل Logging لمعرفة السبب.
The customer sees an error after Confirm Order: فعّل Logging وانظر إلى الحقل Log. بيانات اعتماد خاطئة، أو بيانات اعتماد الوضع الآخر، هي السبب المعتاد. ورسالة عن بيانات الفوترة تعني أن GoPay لم تقبل البريد الإلكتروني أو الهاتف أو العنوان. أما This payment method is not available. Please reload the checkout page. فتعني أن جلسة الدفع لم تعد تطابق الطلب، أو أن طريقة الدفع أُوقفت في الأثناء.
The customer comes back and sees We could not verify the GoPay payment. If money was charged, please contact us before paying again.: لم يطابق رابط العودة أي طلب في المتجر، مثلًا لأنه فُتح في متصفح آخر أو تغيّر. تحقّق من الدفعة في حساب GoPay؛ فالإشعار لا يزال يؤكد دفعة حقيقية.
Test payments do not confirm a live order: تُفصل بيئة sandbox عن الإنتاج. وتُتحقق كل دفعة في الوضع الذي أُنشئت فيه. بدّل Test Mode إلى الوضع الذي تريده واستخدم بيانات اعتماد ذلك الوضع.
Order is in the on hold status after payment: اقرأ الملاحظات في تبويب VibeFox GoPay Gateway. فالمبلغ أو العملة المدفوعان اختلفا عن الطلب، أو وصلت الدفعة بعد إلغاء الطلب، أو الدفعة مفوَّضة مسبقًا فقط.
Refund fails: اقرأ رسالة GoPay في التبويب. لا يكون الاسترداد الجزئي ممكنًا إلا خلال 24 ساعة من الدفعة. وتعني رسالة عن الوضع أن الدفعة تمت في وضع sandbox أو الإنتاج، وأن بيانات اعتماد ذلك الوضع غير مضبوطة. وتعني You do not have permission to refund (modify this extension). أن مجموعة المستخدمين لديك لا تملك صلاحية تعديل الإضافة.
للمطورين: قبل إرسال الدفعة إلى GoPay، تُطلق الإضافة حدث OpenCart باسم gopay_p_payment_payload مع طلب الدفع والطلب.
إلغاء التثبيت
انتقل إلى Extensions > Extensions، واختر النوع Payments، ثم انقر على Uninstall (الزر الأحمر −) بجوار VibeFox GoPay Gateway. يُحذف مفتاح الترخيص وحالة ترخيص هذه الإضافة دائمًا. ويحذف OpenCart دائمًا إعدادات الإضافة الخاصة به: Enable/Disable وSort Order وGeo Zone وTotal وحقول حالات الطلب الأربعة، وتعود إلى قيمها الافتراضية عند إعادة التثبيت. ويُحذف أيضًا حدث OpenCart الخاص بالإضافة (وفي OpenCart 4 تُحذف أيضًا أحداثها وإجراء startup action الذي يسمح بمرور الإشعار وعودة العميل أثناء وضع الصيانة). وإذا كان Delete Data on Uninstall مفعّلًا، تُحذف إعدادات البوابة الأخرى (العنوان والوصف والوضع التجريبي وبيانات الاعتماد ولغة صفحة الدفع والتسجيل) ورموز الوصول المخزّنة لـ GoPay والسجل. وإذا كان معطّلًا، فتُحفظ لإعادة التثبيت لاحقًا. وتُحفظ بيانات دفعات GoPay الخاصة بالطلبات والاستردادات دائمًا، فيمكن استرداد الطلبات المدفوعة سابقًا بعد إعادة التثبيت. وتحتفظ الطلبات الحالية بملاحظات الدفع الخاصة بها.
في OpenCart 4، لحذف ملفات الإضافة أيضًا، انتقل إلى Extensions > Installer بعد إلغاء التثبيت، وانقر على Uninstall (الزر البرتقالي −) بجوار VibeFox GoPay Gateway في قائمة الإضافات المثبتة، ثم على Delete (زر سلة المهملات الأحمر) لحذف الحزمة المرفوعة.
GoPay علامة تجارية مملوكة لصاحبها. هذه الإضافة غير تابعة لـ GoPay ولا تحظى بتأييدها.
