Razorpay integration
Payments that match what the customer actually gets.
Acasa Labs integrates Razorpay into SaaS products and apps: subscriptions, credit packs, plans in more than one currency, and the entitlements that decide what a customer can use. Kraftr bills in six currencies through Razorpay. Pullsy sells per-seat and per-storefront plans in INR and USD, with limits enforced down to a database constraint.
The problem
The payment went through. The account does not know.
Taking a payment is the easy part of Razorpay. The hard part is everything after it: the webhook that arrives twice or not at all, the subscription that renews while the app still says it expired, the credit pack that was paid for but never added, and the plan limit the app checks on one screen and forgets on another. Billing bugs reach customers fast and support slowly. The fix is a billing model in your own database that Razorpay events update and every part of the app reads.
What we build with Razorpay
- 01
Subscriptions and plans
Monthly and yearly plans, upgrades, downgrades, and cancellations, mapped to plans and entitlements in your own database.
- 02
Credit packs and usage
One-time packs that add credits, usage that spends them, and a balance a customer can see and trust.
- 03
More than one currency
Prices in INR for Indian customers and in other currencies for international ones, from the same product and the same checkout code.
- 04
Webhooks you can trust
Signatures verified, each event processed once, and a scheduled job that compares your records with Razorpay and catches anything missed.
From production
Razorpay in two products we run.
Six currencies
KraftrKraftr's billing runs in six currencies through Razorpay. Brands buy credit packs and spend them on generations in the studio, on web and in the mobile app.
Two speeds, two prices
KraftrKraftr's overnight batch path runs at half the credit cost of an instant shoot and lands within a day, so a brand can trade speed for price on each drop.
Plans in INR and USD
PullsyPullsy's plans are priced in INR and USD, so creators in India and outside it each see a price in a currency they use.
Limits the database enforces
PullsyPullsy's entitlement service covers per-seat and per-storefront plans and is enforced down to a database constraint, so what a customer paid for and what they can use do not drift apart.
Honest trade-offs
When Razorpay is not the right gateway
If most of your customers are outside India and you sell a simple subscription, Stripe is often the easier choice. NoteTube bills on the web with Stripe. If you sell digital goods inside an iOS or Android app, the stores require their own billing, and RevenueCat over StoreKit and Google Play Billing is how we handle that. When a product needs two systems, a scheduled job keeps them in agreement, as NoteTube does between Stripe and RevenueCat.
What we reach for
- Razorpay Subscriptions and Orders
- Webhooks with signature checks
- Postgres billing tables
- Entitlement service
- Stripe, RevenueCat where needed
- Email receipts
Proof
Shipped, not pitched.
01Our product
Kraftr
One flat-lay photo becomes catalog-ready 4K on-model imagery.
An AI catalog studio for fashion and jewelry brands. Upload one flat-lay or hanger shot per SKU and get on-model imagery at up to 4K, in ten aspect ratios, sized for Amazon, Myntra, Flipkart, and Shopify.
Web · iOS · Android
02Our product
Pullsy
Instagram analytics that keep the numbers Instagram throws away.
Analytics for creators. Pullsy keeps insights Instagram discards after about 90 days, explains what each number means, grades the account, and turns it into a media kit a brand can verify.
Web · iOS (native SwiftUI) · REST API
Questions
Razorpay questions we get asked.
Razorpay or Stripe?
Razorpay for Indian customers paying with UPI, cards, and net banking, and for INR settlement. Stripe for mostly international customers. Some products use both.
Can Razorpay take international payments?
Yes, once international payments are enabled on your Razorpay account. Kraftr bills in six currencies through Razorpay.
How do you handle failed or duplicate webhooks?
Every webhook is verified by its signature and recorded by event ID, so a repeat is ignored. A scheduled job compares your records with Razorpay and fixes anything missed.
Can you build credits or usage-based billing?
Yes. Packs add to a balance, usage takes from it, and every change is recorded so the balance can always be explained. Kraftr sells credit packs to brands.
Do you set up UPI AutoPay for subscriptions?
Yes, through Razorpay subscriptions, with the mandate flow and the renewal and failure events handled in your backend.
Razorpay integration
Billing bugs reach customers first.
A free 30-minute review of your Razorpay setup or the billing you are planning. You leave with what we would fix or build first.

