Stripe Webhook Testing: Local Development Guide

Stripe webhooks আপনার অ্যাপকে পেমেন্ট এবং সাবস্ক্রিপশন সম্পর্কে নোটিফাই করে। একটি মিস করা webhook অর্ডার ফেইল হওয়ার কারণ হতে পারে। আগে টেস্টিং করা কঠিন ছিল। এখন Stripe CLI দিয়ে এটি সহজ হয়ে গেছে।

প্রথমে CLI ইনস্টল করুন।

  • macOS: brew install stripe/stripe-cli/stripe
  • Windows: scoop install stripe
  • Linux: releases page ব্যবহার করুন।

এই কমান্ডটি দিয়ে আপনার অ্যাকাউন্ট লিঙ্ক করুন: stripe login

আপনার সার্ভারে ইভেন্টগুলো ফরওয়ার্ড করার জন্য লিসেনার শুরু করুন: stripe listen --forward-to localhost:3000/webhooks/stripe

আউটপুট থেকে signing secret-টি সেভ করুন। এটি আপনার এনভায়রনমেন্টে সেট করুন: export STRIPE_WEBHOOK_SECRET=whsec_abc123

টাকা খরচ না করেই ইভেন্টগুলো টেস্ট করুন। Triggers ব্যবহার করুন।

  • Payment success: stripe trigger payment_intent.succeeded
  • Payment fail: stripe trigger payment_intent.payment_failed
  • New subscription: stripe trigger customer.subscription.created

ফেক রিকোয়েস্ট বন্ধ করতে সিগনেচার ভেরিফাই করুন। Raw request body ব্যবহার করুন। JSON parsers ভেরিফিকেশন নষ্ট করে দেয়। Express-এ express.raw() ব্যবহার করুন।

সাধারণ সমস্যাগুলো সমাধান করুন।

  • 400 রেসপন্স মানে সিগনেচার ফেইল করেছে।
  • আপনার CLI secret চেক করুন। ড্যাশবোর্ড secret এখানে কাজ করবে না।
  • আপনার লগগুলো রিভিউ করুন।

প্রোডাকশন চেকলিস্ট।

  • HTTPS ব্যবহার করুন।
  • প্রোডাকশন secret ব্যবহার করুন।
  • ৩০ সেকেন্ডের মধ্যে রেসপন্স করুন।
  • ডুপ্লিকেট ইভেন্ট হ্যান্ডেল করুন।

Source: https://dev.to/digital_trubador/stripe-webhook-testing-local-development-guide-391