Receipts is the payments processor for indie devs and bootstrapped founders who do the math on Stripe's 2.9% + 30¢ and find it absurd. Drop-in SDK, lower interchange, payouts on T+1.
import { receipts } from "@receipts/sdk";
const charge = await receipts.charges.create({
amount: 10000, // $100.00 in cents
currency: "usd",
source: token, // from checkout.js
brand: { logoUrl: "cdn.cargo.studio/logo.svg" },
metadata: { invoice: "INV-0418" }
});
// charge.fee → 145, charge.net → 9855
// stripe would have taken 320. you saved 175.
Charge, Customer, PaymentMethod, Subscription, Invoice. Same shape, same idempotency keys, same webhook events. Most teams swap in 47 minutes.
Receipts your customers see — emailed, on the success page, in their bank statement descriptor — all your brand. We're the rails; you're the storefront.
Multi-region issuing in us-east-1, eu-west-2, ap-south-1. Status page is publicly streaming charge.created latency every 5 seconds — go check it.
Real interchange-plus pricing — we publish our cost stack at receipts.dev/honest-pricing. Volume plan pays for itself at $11k/mo in card volume.
Over $1M/mo card volume? Custom interchange-plus, you'll see our cost stack line by line.
"We're a 10-person studio invoicing six-figure projects four times a year. Stripe's 2.9% on €240k was €6,960 we were essentially renting from them for the privilege of using their dashboard. Switched to Receipts on a Friday — first wire on Monday. Same API, half the fee. The migration was literally a find-and-replace plus a new env var."
"What I didn't expect: the bank statement descriptor now reads 'CARGO STUDIO' instead of 'STRIPE*CARGO'. Clients stopped asking us what Stripe was."
Same interchange as Stripe — interchange is set by Visa/Mastercard, not by the processor. The difference is what stacks on top: Stripe charges ~1.5% above interchange, we charge 0.6%. We do less white-glove fraud review on small merchants, run our own (smaller) sales team, and don't have a billion-dollar dashboard PM org. Our full cost stack is published at receipts.dev/honest-pricing — pull the JSON.
ACH (US), SEPA (EU), BACS (UK), UPI (India), Bancontact (BE), iDEAL (NL), PIX (BR) — on Volume. Pay-as-you-go is cards + wallets only. ACH is 0.6% capped at $4. SEPA is flat €0.18.
Managed by default — we run a risk engine over every EU charge, request 3DS challenge only when SCA exemption thresholds (TRA, low-value, allow-list) don't apply. Our challenge rate is 14% vs an EU industry average of 28%, with the same auth-rate. Auto-exemption decisions are logged on every charge object.
T+1 default — charge on Monday, money in your bank Tuesday by 5pm local. Volume customers can opt into instant payouts (1% fee, 30 minutes) or weekly batching (free, more predictable). Free ACH on all plans. We never hold reserves on accounts under 1.5% dispute rate.
Webhook on dispute.created, plus a $14 chargeback fee (vs Stripe's $15). For Volume customers, we'll auto-respond with evidence we collect from charge metadata, IP, device fingerprint — our win rate on auto-defended disputes is 47% vs 28% if you write the response yourself at 11pm. Dashboard preview at receipts.dev/disputes.
Generate a test key, run our migration script against your Stripe customers, deploy. Most teams are live on Receipts inside 47 minutes. First $1,000 in volume is free.