You look at your ₹100K monthly transaction volume and think: at 2.9% + ₹10, that's roughly ₹3,000 in processing fees . Then settlement arrives three days late. A currency conversion rounds up. Your SaaS recurring billing platform suddenly flags tax non-compliance. And your actual margin is nothing like the headline rate. Stripe, Razorpay, and 2C2P all publish their base fees. None of them publish the full cost of moving money. We mapped the three—across settlement velocity, FX handling, local payment rail charges, interchange pass-through, and tax automation—to show you exactly where your margin disappears. The ₹100K baseline: headline rates hide 40% of true cost Let's say you process ₹100K in monthly transactions. Card payments (debit and credit mix, domestic and cross-border). Mix of one-time and recurring. Stripe India: 2.9% + ₹10 per transaction (domestic cards). ₹2,900 base cost per month. Razorpay: 2.45% + ₹10 domestic; 3.5% + ₹10 international. Assuming 80/20 split, roughly ₹2,500–₹2,700. 2C2P: Regional rates vary, but domestic India is typically 2.7%–3.1% + local payment rail fees (UPI, NetBanking, wallets). Headline base: ₹2,700–₹3,100. On paper, Razorpay looks cheapest. But margin doesn't live in the headline rate. Settlement lag: cash flow cost you're not accounting for Stripe settles in India within 2–3 business days. Razorpay typically 1–2 days (for primary accounts). 2C2P varies by local partner and payment method: 1–5 days depending on whether you route through their partner banks or use direct settlement. That doesn't sound like a margin trap until you think about working capital. If you sell a ₹10K service on Monday and don't see the money until Thursday, and you pay your vendor Wednesday, you've just floated a ₹10K bridge. Scale it: ₹100K monthly volume across 20–30 transactions means on average ₹5K–₹8K in float at any moment. At 9–12% annual borrowing cost (credit line, overdraft, or opportunity cost), that's ₹45–₹96/month in real cost. Razorpay's 1-day settlement saves you roughly ₹30–₹50/month versus Stripe's 3-day window. Doesn't sound like much until you layer it with FX. FX rounding: where currency conversion erodes 0.3–1.2% per cross-border transaction If you take international payments in USD or SGD and settle in INR, every processor applies a mid-market rate plus a spread. Stripe: Publishes FX rates daily. Typically 1.5%–2% markup over interbank mid-market. On a ₹100K USD → INR conversion (~$1,200 at 83 INR/USD), that's ₹150–₹200 hidden cost. Razorpay: 1.8%–2.2% spread on FX. Slightly worse than Stripe. Same $1,200 transaction costs ₹180–₹220. 2C2P: Varies by local partner bank. On direct settlement through partner networks, 1.2%–1.8%. On cross-border routes through Singapore or Hong Kong entity, 2.0%–2.8%. No transparency in published docs. The real trap: if you quote your client a fixed price in USD and take FX risk yourself, that markup is margin you lose. Most SaaS platforms don't. But agencies, consultants, and export-heavy businesses do—and they hemorrhage 0.3–1.2% per transaction to FX rounding alone. Interchange pass-through and local payment rail charges Card interchange (the fee the card issuer takes) is different from your processing fee. Some processors include it; most pass it through. Domestic debit cards (India): Interchange typically 0.4%–0.9%. Most processors absorb or include it in the headline 2.9%. Credit cards (domestic): Interchange runs 1.2%–2.0%. Stripe, Razorpay, and 2C2P all pass this through as a line item or fold it into a tiered rate. On ₹100K with 50% credit card volume, that's an extra ₹600–₹1,000. UPI (2C2P advantage): 2C2P often routes UPI at 0%–0.5% because they own local payment rail partnerships. Stripe doesn't natively offer UPI (you route through a partner). Razorpay offers UPI at 0%–0.5% for high volume. On ₹50K monthly UPI volume, you save ₹250–₹500 with 2C2P or Razorpay versus Stripe's markup structure. NetBanking and wallet: Variable. Razorpay and 2C2P charge 1.2%–2.0%. Stripe doesn't support domestic NetBanking; you need a local aggregator bridge, adding cost. If 40% of your ₹100K volume is UPI or NetBanking, and you're on Stripe, you're paying a 1.5%–2% premium versus Razorpay or 2C2P for the privilege of routing through a subprocessor. Recurring billing: tax compliance gaps that kill margin on subscription revenue This is where most processors fail catastrophically in Southeast Asia. If you offer a ₹999/month subscription billed to recurring customers in Malaysia, Singapore, or Indonesia, you owe GST (Malaysia), GST (Singapore), or PPN (Indonesia) based on the customer's location—not your office location. Stripe Billing: Supports tax calculation for India (GST) and Singapore (GST). Does not auto-calculate Malaysia GST or Indonesia PPN on subscriptions. You must manually define tax rates per region or risk audit. On ₹100K monthly recurring revenue, a 6% GST liability you didn't set up is ₹6,000 in back tax plus penalties. Razorpay Invoic