رجوع

VibeFox Paymob for OpenCart — المساعدة

المتطلبات

OpenCart: 3.0.x (تم اختباره على 3.0.5.0) أو 4.0.2 وما بعدها (تم اختباره على 4.1.0.3).

PHP: 8.0 أو أحدث.

حساب Paymob: حساب تاجر في إحدى الدول المدعومة: مصر أو الإمارات العربية المتحدة أو المملكة العربية السعودية أو عُمان أو باكستان. تحتاج إلى أربع قيم من لوحة Paymob: مفتاح API، ومعرّف التكامل لتكامل الدفع الإلكتروني، ومعرّف iFrame لصفحة الدفع، والمفتاح السري HMAC.

العملة: يجب أن تكون عملة الدفع هي عملة بلد Paymob الخاص بك: EGP لمصر، وAED للإمارات، وSAR للمملكة العربية السعودية، وOMR لعُمان، وPKR لباكستان. أضفها في System > Localisation > Currencies إذا لم تكن موجودة في متجرك. مع عملة أخرى تُخفى طريقة الدفع عند الدفع. حسابات Paymob متعددة العملات غير مدعومة.

مفتاح ترخيص VibeFox: يُشترى من vibefox.net. يعمل مفتاح واحد على نطاق واحد.

التثبيت

الملف هو أرشيف zip واحد يحتوي على الحزم لكلا إصداري OpenCart. فُكّه على جهاز الكمبيوتر الخاص بك. يحتوي على README.txt، وحزمة OpenCart 3 wcp_paymob_pay-oc3-(version).ocmod.zip، وحزمة OpenCart 4 wcp_paymob_pay.ocmod.zip. ثبّت فقط الحزمة الخاصة بإصدار OpenCart لديك. مفتاح الترخيص هو نفسه لكلا الإصدارين.

OpenCart 3

1. في لوحة الإدارة انتقل إلى Extensions > Installer، وانقر على Upload، واختر الملف wcp_paymob_pay-oc3-(version).ocmod.zip. ليس لدى الإضافة أي تعديلات OCMOD، لذلك لا تحتاج Extensions > Modifications إلى تحديث. وبدلًا من المثبّت يمكنك نسخ محتويات مجلد upload من هذه الحزمة إلى المجلد الجذري لمتجرك.

2. انتقل إلى Extensions > Extensions، واختر النوع Payments. ابحث عن VibeFox Paymob Pay وانقر على Install (زر + الأخضر).

3. انقر على Edit (زر القلم) لفتح صفحة الإعدادات. الصق مفتاح ترخيص VibeFox في License key داخل كتلة الترخيص في أعلى الصفحة، ثم انقر على Activate (انظر مفتاح الترخيص).

4. اختر Paymob country وأدخل مفتاح API ومعرّف التكامل ومعرّف iFrame والمفتاح السري HMAC (انظر الإعدادات).

5. في لوحة Paymob اضبط عناوين callback لتكاملك على العنوان المعروض في قسم Callbacks (انظر Callbacks).

6. فعّل Enable/Disable وانقر على Save. جرّب دفعة باستخدام معرّف تكامل تجريبي لدى Paymob، ثم أدخل معرّف تكاملك الحقيقي.

OpenCart 4

1. في لوحة الإدارة انتقل إلى Extensions > Installer، وانقر على Upload، واختر الملف wcp_paymob_pay.ocmod.zip. لا تُغيّر اسم الملف: يأخذ OpenCart 4 رمز الإضافة من اسم الملف، والحزمة المُعاد تسميتها لا تعمل.

2. تظهر الحزمة في قائمة الإضافات المثبتة في الصفحة نفسها. انقر على Install (زر + الأخضر) بجانبها.

3. انتقل إلى Extensions > Extensions، واختر النوع Payments. ابحث عن VibeFox Paymob Pay، وانقر على Install (زر + الأخضر)، ثم على Edit (زر القلم).

4. أدخل مفتاح الترخيص ومفاتيح ومعرّفات Paymob وعناوين callback كما في الخطوات من 3 إلى 6 لـ OpenCart 3. صفحة الإعدادات وحقولها متطابقة في الإصدارين. العنوان الوحيد المختلف هو callback URL (انظر Callbacks).

