razorpay-stripe

Implements Razorpay and Stripe payment flows, webhooks, and refunds for DropFlow orders.

Updated Mar 31, 2026
One-click install
npx skills add https://github.com/gengirish/dropflow --skill razorpay-stripe-gengirish
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: razorpay-stripe
Source: https://github.com/gengirish/dropflow/tree/main/.cursor/skills/razorpay-stripe
Command: npx skills add https://github.com/gengirish/dropflow --skill razorpay-stripe-gengirish

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires razorpay, stripe.

What problem does it solve? Building dual-gateway payment support for Indian and international customers requires handling two different APIs, currencies, and webhook verification schemes, which is error-prone when done from scratch. ## Core Features & Use Cases - Razorpay Integration: Create INR payment orders in paise and verify webhook signatures using HMAC-SHA256 with timing-safe comparison. - Stripe Integration: Create international checkout sessions in USD, EUR, or GBP and validate webhook events with Stripe's signature verification. - Gateway Selection & Conventions: Automatically route INR payments to Razorpay and other currencies to Stripe, with consistent paise-based storage and idempotent webhook processing. - Use Case: When a customer in India places an order, generate a Razorpay order, then confirm payment via the signed webhook and enqueue the order workflow for fulfillment. ## Quick Start Implement the Razorpay and Stripe payment flow with verified webhook handlers for the orders module.

Frequently Asked Questions about razorpay-stripe

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify a Razorpay webhook signature in Node.js?▼

Compute an HMAC-SHA256 of the raw request body using the webhook secret, then compare it to the x-razorpay-signature header with crypto.timingSafeEqual. Always verify before parsing or processing the event payload.

How to create a Stripe checkout session for international payments?▼

Call stripe.checkout.sessions.create with mode payment, line_items containing price_data with the currency and unit_amount, and metadata carrying the orderId. The session URL is returned for redirecting the customer to Stripe-hosted checkout.

Razorpay vs Stripe for accepting payments in India?▼

Razorpay handles INR payments natively in paise and suits Indian customers, while Stripe covers international currencies like USD, EUR, and GBP. A common pattern routes by currency: INR goes to Razorpay, everything else to Stripe.

Does Stripe use paise or cents for payment amounts?▼

Stripe uses the smallest currency unit, such as cents for USD, while Razorpay uses paise for INR. If amounts are stored as paise in the database, convert them to cents at the Stripe boundary.

Why do duplicate payment webhooks cause double order processing?▼

Gateways may retry webhook delivery, so handlers must be idempotent. Check the Payment status before updating records and advancing the order workflow to prevent duplicate processing of the same event.