VibeFox Ozow for OpenCart — المساعدة
المتطلبات
OpenCart: الإصدار 3.0.x (تم الاختبار على 3.0.5.0) أو الإصدار 4.0.2 أو أحدث (تم الاختبار على 4.1.0.3).
PHP: الإصدار 8.0 أو أحدث.
العملة: راند جنوب أفريقيا (ZAR). يجب أن تتوفر العملة ZAR في المتجر (System > Localisation > Currencies)، ولا تظهر طريقة الدفع إلا عندما يُنهي العميل الشراء بعملة ZAR. تحتسب Ozow المبالغ بالسنتات الصحيحة، لذا يجب أن تحتوي العملة على منزلتين عشريتين.
حساب Ozow: حساب تاجر في Ozow مع Site Code وPrivate Key لموقعك في Ozow، وتجدهما في لوحة التاجر في Ozow. مفتاح API Key اختياري لكنه موصى به. تستخدم Ozow نفس Site Code والمفاتيح للمدفوعات التجريبية والمدفوعات الفعلية.
موقع متاح: يجب أن يكون متجرك متاحًا من الإنترنت، دون حماية بكلمة مرور أو جدار ناري يمنع Ozow، حتى تصل إشعارات Ozow. تعمل الإشعارات أيضًا عندما يكون المتجر في وضع الصيانة: يسمح OpenCart 3 بمرور طلبات إضافات الدفع، وتضيف الإضافة على OpenCart 4 إجراء بدء تشغيل (startup action) يسمح بمرور الإشعار وعودة العميل من Ozow.
مفتاح ترخيص VibeFox: يُشترى من vibefox.net. يعمل المفتاح الواحد على نطاق واحد.
التثبيت
يتكون التنزيل من ملف zip واحد يحتوي على الحزمتين الخاصتين بإصداري OpenCart. فكّه على جهاز الكمبيوتر الخاص بك. يحتوي الملف على README.txt وحزمة OpenCart 3 wcp_ozow_pay-oc3-(version).ocmod.zip وحزمة OpenCart 4 wcp_ozow_pay.ocmod.zip. ثبّت الحزمة الخاصة بإصدار OpenCart لديك فقط. مفتاح الترخيص هو نفسه لكلا الإصدارين.
OpenCart 3
1. في لوحة الإدارة، انتقل إلى Extensions > Installer، ثم انقر على Upload واختر الملف wcp_ozow_pay-oc3-(version).ocmod.zip. لا تحتوي الإضافة على تعديلات OCMOD، لذا لا حاجة إلى تحديث Extensions > Modifications. وبدلًا من أداة التثبيت، يمكنك أيضًا نسخ محتويات المجلد upload من هذه الحزمة إلى المجلد الجذري لمتجرك.
2. انتقل إلى Extensions > Extensions واختر النوع Payments. ابحث عن VibeFox Ozow Pay وانقر على Install (الزر الأخضر +). يحتاج مستخدم الإدارة لديك إلى صلاحية تعديل قائمة إضافات الدفع.
3. انقر على Edit (زر القلم) لفتح صفحة الإعدادات. الصق مفتاح ترخيص VibeFox في License key داخل كتلة الترخيص أعلى الصفحة، ثم انقر على Activate (انظر مفتاح الترخيص).
4. أدخل Site Code وPrivate Key، ويفضل إدخال API Key، من لوحة التاجر في Ozow. تُرسل عناوين الإشعار والعودة إلى Ozow مع كل دفعة، لذلك لا يلزم إعداد أي شيء في لوحة Ozow.
5. فعّل Enable/Disable وانقر على Save. أجرِ دفعة تجريبية مع تفعيل Test mode، ثم أوقف وضع الاختبار لقبول المدفوعات الفعلية.
OpenCart 4
1. في لوحة الإدارة، انتقل إلى Extensions > Installer، ثم انقر على Upload واختر الملف wcp_ozow_pay.ocmod.zip. لا تُغيّر اسم الملف: فـ OpenCart 4 يأخذ رمز الإضافة من اسم الملف، والحزمة التي يُغيَّر اسمها لا تعمل.
2. تظهر الحزمة في قائمة الإضافات المثبتة في الصفحة نفسها. انقر على Install (الزر الأخضر +) بجوارها.
3. انتقل إلى Extensions > Extensions واختر النوع Payments. ابحث عن VibeFox Ozow Pay، وانقر على Install (الزر الأخضر +)، ثم على Edit (زر القلم).
4. أدخل مفتاح الترخيص ومفاتيح Ozow، واختبر الدفع كما في الخطوات من 3 إلى 5 لـ OpenCart 3. صفحة الإعدادات وحقولها متطابقة في الإصدارين. تختلف فقط عناوين URL للإشعار والعودة (انظر إشعارات الدفع)؛ وهي أيضًا تُرسل إلى Ozow مع كل دفعة.
تبدأ التثبيتات الجديدة بطريقة الدفع معطلة ووضع الاختبار مفعّلًا.
الإعدادات
جميع الإعدادات موجودة في صفحة الإضافة: Extensions > Extensions > Payments > VibeFox Ozow Pay > Edit. تظهر الأقسام في القائمة على اليسار، ويحفظ زر Save أسفل القائمة الصفحة كاملة. وفوق الإعدادات، تنبهك الصفحة عندما يكون Site Code أو Private Key مفقودًا (فيُخفى Ozow حينها في صفحة الدفع)، وعندما تكون العملة الافتراضية للمتجر غير ZAR، وعندما تحتوي العملة على أكثر من منزلتين عشريتين (اضبطها على 2 في System > Localisation > Currencies)، وتعرض Test mode is on: no real payments are accepted. Do not ship orders paid in test mode. طالما كان وضع الاختبار مفعّلًا. وبدون صلاحية تعديل الإضافة، تعرض الصفحة الإعدادات لكنها لا تستطيع حفظها.
لا تمنع حقول Ozow الحفظ أبدًا، باستثناء Title الذي يزيد طوله عن 128 حرفًا (The title must be no longer than 128 characters.). تُفحص حقول OpenCart: يجب أن يكون Sort Order عددًا صحيحًا (الأعداد السالبة مسموحة)، ويجب أن يكون Total عددًا أكبر من أو يساوي 0، ويجب أن توجد المنطقة الجغرافية وحالات الطلب. إذا كان أحدها خاطئًا، يُظهر الخطأ اسم الحقل ولا يُحفظ شيء.
Ozow
Enable/Disable: Enable Ozow payments يفعّل طريقة الدفع أو يعطّلها. الافتراضي: معطّل.
Title: اسم طريقة الدفع الذي يراه العملاء في صفحة الدفع، وهو أيضًا الاسم المحفوظ في الطلب. حتى 128 حرفًا؛ وإذا تُرك فارغًا يظهر Instant EFT (Ozow). الافتراضي: Instant EFT (Ozow).
Description: النص الذي يراه العميل في خطوة Confirm Order أعلى زر التأكيد. الافتراضي: Pay instantly and securely from your South African bank account. You will be redirected to Ozow to choose your bank and approve the payment. وفي وضع الاختبار يُضاف تحته السطر TEST MODE: no money will be charged. (فقط عندما لا يكون الوصف فارغًا).
Sort Order: ترتيب Ozow بين طرق الدفع في صفحة الدفع. اتركه فارغًا أو أدخل عددًا صحيحًا.
Geo Zone: اعرض Ozow فقط لعناوين الدفع الواقعة ضمن المنطقة الجغرافية المحددة. الافتراضي: All zones. تُضبط المناطق الجغرافية في System > Localisation > Geo Zones. في OpenCart 4، عندما لا يطلب المتجر عنوان دفع، يُستخدم عنوان الشحن.
Total: إجمالي الشراء، بالعملة الافتراضية للمتجر، الذي يجب أن يبلغه الطلب قبل عرض Ozow. اتركه فارغًا لعرض Ozow مهما كان المبلغ.
بيانات اعتماد Ozow
انسخ Site Code وPrivate Key وAPI Key من لوحة التاجر في Ozow (Merchant details / Sites). يتضمن القسم رابطًا إلى وثائق تكامل Ozow على hub.ozow.com.
Site Code: رمز Site Code لموقع Ozow الذي يستلم المدفوعات. تُرفض الردود الصادرة عن Site Code آخر.
Private Key: يوقّع كل طلب دفع ويتحقق من كل رد يصل من Ozow. احتفظ به سرًّا. يُحفظ تمامًا كما تُدخله. ومن دونه تُخفى طريقة الدفع ولا يُقبل أي رد من Ozow.
API Key (recommended): اختياري. مع وجود API Key، تُؤكَّد كل دفعة ناجحة أيضًا عبر واجهة GetTransaction من Ozow قبل وضع علامة الدفع على الطلب. يجب أن تُبلغ الواجهة بأن الدفعة مكتملة بالمبلغ نفسه والعملة نفسها وSite Code نفسه.
لا تُعرض المفاتيح المحفوظة مرة أخرى. يبقى الحقل فارغًا ويعرض Saved — leave empty to keep it. أدخل قيمة جديدة فقط إذا أردت تغييرها. لإزالة مفتاح محفوظ، ضع علامة على Clear the saved Private Key on save أو Clear the saved API Key on save أسفل الحقل، ثم انقر على Save.
Test mode: تستخدم Ozow نفس Site Code والمفاتيح للاختبارات: تُنشأ الدفعات بالقيمة IsTest=true ولا تنتقل أي أموال فعليًّا. تحصل الطلبات المدفوعة في وضع الاختبار على ملاحظة؛ لا تشحنها. أوقف وضع الاختبار لقبول المدفوعات الفعلية. لا تسدد الدفعة التجريبية أي طلب في الوضع الفعلي. الافتراضي: مفعّل.
إشعارات الدفع
يعرض هذا القسم عناوين URL الأربعة التي ترسلها الإضافة إلى Ozow مع كل دفعة: Notification URL (ترسل Ozow إشعار الدفع إليه)، وSuccess URL، وCancel URL، وError URL (تعيد Ozow العميل إليها). وهي تشبه https://your-store/index.php?route=extension/payment/wcp_ozow_pay/notify وhttps://your-store/index.php?route=extension/payment/wcp_ozow_pay/back&ozow_return=success، وعلى OpenCart 4 تشبه https://your-store/index.php?route=extension/wcp_ozow_pay/payment/wcp_ozow_pay.notify وhttps://your-store/index.php?route=extension/wcp_ozow_pay/payment/wcp_ozow_pay.back&ozow_return=success، وتُبنى من عنوان واجهة متجرك في تثبيت OpenCart. لا يلزم إعداد أي شيء في لوحة Ozow. إذا كان موقع Ozow الخاص بك مضبوطًا على عناوين URL ثابتة، فانسخها تمامًا كما تظهر في الإعدادات.
الطلبات
ينشئ OpenCart الطلب في خطوة Confirm Order دون حالة (طلب مفقود). لا يحصل الطلب على حالة إلا بعد أن ترسل Ozow ردًّا موقَّعًا بشكل صحيح. يترك الدفع الملغى أو الفاشل الطلب بلا حالة، ويعود العميل إلى صفحة الدفع مع الاحتفاظ بسلة مشترياته. يعرض كل حقل أدناه حالات الطلب في OpenCart لديك.
Order Status After Payment: أبلغت Ozow أن الدفع Complete بالمبلغ والعملة المتوقعين (مؤكَّد عبر GetTransaction عند ضبط API Key). الافتراضي: قيد المعالجة.
Awaiting Ozow Payment Status: تحقق Ozow أو البنك في الدفعة (حالة Ozow هي PendingInvestigation). عندما تُبلغ Ozow بالحالة Complete، يحصل الطلب على الحالة التي تلي الدفع. الافتراضي: قيد الانتظار.
On Hold (Review) Status: تحتاج الدفعة إلى مراجعتك (انظر حالات الطلب). لا يُوسم الطلب كمدفوع. الافتراضي: قيد الانتظار، لأن OpenCart لا يملك حالة On hold. يمكنك إنشاء حالتك الخاصة في System > Localisation > Order Statuses واختيارها هنا.
Failed Payment Status: دفعة كانت قيد التحقق ثم أبلغت Ozow بأنها Cancelled أو Error أو Abandoned. الافتراضي: فشل.
Cancelled Order Status: الحالة التي يستخدمها متجرك للطلبات الملغاة. تنقل الدفعة المستلمة لطلب كهذا الطلب إلى حالة المراجعة بدلًا من وسمه كمدفوع. لا تضبط الإضافة هذه الحالة أبدًا. الافتراضي: ملغى.
Refunded Order Status: الحالة التي يستخدمها متجرك للطلبات المستردة. تضيف الدفعة المستلمة لطلب كهذا ملاحظة فقط. لا تضبط الإضافة هذه الحالة أبدًا. الافتراضي: مُسترَد.
خيارات متقدمة
Debug log: يكتب طلبات الدفع وردود Ozow في الملف ozow_p_debug.log.php داخل مجلد سجلات OpenCart (storage/logs). لا يمكن فتح الملف من الويب، وعند بلوغه 5 ميغابايت يُنقل إلى ozow_p_debug.old.log.php. تُسجَّل الأخطاء والتحذيرات دائمًا. لا تُسجَّل المفاتيح والتجزئات (hashes) والرموز (tokens) وبيانات العملاء أبدًا. الافتراضي: معطّل.
Log: يعرض حجم السجل وأحدث إدخالاته. انقر على Clear log لتفريغه.
Delete data on uninstall: عند التفعيل، يؤدي إلغاء تثبيت الإضافة إلى حذف إعدادات البوابة والسجل. تُحفظ بيانات Ozow الخاصة بالطلبات دائمًا. الافتراضي: معطّل.
الاستيراد / التصدير
Export: يحفظ Download JSON الإعدادات في ملف JSON. لا يُصدَّر Private Key ولا API Key.
Import: الصق ملف JSON صُدِّر سابقًا وانقر على Import لاستعادة الإعدادات. تبقى المفاتيح المحفوظة كما هي.
صفحة الدفع
في خطوة Payment Method يختار العميل طريقة الدفع (افتراضيًّا Instant EFT (Ozow)). وفي خطوة Confirm Order يرى العميل وصفك والملاحظة You will be redirected to Ozow to choose your bank and approve the payment. ينشئ OpenCart الطلب في هذه الخطوة، ولا يزال بلا حالة. وفي OpenCart 4 يختار العميل طريقة الدفع بزر Choose في كتلة طريقة الدفع، ضمن النافذة Payment method options، وينقر على Confirm Order أسفل صفحة الدفع. عندما ينقر العميل على Confirm Order، تنقله الإضافة إلى صفحة الدفع المستضافة لدى Ozow مع طلب موقَّع بإجمالي الطلب بعملة ZAR. مرجع كشف الحساب البنكي هو Order مع رقم الطلب (حتى 20 حرفًا لاتينيًّا وأرقامًا ومسافات وشرطات). يُمرَّر اسم العميل إلى Ozow. في صفحة Ozow يختار العميل بنكًا من جنوب أفريقيا ويوافق على الدفعة في تطبيق البنك.
ثم تُبلغ Ozow المتجر وتعيد العميل. يحمل الإشعاران الرد الموقَّع نفسه ويُعالجان بالطريقة نفسها، لذلك يحصل الطلب على حالته حتى لو فُقد أحدهما. لا يُوسم الطلب كمدفوع إلا بعد تأكيد Ozow: يجب أن يتحقق التجزئة (hash) بالمفتاح Private Key الخاص بك، ويجب أن يكون Site Code خاصًا بك، ويجب أن ينتمي الرد إلى محاولة الدفع هذه للطلب، ويجب أن يتطابق المبلغ والعملة مع الطلب. ومع API Key تُتحقق الدفعة أيضًا عبر واجهة GetTransaction. ثم يحصل الطلب على حالته بالطريقة المعتادة في OpenCart، مع رسائل البريد الإلكتروني المعتادة للطلب وتحديث المخزون.
بعد الدفع الناجح يرى العميل صفحة نجاح الطلب في OpenCart. وإذا كانت Ozow أو البنك لا يزالان يتحققان من الدفعة، تعرض الصفحة أيضًا We are waiting for Ozow to confirm your payment. You will receive an e-mail as soon as it is confirmed — there is no need to pay again. وإذا كان الطلب في حالة المراجعة، فستعرض Your Ozow payment was received and is being reviewed by the store. We will contact you if anything is needed. وإذا فشلت دفعة قيد التحقق لاحقًا، أو أُلغي طلب غير مدفوع، فستعرض Your Ozow payment was not completed. Please contact us about this order. (في OpenCart 4 يُعاد العميل إلى صفحة الدفع بدلًا من ذلك، انظر أدناه). وإذا لم تؤكد Ozow الدفعة عند عودة العميل، فستعرض صفحة Payment confirmation نص الانتظار مع الزرين Check again وBack to checkout.
إذا ألغى العميل في صفحة Ozow أو فشلت الدفعة، يبقى الطلب بلا حالة. يعود العميل إلى صفحة الدفع بالسلة نفسها ويرى The Ozow payment was cancelled. You can try again or choose another payment method. أو The Ozow payment was not completed. You can try again or choose another payment method. وفي OpenCart 4 تُعرض هذه الرسائل أعلى صفحة الدفع.
ينشئ OpenCart 3 طلبًا جديدًا في كل مرة تُعرض فيها خطوة Confirm Order. ويحتفظ OpenCart 4 بطلب واحد لعملية الدفع ويحدّثه، لذلك يدفع العميل، بعد دفعة ملغاة أو فاشلة، الطلبَ نفسه بمحاولة جديدة. إذا كان طلب آخر من السلة نفسها مدفوعًا بالفعل أو في انتظار Ozow، يُنقل العميل مباشرة إلى صفحة النجاح، ولا تُطبَّق الدفعة المتأخرة للطلب الثاني: تطلب ملاحظة على الطلب المدفوع منك استرداد النسخة المكررة من لوحة Ozow.
إذا دُفع طلب من طلبات السلة ثم ألغيته أو استرددته أنت، يُعاد العميل إلى صفحة الدفع ويدفع ثمن السلة بطلب جديد. وفي OpenCart 3 تكون الرسالة: This order was cancelled or refunded by the store. Please confirm the order again to pay with a new order.
يحتفظ OpenCart 4 بالطلب في صفحة الدفع إلى أن تظهر صفحة النجاح. عندما ينقر العميل على Confirm Order مجددًا أو يعود من Ozow، وكان ذلك الطلب مغلقًا، يُعاد العميل إلى صفحة الدفع مع رسالة، ويدفع Confirm Order التالي طلبًا جديدًا: Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order. (مثلًا إذا فشلت دفعة قيد التحقق أو ألغيت أنت الطلب غير المدفوع) أو Your previous order was cancelled or refunded by the store. Please confirm the order again to pay with a new order. (دُفع الطلب ثم أُلغي أو استُرد). وإذا كان ذلك الطلب مدفوعًا بالفعل وكانت السلة تحتوي الآن على منتجات أو كميات أخرى، فإن Confirm Order يعرض Your previous order has already been paid. Your cart has changed since — please confirm the order again to pay for the current cart.
إذا لم تكن صفحة الدفع بعملة ZAR، يرى العميل Ozow accepts payments in South African rand (ZAR) only. Please choose another payment method.
تقبل الإضافة الدفعات الفردية بعملة ZAR فقط. ولا تدعم الاسترداد من OpenCart، ولا الاشتراكات، ولا الحسابات البنكية المحفوظة أو الترميز (tokenization)، ولا روابط الدفع المرسلة من لوحة الإدارة.
الطلبات والاستردادات
حالات الطلب
لا توجد حالة (طلب مفقود): أُرسل العميل إلى Ozow ولم يدفع، أو ألغى، أو لم تؤكد Ozow الدفعة بعد. وفي Sales > Orders تظهر هذه الطلبات فقط عند ضبط فلتر Order Status على Missing Orders.
في OpenCart 4 قد يحصل طلب الدفع غير المدفوع على الحالة Voided، التي يضبطها OpenCart 4 عندما يعود العميل إلى خطوة Confirm Order. تعامل الإضافة هذا الطلب كطلب بلا حالة، وتؤكده دفعة لاحقة.
Order Status After Payment (default Processing): تم تأكيد الدفعة. تعرض الملاحظة المبلغ ومعرّف معاملة Ozow، وما إذا كانت الدفعة قد أُكدت عبر واجهة GetTransaction. تحصل الدفعة التجريبية على الملاحظة TEST MODE — no money was received, do not ship this order.
Awaiting Ozow Payment Status (default Pending): تحقق Ozow أو البنك في الدفعة. يُحدَّث الطلب عندما ترسل Ozow الحالة النهائية: Order Status After Payment عند النجاح، وFailed Payment Status عند الفشل.
On Hold (Review) Status (default Pending): تشرح الملاحظة السبب: المبلغ أو العملة المدفوعة يختلفان عن الطلب؛ أو وصلت دفعة لطلب سبق إلغاؤه؛ أو، مع API Key، لم تستطع واجهة GetTransaction تأكيد الدفعة بعد أو أنها تناقضها. تحقق من الدفعة في لوحة Ozow وغيّر حالة الطلب. وإذا لم تستطع الواجهة الرد، فإن إشعار Ozow التالي سيُكمل الطلب.
Failed Payment Status (default Failed): دفعة كانت قيد التحقق أُلغيت أو هُجرت أو فشلت. ومع ذلك، فإن رد Ozow الناجح لاحقًا لتلك الدفعة يضع علامة الدفع على الطلب.
لا يُعاد الطلب المدفوع إلى حالة سابقة أبدًا، ولا يُعاد فتح الطلب الملغى أو المسترد أبدًا. إذا وصلت دفعة ثانية لطلب مدفوع بالفعل، فإن ملاحظة تطلب منك استرداد النسخة المكررة من لوحة Ozow. ولا تسدد الدفعة التجريبية أي طلب طالما كانت الإضافة في الوضع الفعلي؛ وتوضح ملاحظة ذلك.
الملاحظات هي إدخالات في History الطلب لا يراها العميل.
تبويب VibeFox Ozow Pay
في Sales > Orders افتح طلبًا مدفوعًا عبر Ozow. في أسفل صفحة الطلب، بجوار History وAdditional، يعرض تبويب VibeFox Ozow Pay Transaction reference (رقم الطلب) والمحاولة، وOzow transaction ID، وStatus، والمبلغ Requested، وAmount reported by Ozow، وOzow message، وعلامة TEST MODE للدفعات التجريبية، وOzow notes الخاصة بالطلب. يظهر التبويب للمستخدمين الذين لديهم صلاحية الوصول إلى الإضافة.
الاستردادات
لا يُدعم الاسترداد من OpenCart. استرد الدفعة من لوحة التاجر في Ozow، ثم سجّل الاسترداد يدويًّا في OpenCart. لا تعيد مرتجعات المنتجات في Sales > Returns الأموال عبر Ozow.
مفتاح الترخيص
تعمل الإضافة بمفتاح ترخيص VibeFox من vibefox.net. كتلة الترخيص License — VibeFox Ozow Pay هي الكتلة الأولى في Extensions > Extensions > Payments > VibeFox Ozow Pay > Edit، فوق الإعدادات. الصق المفتاح في License key وانقر على Activate. بعد ذلك تعرض الكتلة المفتاح مخفيًّا جزئيًّا، والحالة (مثل تاريخ انتهاء الترخيص ونطاقك)، والأزرار Check now لإعادة التحقق من الحالة، وChange key لإدخال مفتاح آخر، وRemove key لإزالة المفتاح من هذا المتجر. وأسفلها سطر Product: opencart-payment-ozow ورابط 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.
من دون مفتاح نشط لا يظهر Ozow للعملاء في صفحة الدفع. وإذا بدأ الدفع رغم ذلك، يرى العميل This payment method is not available. Please choose another one. أما مستخدم الإدارة المسجَّل الدخول إلى الإدارة في المتصفح نفسه، فيرى طريقة الدفع في المتجر، مع العلامة (unlicensed — visible to admins only)، ليتمكن من إعداد الإضافة واختبارها قبل شراء مفتاح. وفي OpenCart 4 لا تتوفر هذه المعاينة: فالمتجر لا يرى تسجيل دخول الإدارة، لذلك تبقى طريقة الدفع مخفية عن الجميع عندما لا يكون المفتاح نشطًا. وبعد فتح صفحة Edit مرة واحدة، يظهر تذكير في Dashboard الإدارة. أغلقه بالزر × لإخفائه لمدة 7 أيام. لا تتأثر الطلبات الحالية: فالدفعات التي بدأت بالفعل تظل تُؤكَّد.
عندما تنتهي صلاحية الترخيص، تواصل الإضافة العمل، لكن التحديثات والدعم تتطلب التجديد. تُعاد مراجعة الحالة تلقائيًّا عند فتح Dashboard الإدارة أو صفحة Edit: مرة واحدة يوميًّا خلال أول 14 يومًا بعد إدخال المفتاح، ثم مرة واحدة أسبوعيًّا. لا حاجة إلى مهمة cron. ويؤدي إلغاء تثبيت الإضافة دائمًا إلى حذف مفتاح الترخيص وحالة الترخيص.
استكشاف الأخطاء وإصلاحها
لا يظهر Ozow في صفحة الدفع: تحقق من أن الترخيص نشط، وأن Enable/Disable مفعّل، وأن Site Code وPrivate Key مملوءان، وأن العميل يُنهي الشراء بعملة ZAR. وتحقق أيضًا من أن عنوان الدفع يقع ضمن Geo Zone المحددة، وأن الطلب يبلغ Total المضبوط في الإعدادات. تعرض صفحة الإعدادات تحذيرًا عندما يكون شيء ما مفقودًا.
تمت الدفعة، لكن الطلب بقي بلا حالة: لم يصل إشعار Ozow إلى المتجر، ولم يعد العميل. تحقق من أن متجرك متاح من الإنترنت (دون حماية بكلمة مرور أو جدار ناري يمنع Ozow). وإذا كان موقع Ozow مضبوطًا على عناوين URL ثابتة، فتحقق من أن العناوين مطابقة تمامًا للعناوين المعروضة في Payment notifications. فعّل Debug log واقرأ الحقل Log في صفحة الإضافة.
يرد الإشعار بـ Invalid hash: المفتاح Private Key في الإعدادات لا يخص موقع Ozow الذي أرسل الرد. انسخه مرة أخرى من لوحة التاجر في Ozow. لا يتغير شيء.
يرد الإشعار بـ Unknown site: جاء الرد من موقع Ozow آخر. تحقق من Site Code.
يرد الإشعار بـ Order mismatch أو Order not found: لا ينتمي الرد إلى دفعة بدأت في هذا المتجر. لا يتغير شيء.
يرد الإشعار بـ Gateway not configured: Site Code أو Private Key مفقود. أدخله؛ وقد تعيد Ozow المحاولة.
يرد الإشعار بـ Payment not confirmed yet: لم يمكن تطبيق الرد بعد. مع API Key، لم تستطع واجهة GetTransaction تأكيد الدفعة (الطلب في حالة المراجعة، وسيُكمله الإشعار التالي؛ وإذا بقي كذلك، فتحقق من API Key ومن الدفعة في لوحة Ozow). وهذا الرد يظهر أيضًا عندما كانت عودة العميل تُعالَج للسلة نفسها في اللحظة نفسها؛ راجع السجل.
يرى العميل This payment method is not available. Please reload the checkout page.: لم تعد جلسة الدفع تطابق الطلب، أو أُوقفت طريقة الدفع في الأثناء. على العميل إعادة تحميل صفحة الدفع.
لم تسدد الدفعة التجريبية الطلب: الإضافة في الوضع الفعلي. الدفعات التجريبية لا تسدد الطلبات في الوضع الفعلي أبدًا؛ وتوضح ذلك ملاحظة الطلب أو السجل.
الطلب في حالة المراجعة بعد الدفع: اقرأ الملاحظات في تبويب VibeFox Ozow Pay وتحقق من الدفعة في لوحة Ozow، ثم اضبط حالة الطلب أو استرد الدفعة في Ozow.
إلغاء التثبيت
انتقل إلى Extensions > Extensions، واختر النوع Payments، ثم انقر على Uninstall (الزر الأحمر −) بجوار VibeFox Ozow Pay. يُحذف مفتاح الترخيص وحالة الترخيص لهذه الإضافة دائمًا. ويحذف OpenCart دائمًا إعدادات الإضافة الخاصة به: Enable/Disable وSort Order وGeo Zone وTotal وحالات الطلب في قسم Orders، وهي تعود إلى قيمها الافتراضية عند إعادة التثبيت. كما يُحذف حدث OpenCart الخاص بالإضافة (وفي OpenCart 4 أحداثها وإجراء بدء التشغيل الخاص بها، الذي يسمح بمرور الإشعار والعودة في وضع الصيانة). وإذا كان Delete data on uninstall مفعّلًا، تُحذف بقية إعدادات البوابة (العنوان والوصف وSite Code والمفاتيح ووضع الاختبار والتسجيل) والسجل. وإذا كان معطّلًا، فتُحفظ لإعادة التثبيت لاحقًا. تُحفظ سجلات دفعات Ozow دائمًا، حتى تظل الإشعارات المتأخرة للطلبات القديمة معروفة بعد إعادة التثبيت. وتحتفظ الطلبات الحالية بملاحظات الدفع الخاصة بها.
وفي OpenCart 4، لحذف ملفات الإضافة أيضًا، انتقل بعد إلغاء التثبيت إلى Extensions > Installer، وانقر على Uninstall (الزر البرتقالي −) بجوار VibeFox Ozow Pay في قائمة الإضافات المثبتة، ثم على Delete (زر سلة المهملات الأحمر) لحذف الحزمة المرفوعة.
Ozow علامة تجارية تخص مالكها. هذه الإضافة غير تابعة لـ Ozow ولا مُعتمدة من قِبلها.