يبدأ التثبيت الجديد وطريقة الدفع معطّلة.

الإعدادات

جميع الإعدادات موجودة في صفحة الإضافة: Extensions > Extensions > Payments > VibeFox Paymob Pay > Edit. تُعرض الأقسام في الجهة اليسرى؛ ويحفظ الزر Save أسفل القائمة الصفحة كاملة. وفوق الإعدادات تحذّرك الصفحة عندما تنقص إحدى القيم الأربع لـ Paymob (وحتى ذلك الحين يُخفى Paymob عند الدفع)، وعندما لا تقبل البلد المختار في Paymob عملة المتجر الافتراضية.

عند الحفظ، لا يمكن أن يتجاوز Title 128 حرفًا، ويجب أن يكون Sort Order عددًا صحيحًا (الأعداد السالبة مسموحة)، ويجب أن يكون Total رقمًا أكبر من أو يساوي 0، ويجب أن تكون المنطقة الجغرافية وحالات الطلبات المحددة موجودة؛ وإلا فلن يُحفظ شيء وتذكر الصفحة الحقل.

Paymob

Enable/Disable: Enable Paymob يفعّل طريقة الدفع أو يعطّلها. الافتراضي: معطّل.

Title: اسم طريقة الدفع الذي يراه العملاء عند الدفع. وهو أيضًا اسم طريقة الدفع المحفوظ في الطلب، حتى 128 حرفًا. إذا كان فارغًا يرى العملاء Paymob. الافتراضي: Paymob.

Description: النص المعروض للعميل في خطوة Confirm Order، فوق زر التأكيد. الافتراضي: Pay securely by card or mobile wallet on the Paymob payment page. اتركه فارغًا لعدم عرض أي نص.

Sort Order: موضع Paymob بين طرق الدفع عند الدفع. اتركه فارغًا أو أدخل عددًا صحيحًا.

Geo Zone: اعرض Paymob فقط لعناوين الدفع الواقعة في المنطقة الجغرافية المحددة. الافتراضي: All zones. تُعدّ المناطق الجغرافية في System > Localisation > Geo Zones. في OpenCart 4، عندما لا يطلب المتجر عنوان دفع، يُستخدم عنوان الشحن.

Total: إجمالي الدفع، بعملة المتجر الافتراضية، الذي يجب أن يبلغه الطلب قبل عرض Paymob. اتركه فارغًا لعرض Paymob مهما كان الإجمالي.

حساب Paymob

جميع القيم موجودة في لوحة التاجر لدى Paymob. لا يوجد وضع اختبار منفصل: للدفعات التجريبية أدخل معرّف التكامل لتكامل في وضع الاختبار. لا يتغير أي إعداد آخر.

Paymob country: بلد حساب Paymob الخاص بك. يحدد خادم واجهة البرمجة وصفحة الدفع، ويجب أن تكون عملة الدفع هي عملة هذا البلد. الافتراضي: Egypt.

Egypt — accept.paymob.com (EGP)
United Arab Emirates — uae.paymob.com (AED)
Saudi Arabia — ksa.paymob.com (SAR)
Oman — oman.paymob.com (OMR)
Pakistan — pakistan.paymob.com (PKR)

API key: في لوحة Paymob ضمن Settings > Account info > API Key.

Integration ID: في لوحة Paymob ضمن Developers > Payment Integrations: المعرّف الرقمي لتكامل الدفع الإلكتروني بالبطاقة أو المحفظة. طرق الدفع المعروضة في صفحة Paymob هي طرق هذا التكامل.

iFrame ID: في لوحة Paymob ضمن Developers > iframes: المعرّف الرقمي لـ iFrame الدفع.

HMAC secret: في لوحة Paymob ضمن Settings > Account info > HMAC. مطلوب: لا تُعلَّم الطلبات كمدفوعة إلا عبر استدعاءات موقّعة بهذا المفتاح السري.

يجب أن يحتوي Integration ID وiFrame ID على أرقام فقط. تُحذف المسافات. يُرفض أي قيمة أخرى عند الحفظ مع رسالة بأن الحقل must contain digits only — the previous value was kept. وتُحفظ الحقول الأخرى.

