𝗦𝘁𝗿𝗶𝗽𝗲 𝗪𝗲𝗯𝗵𝗼𝗼𝗸 𝗧𝗲𝘀𝘁𝗶𝗻𝗴: 𝗟𝗼𝗰𝗮𝗹 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁 𝗚𝘂𝗶𝗱𝗲
تقوم Stripe webhooks بإخطار تطبيقك بالمدفوعات والاشتراكات. يؤدي فقدان أي webhook إلى فشل الطلبات. كان الاختبار صعباً في السابق، أما الآن فقد أصبح سهلاً باستخدام Stripe CLI.
قم بتثبيت CLI أولاً.
- macOS: brew install stripe/stripe-cli/stripe
- Windows: scoop install stripe
- Linux: استخدم صفحة الإصدارات (releases).
اربط حسابك باستخدام هذا الأمر: stripe login
ابدأ المستمع (listener) لتوجيه الأحداث إلى خادمك: stripe listen --forward-to localhost:3000/webhooks/stripe
احفظ سر التوقيع (signing secret) من المخرجات. قم بتعيينه في متغيرات البيئة الخاصة بك: export STRIPE_WEBHOOK_SECRET=whsec_abc123
اختبر الأحداث دون إنفاق أموال. استخدم المحفزات (triggers).
- نجاح الدفع: stripe trigger payment_intent.succeeded
- فشل الدفع: stripe trigger payment_intent.payment_failed
- اشتراك جديد: stripe trigger customer.subscription.created
تحقق من التواقيع لمنع الطلبات المزيفة. استخدم جسم الطلب الخام (raw request body). تقوم أدوات تحليل JSON بإفساد عملية التحقق. استخدم express.raw() في Express.
حل الأخطاء الشائعة.
- استجابة 400 تعني فشل التوقيع.
- تحقق من سر CLI الخاص بك. أسرار لوحة التحكم (Dashboard) لا تعمل هنا.
- راجع سجلاتك (logs).
قائمة التحقق للإنتاج (Production checklist).
- استخدم HTTPS.
- استخدم سر الإنتاج (production secret).
- استجب في أقل من 30 ثانية.
- تعامل مع الأحداث المكررة.
المصدر: https://dev.to/digital_trubador/stripe-webhook-testing-local-development-guide-391