Route payments across all your Stripe accounts.
One API across all your Stripe accounts. Routing by traffic split and limits, failover built in, checkout on your own domain.
The provider only ever sees your domain.
Checkout, return URL and webhook all live on pay.yourdomain.com, which you point at us with one CNAME. No third-party name anywhere in the page, the metadata or the DNS your shoppers hit.
One DNS record
- Type
- CNAME
- Name
- pay.yourdomain.com
- Target
- edge.orcapayz.com
- Checkout runs on your subdomain and mentions only your brand.
- Stripe receives your return URL and webhook URL, nothing else.
- Referrers are stripped before the payment page loads.
- Metadata keys stay neutral, descriptions are yours.
Routing
Set the split. Set your limits. We choose the account.
Give each account a target share and optional daily and monthly caps. If Stripe rejects the intent, the router retries on the next eligible account in the same request.
-
Traffic split
Target percentages per account, balanced on successful payments only.
-
Failover
A rejected intent moves to the next account before you get a response.
-
Auto-pause
Pause an account after N failures in a row and get a Telegram alert.
-
Limits
Daily and monthly caps per account, skipped automatically when reached.
Everything after the payment is handled too.
Limits and failover
Daily and monthly caps per account. When one is full or Stripe declines the intent, the next account takes the payment automatically.
Signed webhooks
Every status change is delivered as JSON with an HMAC signature. Add a per-transaction webhook URL when different systems need different events.
{
"event": "payment_intent.succeeded",
"data": { "transaction_id": "txn_4f9c...", "amount": 49.9, "status": "succeeded" }
}
Refunds and disputes
Full or partial refunds from the dashboard or the API. Chargebacks from every account in one list, with evidence deadlines.
Payment links
Create a hosted checkout link from the dashboard without writing code. It uses the same routing and branding as the API.
Telegram alerts
Successful, failed, refunded and disputed payments delivered to your own bot within seconds. Each event can be switched off.
Live in an afternoon.
No changes to your Stripe accounts. You keep the keys, the funds and the merchant of record.
See the full flow-
01
Connect accounts
Add each Stripe account with its secret and publishable key. Keys are stored encrypted and checked against Stripe on save.
-
02
Point pay.yourdomain.com at us
Create the CNAME, click Verify, then register the webhook. Only after verification is Stripe told where to call back.
-
03
Create payments
POST an amount, a customer email and a return URL. Redirect the shopper to the checkout URL we return and listen for the webhook.
API
One request. One checkout URL.
Amounts in decimal units, JSON in and out, two headers for auth. Pin a specific account with payment_account_id when you need to.
curl -X POST http://orcapayz.com/api/v1/payment-intents \
-H "X-API-Key: $ORCA_KEY" \
-H "X-API-Secret: $ORCA_SECRET" \
-H "Content-Type: application/json" \
-d '{
"amount": 49.90,
"currency": "usd",
"customer_email": "[email protected]",
"description": "Order #2041",
"return_url": "https://yourstore.com/thank-you"
}'
{
"success": true,
"data": {
"transaction_id": "txn_4f9c1e0b2a7d5c3e8f1a6b9d2c4e7f0a",
"checkout_url": "https://pay.yourstore.com/checkout/txn_4f9c1e0b...",
"status": "processing",
"amount": 49.9,
"currency": "usd",
"payment_account": { "id": 3, "publishable_key": "pk_live_..." }
}
}
Start free. Pay when it earns its keep.
Starter
Free for 7 days
Everything in the product, no card required. Connect up to two payment accounts and process real payments from day one.
- Up to 2 payment accounts
- Traffic split and failover
- White-label checkout
- Signed webhooks
- Refunds and disputes
- Telegram alerts
Enterprise
Dedicated support, SLA, custom integrations and onboarding for large volumes.
Contact salesQuestions we get before sign-up.
No. The checkout, the return URL and the webhook all run on your own pay subdomain. Metadata keys and descriptions are neutral, and referrers are stripped before the page loads.
No. Stripe Elements collects the card inside Stripe's iframe. Card numbers never touch our servers.
Yes. Pass payment_account_id with the request and routing is skipped for that payment. The account still has to be active and within its limits.
Each delivery carries an HMAC-SHA256 signature of the raw body in the X-Orcapayz-Signature header, computed with your webhook secret.
Correct. The trial runs for 7 days with the full product. Contact us before it ends to keep the API live.
Connect your first account today.
7 days free, no card, and your existing Stripe accounts stay exactly as they are.