لا تُعرض مفاتيح API والمفتاح السري HMAC المحفوظة مرة أخرى. يبقى الحقل فارغًا ويعرض Saved — leave empty to keep it. أدخل قيمة جديدة فقط إذا أردت تغييرها. لإزالة قيمة محفوظة، فعّل Clear the saved API key on save أو Clear the saved HMAC secret on save أسفل الحقل وانقر على Save.

Callbacks

تُبلغ Paymob متجرك بكل معاملة. في لوحة Paymob افتح Developers > Payment Integrations، واختر تكاملك، وانقر على Edit، واضبط كلًّا من Transaction processed callback وTransaction response callback على Callback URL المعروض في هذا القسم. يبدو هكذا في OpenCart 3: https://your-store/index.php?route=extension/payment/wcp_paymob_pay/callback، وفي OpenCart 4: https://your-store/index.php?route=extension/wcp_paymob_pay/payment/wcp_paymob_pay.callback، ويُبنى من عنوان الواجهة الأمامية لتثبيت OpenCart الخاص بك. انسخه بزر Copy. يحتوي القسم أيضًا على رابط للوحة Paymob في البلد المختار. اضبط العناوين في كل تكامل تستخدمه، بما في ذلك التكامل التجريبي.

يُرسل Transaction processed callback من خادم Paymob. ويعيد Transaction response callback العميل إلى متجرك. وكلاهما موقّع بالمفتاح السري HMAC وتتحقق منه الإضافة. وتُرفض الاستدعاءات التي لا تحمل توقيعًا صالحًا ولا تغيّر شيئًا. وإذا تأخر استدعاء الخادم أو ضاع، تؤكد عودة العميل الموقّعة الدفعة أيضًا. يعمل عنوان الاستدعاء URL أيضًا عندما يكون المتجر في وضع الصيانة: يسمح OpenCart 3 بمرور طلبات إضافات الدفع، وفي OpenCart 4 تضيف الإضافة إجراء بدء (startup) يسمح بمرور الاستدعاءات وعودة العميل.

الطلبات

ينشئ OpenCart الطلب في خطوة Confirm Order دون حالة (طلب مفقود). ولا يحصل الطلب على حالة إلا بعد أن تبلّغ Paymob عن معاملة موقّعة بشكل صحيح. تترك الدفعة المرفوضة الطلب دون حالة؛ ويعود العميل إلى صفحة الدفع مع الاحتفاظ بالسلة. يسرد كل حقل أدناه حالات طلبات OpenCart الخاصة بك.

Order Status After Payment: عُولجت معاملة Paymob كمدفوعة بالمبلغ والعملة المتوقعين. الافتراضي: قيد المعالجة.

Awaiting Paymob Payment Status: المعاملة قيد الانتظار، مثل دفعة نقدية أو عبر الكشك. يحصل الطلب على حالة ما بعد الدفع عندما تؤكد Paymob الدفعة. الافتراضي: قيد الانتظار.

Paymob Payment On Hold Status: لم تعتمد Paymob إلا المبلغ (حصّله في لوحة Paymob)، أو أن المبلغ أو العملة المدفوعة تختلف عن الطلب، أو أن الدفعة وصلت لطلب ملغى. توضح ملاحظة السبب. الافتراضي: قيد الانتظار، لأن OpenCart لا يملك حالة On hold. يمكنك إنشاء حالتك الخاصة في System > Localisation > Order Statuses وتحديدها هنا.

تخبر الحقول الثلاثة التالية الإضافة بالحالات التي يستخدمها متجرك. ولا تضبطها الإضافة أبدًا.

Payment Error Status: الحالة التي يستخدمها متجرك للطلبات التي بها خطأ في الدفع. قد تنقل معاملة معلّقة مثل هذا الطلب إلى حالة الانتظار. الافتراضي: فشل.

Cancelled Order Status: الحالة التي يستخدمها متجرك للطلبات الملغاة. تضع الدفعة المستلمة لمثل هذا الطلب الطلب في حالة "معلّق"، أو تضيف ملاحظة فقط إذا كان قد دُفع من قبل. الافتراضي: ملغى.

Refunded Order Status: الحالة التي يستخدمها متجرك للطلبات المستردة. تضيف الدفعة المستلمة لمثل هذا الطلب ملاحظة فقط. الافتراضي: مسترد.

