OrcaPayz

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.

OrcaPayz dashboard showing monthly volume, success rate, a 30-day chart and account health

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.

Hosted checkout page on pay.demostore.example showing the merchant brand, amount due and payment form

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.
Payment accounts page with traffic split, verified payment domain and Stripe webhook status

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.

EU 812 / 5,000 today|US 9,820 / 25,000 this month

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.

Transactions list with statuses and refund actions

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.

Payment received

USD 49.90 · Demo Store EU

Customer: [email protected]

txn_4f9c1e...

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
  1. 01

    Connect accounts

    Add each Stripe account with its secret and publishable key. Keys are stored encrypted and checked against Stripe on save.

  2. 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.

  3. 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.

Read the docs
POST /api/v1/payment-intents
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
Start free trial

Growth

Unlimited payment accounts, priority support, custom webhook events.

Contact sales

Enterprise

Dedicated support, SLA, custom integrations and onboarding for large volumes.

Contact sales

Questions 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.