menu-MENAmenu-MENA
الرئيسيةالأسعارالمدونةتواصل معناابدأ الآن
الشريط الجانبي للوحة تحكم menu-MENA مفتوح على قسم العمليات، وصفحة المدفوعات لسه بتحمّل بعد اختيار Test Restaurant

استلام الدفع بالكارت والمحفظة الإلكترونية من صفحة المنيو

الطلبات والدفع

بقلم فريق menu-MENA

نُشر في 4 سبتمبر 2026


ليه الميزة دي موجودة أصلاً

معظم عروض "المنيو الرقمي" في مصر بتوقف عند إن الزبون يقرا المنيو ويبعت الأوردر على WhatsApp. ده بيوصّل الطلب للمطبخ. لكنه مش بيحوّل فلوس لحسابك قبل ما الأكل يخرج، وده الاحتكاك الحقيقي لأي حد شغال بالدليفري، أو كشك، أو مطعم اتحرق قبل كده من طلب كاش ما وصلش. حل menu-MENA هو تكامل Paymob مبني على flow "Accept" الكلاسيكي بتاع Paymob، نفس الخطوات اللي الـ SDKs الرسمية بتاعتهم بتستخدمها: تسجيل دخول بـ API key، تسجيل الطلب، إنشاء payment key، وبعدين رابط لصفحة hosted الزبون بيدفع منها.

ده بنية شغالة فعلاً وراقفة على أيقونة Payments في الشريط الجانبي بتاع لوحة التحكم: route الدفع، تخزين بيانات الاعتماد، التحقق من الـ webhook، كل ده مبني وشغال، مش ميزة مستنية على roadmap.

إزاي الدفع بيحصل فعلاً

الرحلة بتبدأ بالظبط زي أي طلب في menu-MENA: الزبون بيعمل كارت من المنيو العامة وبيبعته كطلب WhatsApp. مفيش حاجة بتتغير هنا.

اللي جديد هو اللي تقدر تعمله بالطلب ده لما يوصل لوحة الطلبات. لو Paymob متوصل، أيقونة دفع بتظهر جنب أي طلب لسه مش متعلّم paid. تدوس عليها و menu-MENA بيعمل الآتي:

  1. بيقرا إجمالي الطلب من اللي فعلاً متخزن في الطلب نفسه، مش من أي رقم تاني ممكن يتبعت في الريكوست.
  2. بيسجل المبلغ ده عند Paymob تحت حساب التاجر بتاعك.
  3. بينسخ رابط الدفع على طول على الكليب بورد بتاعك.

بتلزق الرابط ده تاني في نفس محادثة الـ WhatsApp اللي جه منها الطلب. الزبون بيدوس عليه، وبينزل على صفحة Paymob نفسها، ويدفع بالكارت أو المحفظة. صفحة المنيو بتاعتك ماعمرها بتعرض خانة كارت، ولا بتلمس بيانات كارت الزبون خالص.

حالة دفع الطلب بتتحول لـ "pending" فور ما تنشئ الرابط، وبعدين بتتحول لـ Paid أو Failed أو Refunded أول ما webhook بتاع Paymob يرد. مفيش ريفريش تعمله علشان تشوف التغيير.

إزاي تظبطها

كل حاجة موجودة في صفحة Payments تحت الإعدادات، والـ owner بس هو اللي يقدر يفتحها. المانجر لو حاول يدخل، بيترجّع على طول للوحة التحكم، بنفس منطق صلاحيات الفريق المطبّق في كل مكان تاني، وده متأكد منه على السيرفر كمان، مش مجرد مخفي من الواجهة.

هتحتاج أربع حاجات من لوحة تحكم Paymob: API key، integration ID، iframe ID، و HMAC secret. تحطهم في الخانات المخصصة وتحفظ. لو سبت واحدة فاضية أول مرة، menu-MENA بيحفظ اللي ديته، لكن الـ switch بتاع "enabled" بيفضل مقفول لحد ما الأربعة يبقوا موجودين. فمينفعش checkout نص متظبط يعدي عليك بالغلط.

زرار "Test connection" بيتأكد إن الـ API key فعلاً شغال قبل ما تكمل أي حاجة تانية. وهو مصمم يكون فحص للتوثيق بس: مش بيسجل طلب وهمي عند Paymob كل مرة تدوس عليه، لأن ده كان هيسيب طلبات تجريبية زيادة في لوحة تحكم Paymob كل مرة تدوس فيها على الزرار. جنبه في نفس المكان toggle الـ test mode، تقدر تشغل بيه كل الفلو ضد بيئة sandbox بتاعة Paymob قبل أي دفعة حقيقية.