متقدم

Debug log: يكتب خطوات الدفع والاستدعاءات في paymob_p_debug.log.php داخل مجلد سجلات OpenCart (storage/logs). لا يمكن فتح الملف من الويب. تُسجَّل الأخطاء والاستدعاءات المرفوضة دائمًا، حتى عندما يكون معطّلًا. لا تُكتب المفاتيح والرموز وبيانات العملاء أبدًا. الافتراضي: معطّل.

Log: يعرض حجم السجل وأحدث إدخالاته. انقر على Clear log لتفريغه.

Clean uninstall: عند التفعيل، يؤدي إلغاء تثبيت الإضافة إلى حذف إعدادات البوابة والسجل. تُحفظ معرّفات Paymob المسجلة للطلبات (محاولات الدفع) دائمًا. الافتراضي: معطّل.

الاستيراد / التصدير

Export: Download JSON يحفظ الإعدادات في ملف JSON. لا يُصدَّر مفتاح API والمفتاح السري HMAC.

Import: الصق ملف JSON المُصدَّر سابقًا وانقر على Import لاستعادة الإعدادات. تُحفظ المفاتيح السرية المحفوظة.

الدفع

في خطوة Payment Method يختار العميل طريقة الدفع (افتراضيًا Paymob). وفي خطوة Confirm Order يرى العميل وصفك والملاحظة You will be redirected to the secure Paymob payment page to pay by card or mobile wallet. وينشئ OpenCart الطلب في هذه الخطوة دون حالة بعد. في OpenCart 4 يختار العميل طريقة الدفع بزر Choose في كتلة طريقة الدفع، في نافذة Payment method options، وينقر على Confirm Order في أسفل صفحة الدفع. عندما ينقر العميل على Confirm Order، تسجّل الإضافة طلب Paymob جديدًا بإجمالي الطلب بعملة الطلب، وتمرّر اسم العميل وبريده الإلكتروني وهاتفه وعنوان الفوترة (في OpenCart 4، عندما لا يطلب المتجر عنوان دفع، عنوان الشحن) إلى Paymob، وتنقل العميل إلى صفحة الدفع لدى Paymob في بلدك. هناك يدفع العميل بإحدى وسائل تكاملك، مثل البطاقة أو المحفظة الإلكترونية.

بعد الدفع يعود العميل إلى متجرك. لا يُعلَّم الطلب كمدفوع إلا بعد أن تؤكده Paymob بمعاملة موقّعة. ثم يحصل الطلب على حالته بالطريقة المعتادة في OpenCart، مع رسائل البريد المعتادة للطلب وتحديث المخزون، ويرى العميل صفحة نجاح الطلب في OpenCart. كما تمنح الدفعة المعلّقة (مثل الدفع النقدي أو عبر الكشك) أو الدفعة المعتمدة الطلب حالة أيضًا، أي حالة الانتظار أو "معلّق"، وتؤدي إلى صفحة النجاح.

إذا كان الطلب لا يزال قيد التأكيد عند عودة العميل، تعرض صفحة Payment confirmation الرسالة Paymob accepted your payment and we are confirming it. You will receive an e-mail as soon as your order is confirmed — there is no need to pay again. وبالنسبة إلى دفعة معلّقة يكون النص Your Paymob payment is pending (for example a cash or kiosk payment). Complete it as Paymob instructed you: your order is confirmed as soon as Paymob reports the payment. وتحتوي الصفحة على زر Check again وزر Back to checkout.

إذا رُفضت الدفعة، يعود العميل إلى صفحة الدفع بالسلة نفسها مع الرسالة Your Paymob payment was not completed. Please try again or choose another payment method. تسجّل كل محاولة جديدة طلب Paymob خاصًا بها، لذلك يمكن للعميل دفع السلة مرة أخرى. يُنشئ OpenCart 3 طلبًا جديدًا في كل مرة تُعرض فيها خطوة Confirm Order؛ ويحتفظ OpenCart 4 بطلب واحد للدفع ويحدّثه، فيدفع العميل الطلب نفسه بمحاولة جديدة. وإذا تعذّر التحقق من رد Paymob، يرى العميل We could not verify the response from Paymob. If you were charged, your order will be updated as soon as Paymob confirms the payment. وإذا كان طلب آخر من السلة نفسها قد دُفع بالفعل أو ينتظر الدفع (مثلًا في تبويب متصفح ثانٍ)، يُنقل العميل إلى صفحة النجاح بدلًا من الدفع مجددًا. وفي OpenCart 4 تظهر الرسائل بعد العودة من Paymob فوق صفحة الدفع.

