Standards in This Folder

FileServiceCovers
stripe.mdStripePayment Intents, Checkout, Subscriptions, Webhooks, Metadata, Refunds
razorpay.mdRazorpayOrders, Payment Verification, Subscriptions, Webhooks, Notes, Refunds
sendgrid.mdSendGridSetup, Template Decision, Dynamic Templates, Transactional Standards, Error Handling
gmail.mdGmailOAuth2, SMTP, Rate Limits, When to Use, When Not to Use

Core Principles

  1. API keys never in code — always in environment variables, never committed
  2. Secrets server-side only — Stripe secret key, Razorpay key_secret, SendGrid API key never exposed to the browser
  3. Webhook signatures always verified — before processing any payload
  4. Idempotency on webhooks — store event IDs, skip already-processed events
  5. Never 500 for business logic in webhooks — return 200 with a log entry instead
  6. Test mode before live — use test credentials locally and in staging, live keys only in production