الصفحة كمان بتطبع callback URL، واحد لكل مطعم، بتلزقه في إعدادات الـ integration بتاعتك عند Paymob. ده العنوان اللي Paymob بينادي عليه علشان يقول لـ menu-MENA إن الدفع فعلاً تم.

إيه اللي بيخلّي الموضوع مضمون

كام تفصيلة تستاهل تعرفها لو نوعك بيسأل "طيب لو حصل كذا":

  • كل callback جاي من Paymob بيتفحص مقابل HMAC secret بتاعك قبل ما menu-MENA يثق في أي خانة فيه. أي callback مش موقّع أو موقّع غلط بيترفض على طول ومايغيّرش أي حاجة.
  • العملة اللي بيتحصّل بيها بتيجي من إعدادات الـ theme بتاعتك إنت، مش من الطلب نفسه، فطلب اتلعب فيه مايقدرش يبدّل العملة اللي هتتحصّل بيها بهدوء.
  • لو Paymob رجّع مبلغ مختلف عن اللي اتطلب، الدفعة بتتحط عليها علامة بدل ما تتعلّم paid. دفع جزئي أو استرداد جزئي ماعمره بيتقرب لـ "paid" غلط على لوحتك.
  • رابط الدفع فاضل صالح لحوالي 45 دقيقة قبل ما menu-MENA يطلع رابط جديد، فدوسة تانية على الأيقونة لنفس الطلب مش بتسجل طلبين منفصلين عند Paymob.

كل ده مش شايفه يوم بيوم. بس معناه إن الأرقام في لوحة الطلبات بتاعتك مطابقة فعلاً للي وصل حساب Paymob بتاعك.

هل الميزة دي مناسبة لمطعمك

لو مطعمك ماشي على كاش عند التسليم ومكالمة تأكيد، الميزة دي بتقفل فجوة حقيقية: طلبات WhatsApp اللي كانت بتخلص بـ "كاش لما يوصل" ممكن دلوقتي تخلص برابط بيتحصّل قبل ما الطلب يخرج من المطبخ. لو مطعمك كله حضوري وكاش على الترابيزة، غالباً مش هتفتح الصفحة دي خالص، وده تمام برضه. الميزة فاضلة off لحد ما تشغّلها إنت، ومفيش حاجة بتتغير في المنيو أو في فلو الطلبات لمطعم مبيلمسش إعدادات Payments أصلاً.

الأسئلة الشائعة

لازم الفريق يبدأ. الزبون بيعمل الأوردر من كارت المنيو وبيبعته على WhatsApp زي أي طلب عادي. في لوحة الطلبات، بيظهر أيقونة دفع جنب الطلب ده لما يكون Paymob متوصل. تدوس عليها، و menu-MENA بيسجل الطلب عند Paymob وبينسخ رابط دفع على الكليب بورد بتاعك، جاهز تلزقه في نفس محادثة الـ WhatsApp. مفيش فورم كارت واقف على صفحة المنيو العامة بتاعتك.

أي حاجة حساب Paymob بتاعك متظبط عليها: كارتات ومحافظ إلكترونية Paymob شغالة بيها في مصر. ده متحكم فيه من ناحية Paymob وحسابك عندهم، مش من menu-MENA.

أربع قيم من لوحة تحكم Paymob بتاعتك: API key، integration ID، iframe ID، و HMAC secret. الأربعة بيتحطوا في صفحة Payments في إعدادات لوحة التحكم. لو سبت واحدة فاضية، الـ switch بتاع التفعيل مش هيشتغل، فمينفعش تشغّل الميزة نص متظبطة.

مصر هي الافتراضي والسوق اللي الميزة اتعملت أساساً علشانه، لكن Paymob شغالة بأنظمة منفصلة في الإمارات والسعودية وعُمان وباكستان. فيه قايمة اختيار منطقة في صفحة Payments بتوجه حسابك للسوق اللي حساب Paymob بتاعك فيه.

الـ owner بس هو اللي يقدر يفتح صفحة Payments أو يشوف أي خانة من بيانات الاعتماد. حساب المانجر لو حاول يدخل، بيترجّع على طول للوحة التحكم الرئيسية، والقاعدة دي متفعّلة من السيرفر نفسه، مش مجرد مخفية من الواجهة.

menu-MENA مش هيعلّم الطلب paid. المبلغ والعملة اللي جايين في الـ callback بيتقارنوا باللي اتطلب فعلاً، ولو فيه فرق، زي دفع جزئي أو استرداد جزئي، بيتحط علامة عليه علشان تراجعه بإيدك بدل ما يتقبل تلقائي كأنه دفع كامل.