يحتفظ OpenCart 4 بالطلب في صفحة الدفع حتى تظهر صفحة النجاح. وإذا أُغلق ذلك الطلب دون دفع في هذه الأثناء (مثلًا ألغيته)، يعود العميل إلى صفحة الدفع مع Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order.، ويدفع Confirm Order التالي طلبًا جديدًا. وإذا كان لذلك الطلب حالة بالفعل وصارت السلة تحتوي على منتجات أو كميات أخرى، يعود العميل إلى صفحة الدفع أيضًا، وتحصل السلة الجديدة على طلب جديد.

إذا لم تستطع Paymob بدء الدفع، يبقى العميل في خطوة Confirm Order مع رسالة قصيرة فوق الزر، مثل Paymob could not start the payment. Please check your billing details and try again, or choose another payment method. أو Could not connect to Paymob. Please try again in a moment. ويُكتب السبب التقني في السجل.

تقبل الإضافة مدفوعات لمرة واحدة فقط في صفحة Paymob. لا تدعم البطاقات المحفوظة، ولا الاشتراكات، ولا نموذج بطاقة مدمج في موقعك، ولا الاسترداد من لوحة الإدارة.

الطلبات

حالات الطلب

No status (missing order): أُرسل العميل إلى Paymob ولم يدفع، أو رُفضت الدفعة، أو لم تؤكد Paymob الدفعة بعد. في Sales > Orders لا تظهر هذه الطلبات إلا مع فلتر Order Status مضبوطًا على Missing Orders.

في OpenCart 4 قد يحصل طلب دفع غير مدفوع في صفحة الدفع على حالة Voided، التي يضبطها OpenCart 4 عندما يعود العميل إلى خطوة Confirm Order. تعامل الإضافة هذا الطلب كطلب دون حالة، وتؤكده أي دفعة لاحقة.

Order Status After Payment (default Processing): أكدت Paymob الدفعة. تُظهر ملاحظة المعاملة والمبلغ ونوع البطاقة مع آخر أربعة أرقام.

Awaiting Paymob Payment Status (default Pending): الدفعة قيد الانتظار لدى Paymob، مثل دفعة نقدية أو عبر الكشك. ينتقل الطلب إلى حالة ما بعد الدفع عندما تؤكد Paymob الدفعة.

Paymob Payment On Hold Status (default Pending): لم تعتمد Paymob إلا المبلغ ولم تحصّله (حصّله في لوحة Paymob؛ ينتقل الطلب إلى حالة ما بعد الدفع عند وصول استدعاء التحصيل)؛ أو أن المبلغ أو العملة المدفوعة لا تطابق الطلب؛ أو أن دفعة وصلت لطلب ملغى. توضح الملاحظة السبب. تحقّق من الطلب ثم أنجزه أو استرد الدفعة في لوحة Paymob.

عندما يتغير طلب له حالة بالفعل، يُخطر OpenCart العميل. وإذا وصلت دفعة ناجحة ثانية لطلب مدفوع بالفعل، أو دفعة لطلب ثانٍ من سلة مدفوعة بالفعل، فلا يتغير الطلب المدفوع، وتطلب منك ملاحظة استرداد النسخة المكررة في لوحة Paymob. ولا تُعيد الدفعة لطلب ملغى كان قد دُفع من قبل، أو لطلب مسترد، الطلب إلى الفتح: بل تضيف ملاحظة فقط. وتضيف الدفعة المرفوضة لطلب له حالة بالفعل ملاحظة فقط.

الملاحظات إدخالات في History الطلب لا يراها العميل.

تبويب VibeFox Paymob Pay

