اذهب إلى المحتوى

السؤال

نشر

انا بنيت مشروع لمتجر الكتروني بواسطة لارافل ولدي استفسار بخصوص نقطة الدفع 
العمليه التي انا اسير عليها هي 
انشاء طلبيه ووضع حالتها معلقه ثما عمل اعادة توجيه لبوابة الدفع اذا العميل دفع فيتم تغير حالة الطلبيه الي تم الدفع 
المشكله هي اذا لم يدفع فبذالك تم انشاء الطلبيه و لم يتم حذف العناصر من عربة التسوق فقط تم حجز العنصر وكمية المخزون
الحل الثاني هو حجز الطلبيه بعد الدفع ولاكن انا اعتقد انها معقده بحيث الطلبيه بها تفاصيل كثيره جدا كيف اجلب هذه التفاصيل لكي انشئ الطلبيه 

Recommended Posts

  • 0
نشر

الطريقة الأولى سهلة التنفيذ ولا تتطلب الكثير من التعديلات على الكود، وربما تزيد من وقت تحميل الصفحة ومن خطر حدوث أخطاء.

أما الطريقة الثانية تمنع حدوث مشكلات حجز المخزون وتقلل من خطر حدوث أخطاء، ولكن أكثر تعقيدًا من الطريقة الأولى وتتطلب المزيد من التعديلات على الكود.

حاول استخدام حزمة Laravel Cashier لدمج بوابات الدفع بسهولة.

  • 0
نشر

أظن أن المقاربة الأولى أفضل، 

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

ولذلك قم بجدولة مهمة Task قم بتشغيلها بشكل دوري، بحيث تقوم بفحص الطلبيات المعلقة والغاءها في حالة ما تجاوز وقت انشاءها وقتا معينا. يمكنك بهاته الطريقة تلافي أي مشاكل تخص الحجز دون الدفع أو غيرها من مشاكل التسوق الالكتروني.

  • 0
نشر

يمكن عمل ذلك مثلما تعمل العديد من تطبيقات التجارة الإلكترونية وأنظمة الحجوزات وغيرها، بحيث تستخدم العديد من مواقع الحجوزات نفس النهج لإلغاء الحجوزات غير المدفوعة في حال عدم تأكيد الدفع في فترة زمنية محددة.

يمكنك استخدام نظام المهام الدورية لإلغاء الطلبيات غير المدفوعة بعد مرور فترة زمنية معينة بحيث تكون الطلبيات التي لم يتم دفعها في الوقت المناسب سيتم إلغاؤها تلقائيا، وهذا ما سيقلل من احتمالية حدوث مشاكل مثل حجز المخزون دون دفع أو تأخيرات غير مرغوب فيها.

وإن كنت ترغب في تجاوز كل هذا، يمكنك إضافة طريقة دفع عبر API، فإنه يمكن أن يساعد في حل المشكلة بطريقة مختلفة. فبدلا من انتظار الفترة المحددة لإلغاء الطلبيات غير المدفوعة، يمكنك تحديث حالة الطلبية على الفور بعد نجاح عملية الدفع عبر الـ API.

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

هذا الحل يحسن من تجربة المستخدم ويزيل الحاجة إلى تنفيذ مهمة مجدولة لإلغاء الطلبيات غير المدفوعة، ويعطي استجابة فورية بعد عملية الدفع الناجحة.

  • 0
نشر
بتاريخ 8 ساعة قال Mustafa Suleiman:

الطريقة الأولى سهلة التنفيذ ولا تتطلب الكثير من التعديلات على الكود، لكنها ربما تزيد من وقت تحميل الصفحة ومن خطر حدوث أخطاء.

أما الطريقة الثانية تمنع حدوث مشكلات حجز المخزون وتقلل من خطر حدوث أخطاء، ولكن أكثر تعقيدًا من الطريقة الأولى وتتطلب المزيد من التعديلات على الكود.

حاول استخدام حزمة Laravel Cashier لدمج بوابات الدفع بسهولة.

المشكله في الطريقه الثانيه هو ان يوجد معلومات خاصه مثل العنوان اللذي اختاره المستخدم و معرف قسيمة الشراء وبعض الامور الخري التي يجب ان اعرفها لكي احدد السعر النهائي لطلبيه مطور التطبيقات يرسلها لي بنائا علي اختيارات المستخدم 
ولاكن اذا اتبعت الطريقه الثانيه سيكون اعادة التوجيهه من بوابة الدفع لذالك لن احصل علي هذه المعلومات الا حفظها من قبل 

بتاريخ 4 ساعة قال ياسر مسكين:

يمكن عمل ذلك مثلما تعمل العديد من تطبيقات التجارة الإلكترونية وأنظمة الحجوزات وغيرها، بحيث تستخدم العديد من مواقع الحجوزات نفس النهج لإلغاء الحجوزات غير المدفوعة في حال عدم تأكيد الدفع في فترة زمنية محددة.

يمكنك استخدام نظام المهام الدورية لإلغاء الطلبيات غير المدفوعة بعد مرور فترة زمنية معينة بحيث تكون الطلبيات التي لم يتم دفعها في الوقت المناسب سيتم إلغاؤها تلقائيا، وهذا ما سيقلل من احتمالية حدوث مشاكل مثل حجز المخزون دون دفع أو تأخيرات غير مرغوب فيها.

وإن كنت ترغب في تجاوز كل هذا، يمكنك إضافة طريقة دفع عبر API، فإنه يمكن أن يساعد في حل المشكلة بطريقة مختلفة. فبدلا من انتظار الفترة المحددة لإلغاء الطلبيات غير المدفوعة، يمكنك تحديث حالة الطلبية على الفور بعد نجاح عملية الدفع عبر الـ API.

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

هذا الحل يحسن من تجربة المستخدم ويزيل الحاجة إلى تنفيذ مهمة مجدولة لإلغاء الطلبيات غير المدفوعة، ويعطي استجابة فورية بعد عملية الدفع الناجحة.

المشكله في الطريقه الثانيه هو ان يوجد معلومات خاصه مثل العنوان اللذي اختاره المستخدم و معرف قسيمة الشراء وبعض الامور الخري التي يجب ان اعرفها لكي احدد السعر النهائي لطلبيه مطور التطبيقات يرسلها لي بنائا علي اختيارات المستخدم 
ولاكن اذا اتبعت الطريقه الثانيه سيكون اعادة التوجيهه من بوابة الدفع لذالك لن احصل علي هذه المعلومات الا حفظها من قبل

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...