بعد إتمام الدفع عبر Stripe، المستخدم كان بيحصل redirect إلى localhost:3000/allorders بدلاً من https://swiftcartapp.vercel.app/allorders.
الـ URL اللي بيتم إرساله لـ Stripe API كان بيستخدم environment variables أو client-side URLs اللي ممكن تحتوي على localhost.
// Simple solution: Always use production URL for Stripe redirect
const finalUrl = 'https://swiftcartapp.vercel.app/allorders';
const res = await fetch(
`https://ecommerce.routemisr.com/api/v1/orders/checkout-session/${cartId}?url=${finalUrl}`,
// ... rest of the request
);// Simple solution: Always use production URL
const currentUrl = 'https://swiftcartapp.vercel.app';
const res = await OnlineCheckout(id, currentUrl, values);- ✅ Stripe سيحول المستخدم دائماً إلى
https://swiftcartapp.vercel.app/allordersبعد الدفع - ✅ لا يوجد اعتماد على environment variables أو client-side URLs
- ✅ الحل يعمل في كل من development و production
- ✅ البناء يتم بنجاح بدون أخطاء
- Deploy التطبيق إلى Vercel
- جرب عملية checkout
- بعد الدفع في Stripe، تأكد من التحويل إلى الـ URL الصحيح
- شوف الـ console logs للتأكد من الـ URL المستخدم
- الحل بسيط ومباشر - hardcoded URL للـ production domain
- لا يحتاج environment variables معقدة
- يعمل في كل الحالات بدون تعقيد
الحل مطبق وجاهز للاستخدام! ✅