في Sales > Orders افتح طلبًا مدفوعًا بـ Paymob. في أسفل صفحة الطلب، بجوار History وAdditional، يعرض تبويب VibeFox Paymob Pay كل محاولة Paymob للطلب: Paymob order مع معرّف طلب التاجر والبلد، وPaymob transaction ID، وStatus، والمبلغ Requested، وAmount reported by Paymob مع البطاقة، وPaymob message. وتحتها Notes الإضافة لهذا الطلب. يظهر التبويب للمستخدمين الذين لديهم صلاحية الوصول إلى الإضافة.

الاسترداد

لا يُدعم الاسترداد من لوحة الإدارة. استرد الدفعة أو ألغِها من لوحة Paymob. وعندما تبلغ Paymob عن استرداد أو إلغاء، تُضاف ملاحظة إلى الطلب، ولا تتغير حالة الطلب. حدّث الطلب يدويًا.

مفتاح الترخيص

تعمل الإضافة بمفتاح ترخيص VibeFox من vibefox.net. كتلة الترخيص License — VibeFox Paymob Pay هي أول كتلة في Extensions > Extensions > Payments > VibeFox Paymob Pay > Edit، فوق الإعدادات. الصق المفتاح في License key وانقر على Activate. بعد ذلك تعرض الكتلة المفتاح مقنّعًا، والحالة (مثل تاريخ انتهاء الترخيص ونطاقك)، وأزرار Check now لإعادة فحص الحالة، وChange key لإدخال مفتاح آخر، وRemove key لإزالة المفتاح من هذا المتجر. وأسفلها السطر Product: opencart-payment-paymob والرابط 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.

بدون مفتاح ترخيص نشط لا يظهر Paymob للعملاء عند الدفع. وإذا بدأ الدفع رغم ذلك، يرى العميل This payment method is not available. Please choose another one. ويظل مستخدم الإدارة المسجّل دخوله إلى لوحة الإدارة في المتصفح نفسه يرى طريقة الدفع في المتجر، مع علامة (unlicensed — visible to admins only)، لكي تتمكن من إعداد الإضافة واختبارها قبل شراء مفتاح. في OpenCart 4 لا تتوفر هذه المعاينة: فالمتجر لا يرى تسجيل دخول الإدارة، لذلك تُخفى طريقة الدفع عن الجميع بدون مفتاح نشط. بعد فتح صفحة Edit مرة واحدة يظهر تذكير في Dashboard الإدارة. أغلقه بـ × ليختفي لمدة 7 أيام. لا تتأثر الطلبات الحالية: تستمر الدفعات التي بدأت بالفعل في التأكيد.

عند انتهاء صلاحية الترخيص تستمر الإضافة في العمل، لكن التحديثات والدعم تحتاج إلى تجديد. تُعاد مراجعة الحالة تلقائيًا عند فتح Dashboard الإدارة أو صفحة Edit: مرة في اليوم خلال أول 14 يومًا بعد إدخال المفتاح، ثم مرة في الأسبوع. لا حاجة إلى مهمة cron. يؤدي إلغاء تثبيت الإضافة دائمًا إلى إزالة مفتاح الترخيص وحالته.

استكشاف الأخطاء وإصلاحها

لا يظهر Paymob عند الدفع: تحقّق من أن الترخيص نشط، وأن Enable/Disable مفعّل، وأن القيم الأربع (مفتاح API، ومعرّف التكامل، ومعرّف iFrame، والمفتاح السري HMAC) مملوءة، وأن عملة الدفع هي عملة Paymob country المحدد. تعرض صفحة الإعدادات تحذيرًا عندما ينقص شيء ما. تحقّق أيضًا من أن عنوان الدفع يقع ضمن Geo Zone المحددة، وأن الطلب يبلغ Total المحدد في الإعدادات.

تمّت الدفعة لكن الطلب يبقى دون حالة: لا تصل الاستدعاءات إلى متجرك. تحقّق من أن Transaction processed callback وTransaction response callback للتكامل الذي تستخدمه هما العنوان نفسه تمامًا المعروض في قسم Callbacks، وأن HMAC secret من الحساب نفسه لدى Paymob. تُكتب الاستدعاءات المرفوضة في السجل كتحذيرات، حتى عندما يكون Debug log معطّلًا. انظر إلى حقل Log في صفحة الإضافة.

