Stripe Webhook Testing: ലോക്കൽ ഡെവലപ്‌മെന്റ് ഗൈഡ്

Stripe webhooks പേയ്‌മെന്റുകളെയും സബ്‌സ്‌ക്രിപ്ഷനുകളെയും കുറിച്ച് നിങ്ങളുടെ ആപ്പിനെ അറിയിക്കുന്നു. ഒരു വെബ്‌ഹുക്ക് (webhook) മിസ്സ് ചെയ്യുന്നത് ഓർഡറുകൾ പരാജയപ്പെടാൻ കാരണമാകും. പണ്ട് ടെസ്റ്റിംഗ് പ്രയാസകരമായിരുന്നു. എന്നാൽ ഇപ്പോൾ Stripe CLI ഉപയോഗിച്ച് ഇത് എളുപ്പമാണ്.

ആദ്യം CLI ഇൻസ്റ്റാൾ ചെയ്യുക.

  • macOS: brew install stripe/stripe-cli/stripe
  • Windows: scoop install stripe
  • Linux: റിലീസ് പേജ് ഉപയോഗിക്കുക.

ഈ കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങളുടെ അക്കൗണ്ട് ലിങ്ക് ചെയ്യുക: 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

വ്യാജ റിക്വസ്റ്റുകൾ തടയാൻ സിഗ്നേച്ചറുകൾ (signatures) പരിശോധിക്കുക. raw റിക്വസ്റ്റ് ബോഡി ഉപയോഗിക്കുക. JSON പാഴ്സറുകൾ വെരിഫിക്കേഷൻ തകരാറിലാക്കും. Express-ൽ express.raw() ഉപയോഗിക്കുക.

സാധാരണയായി ഉണ്ടാകുന്ന പിശകുകൾ പരിഹരിക്കുക.

  • 400 റെസ്‌പോൺസ് എന്നാൽ സിഗ്നേച്ചർ പരാജയപ്പെട്ടു എന്നാണ് അർത്ഥം.
  • നിങ്ങളുടെ CLI സീക്രട്ട് പരിശോധിക്കുക. ഡാഷ്‌ബോർഡ് സീക്രട്ടുകൾ ഇവിടെ പ്രവർത്തിക്കില്ല.
  • നിങ്ങളുടെ ലോഗുകൾ (logs) പരിശോധിക്കുക.

പ്രൊഡക്ഷൻ ചെക്ക്‌ലിസ്റ്റ് (Production checklist).

  • HTTPS ഉപയോഗിക്കുക.
  • പ്രൊഡക്ഷൻ സീക്രട്ട് ഉപയോഗിക്കുക.
  • 30 സെക്കൻഡിൽ താഴെ സമയത്തിനുള്ളിൽ മറുപടി നൽകുക.
  • ഡ്യൂപ്ലിക്കേറ്റ് ഇവന്റുകൾ കൈകാര്യം ചെയ്യുക.

സ്രോതസ്സ്: https://dev.to/digital_trubador/stripe-webhook-testing-local-development-guide-391