Your Stripe account. Nothing in between.
Every charge is a direct charge on your own connected Stripe account. The customer, the subscription, the price and the payout belong to you. Passback is never in the path of a payment and takes no share of it.
How direct charges work
Passback uses Stripe Connect with standard connected accounts and direct charges. You connect the Stripe account you already have. When a customer pays, the Checkout session is created on your account, and the charge, customer, subscription and price all live there. Our platform account establishes the connection and verifies webhooks; it holds no funds and adds no application fee.
If you stop using Passback, every customer, subscription and price stays in your account and continues to bill.
Returning the customer to your app
Two methods. Most apps only need the first.
- Claim by device. Your app opens the funnel with an identifier it generated (
?d=<uuid>). The purchase is recorded against that identifier when the customer returns from Stripe. On its next launch the app callsGET /api/v1/entitlement?device=…and receives the subscription. Nothing is declared in Xcode. - Instant return with a URL scheme. Register a scheme and the confirmation screen opens your app directly with a single-use token, valid for five minutes.
Both return the same document — found, active, status, plan, current_period_end — so your app needs one parser. A person with no subscription is found: false with a 200 status, never a 404, so a missing subscription is never mistaken for a network failure.
Recorded before the webhook arrives
The subscription is written when the customer returns from Checkout, from the session Stripe has just completed, rather than when the webhook is delivered. The webhook still arrives and writes the same record; whichever read Stripe most recently wins, so out-of-order events cannot replace a live subscription with a stale one.
Failed payments
Stripe retries the card on your account, on your schedule, with your recovery emails, configured in your Stripe dashboard. Passback adds notification: an alert in the dashboard and an email when a payment fails, cleared automatically when the card succeeds. The customer's access continues to the end of the period they paid for.
Where data is held
| Data | Location |
|---|---|
| Card details | Stripe only. Never transmitted to or stored by Passback. |
| Customer, subscription, price | Your connected Stripe account. |
| Subscriber record (email, status, Stripe ids) | Passback, so the entitlement API can answer in a single read. |
| Return tokens | Passback, stored as SHA-256 digests only. |