يجيب الاستدعاء بـ Invalid signature: المفتاح السري HMAC في الإعدادات لا يطابق حساب Paymob، أو أن حساب بلد آخر محدد. انسخ المفتاح السري HMAC مرة أخرى.

يجيب الاستدعاء بـ Not configured: المفتاح السري HMAC فارغ. أدخل المفتاح السري؛ وستعيد Paymob محاولة الاستدعاء.

يجيب الاستدعاء بـ locked أو retry: كان الطلب يُحدَّث بطلب آخر في اللحظة نفسها، مثل عودة العميل، أو تعذّر ضبط حالة الطلب. ستعيد Paymob محاولة الاستدعاء. يُكتب السبب في السجل.

فتح عنوان الاستدعاء في المتصفح يقود إلى صفحة الدفع مع رسالة تعذّر التحقق: هذا طبيعي. يقبل العنوان الطلبات الموقّعة من Paymob فقط.

يرى العميل خطأ بعد Confirm Order: فعّل Debug log وانظر إلى السجل. تعني Paymob payments are temporarily unavailable مفتاح API خاطئًا أو قيمة مفقودة. وتعني Paymob could not start the payment أن Paymob رفض الطلب، مثل معرّف تكامل خاطئ أو بيانات فوترة غير مكتملة. وتعني This order cannot be paid with Paymob أن إجمالي الطلب صفر. وتعني Paymob does not accept payments in متبوعة بعملة أن عملة الطلب ليست عملة بلد Paymob المحدد. وتعني This payment method is not available. أن جلسة الدفع لم تعد تطابق الطلب، أو أن طريقة الدفع أُوقفت في هذه الأثناء: على العميل إعادة تحميل صفحة الدفع.

الطلب في حالة "معلّق" أو الانتظار بعد الدفع: اقرأ الملاحظات في تبويب VibeFox Paymob Pay. الدفعة قيد الانتظار (نقدًا أو عبر الكشك)، أو المعاملة معتمدة فقط (حصّلها في لوحة Paymob)، أو أن المبلغ أو العملة لم يتطابقا، أو أن الدفعة وصلت بعد إلغاء الطلب.

الدفعات التجريبية: أدخل معرّف تكامل تجريبي لدى Paymob في Integration ID واضبط عناوين الاستدعاء في ذلك التكامل. وللدفعات الحقيقية أعد إدخال معرّف تكاملك الحقيقي.

إلغاء التثبيت

انتقل إلى Extensions > Extensions، واختر النوع Payments، وانقر على Uninstall (الزر الأحمر −) بجوار VibeFox Paymob Pay. يُحذف مفتاح الترخيص وحالة الترخيص لهذه الإضافة دائمًا. يحذف OpenCart دائمًا الإعدادات الخاصة بالإضافة: Enable/Disable وSort Order وGeo Zone وTotal وحالات الطلبات في قسم Orders، وتعود هذه إلى قيمها الافتراضية عند إعادة التثبيت. وفي OpenCart 4 تُحذف أيضًا فعالية OpenCart الخاصة بالإضافة وإجراء البدء الخاص بها، اللذان يسمحان بمرور الاستدعاءات وعودة العميل في وضع الصيانة. وإذا كان Clean uninstall مفعّلًا، تُحذف بقية إعدادات البوابة (العنوان والوصف والبلد والمفاتيح والمعرّفات والتسجيل) والسجل. وإذا كان معطّلًا، تُحفظ لإعادة التثبيت لاحقًا. تُحفظ محاولات الدفع لدى Paymob للطلبات دائمًا. تحتفظ الطلبات الحالية بملاحظات الدفع ومعرّفات Paymob الخاصة بها.

في OpenCart 4، لحذف ملفات الإضافة أيضًا، انتقل إلى Extensions > Installer بعد إلغاء التثبيت، وانقر على Uninstall (الزر البرتقالي −) بجوار VibeFox Paymob Pay في قائمة الإضافات المثبتة، ثم على Delete (زر سلة المهملات الأحمر) لحذف الحزمة المرفوعة.

Paymob علامة تجارية مملوكة لصاحبها. هذه الإضافة غير تابعة لـ Paymob ولا معتمدة من قِبلها.