OrcaPayz
Built for Stripe. One API, many accounts.

Route every payment to the right Stripe account. Automatically.

OrcaPayz sits between your app and your Stripe accounts. Send one request, we pick the account by strategy, daily and monthly limits and health, and the shopper pays on a checkout hosted on pay.yourdomain.com. The provider only ever sees your domain.

Trial
7 days, no card
Strategies
6 routing modes
Card data
Never stored
Checkout
Your domain
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": "jane@example.com",
    "description": "Order #10422",
    "return_url": "https://yourstore.com/thank-you"
  }'
HTTP/1.1 201 Created
{
  "success": true,
  "data": {
    "transaction_id": "txn_9f2c1a7e…",
    "checkout_url": "https://pay.yourstore.com/checkout/txn_9f2c1a7e…",
    "status": "processing",
    "amount": 49.9,
    "currency": "usd",
    "payment_account": { "id": 3 }
  }
}
Routed to account #3 (Weighted Round Robin) Checkout served on pay.yourstore.com

Built for scale

Everything between your app and Stripe, handled.

Stop hard-coding which account gets which payment. OrcaPayz decides per transaction, keeps every account inside its limits and gives you one place to see it all.

Smart routing

Six load-balancing strategies pick the account for each payment. Weighted Round Robin counts only successful charges, so distribution reflects reality, not attempts.

White-label checkout on your domain

A hosted checkout served from pay.yourdomain.com with your logo and colours. Stripe sees your domain as the origin of every session, never ours.

Automatic failover & limits

Set daily and monthly caps per account. When one is exhausted or errors, the router skips it and continues with the next eligible account.

Signed webhooks

Every event we send to you is signed with HMAC-SHA256 in the X-Orcapayz-Signature header. Verify in two lines and trust the payload.

Refunds & disputes

Full or partial refunds by API or from the dashboard, executed on the account that took the payment. Disputes from all accounts in one list.

Real-time analytics

Volume, success rate and account usage side by side. Filter transactions across every account by status, customer or date.

How routing works

One request in. The best account out.

The router runs on every payment intent. It takes milliseconds and you never see it, unless you want to override it.

See the full technical flow
  1. 01

    Filter eligible accounts

    Active accounts with a verified payment domain whose daily and monthly limits still have room for this amount.

  2. 02

    Apply your strategy

    Weighted Round Robin, Least Used, Failover and more. Or pass payment_account_id and skip routing entirely.

  3. 03

    Create and serve

    A PaymentIntent is created on the chosen Stripe account and the shopper gets a checkout URL on your domain.

White-label domain

Your checkout. Your domain. Nobody else in the picture.

Add a single CNAME record and pay.yourdomain.com starts serving your branded checkout. Stripe Elements loads under your hostname, Stripe webhooks are delivered to your hostname, and the shopper never leaves your brand.

  • The payment provider sees only your domain as the checkout origin.
  • Automatic TLS on the edge host. No certificates to manage.
  • Per-account branding: logo, accent colour, support email and statement text.
  • Domain verification happens in the dashboard in one click after DNS propagates.
DNS records for yourdomain.com Verified
Type Name Target TTL
CNAME pay edge.orcapayz.com Auto
A @ 203.0.113.10 Auto
CNAME www yourdomain.com Auto

Shopper sees

pay.yourdomain.com

Stripe sees

pay.yourdomain.com

Platform visible

No

Routing strategies

Pick how traffic spreads across accounts.

Set the strategy once in Dashboard → Payment accounts. Change it any time; it applies to the next payment.

Strategy reference

Weighted Round Robin

Recommended

Distributes by target percentage. Only successful payments count.

weighted_round_robin

Round Robin

Cycles through accounts in order.

round_robin

Weighted

Priority plus success rate. Prefers reliable accounts.

weighted

Least Used

Routes to the account with the lowest usage.

least_used

Failover

Primary first, then secondaries.

failover

Random

Random selection among eligible accounts.

random

Pricing

Start free. Scale when you need to.

We never hold your funds and we never touch your Stripe fees. Pricing is for the orchestration layer only.

Starter

For a first integration or a side project.

Free for 7 days

  • Up to 2 payment accounts
  • All routing strategies
  • White-label checkout on your domain
  • Signed webhooks and full API access
  • No card required
Start free trial
Most popular

Growth

For teams routing real volume across many accounts.

Contact us volume-based pricing

  • Unlimited payment accounts
  • Per-account daily and monthly limits
  • Refunds, disputes and payment links
  • Priority support
  • Onboarding call with an engineer
Talk to sales

Enterprise

For regulated or high-availability environments.

Custom

  • Everything in Growth
  • Uptime SLA
  • Dedicated support channel
  • Security review and DPA
  • Custom retention and export
Contact us

FAQ

Questions engineers ask first.

Something missing? Write to us and we will answer within one business day.

No. Everything the shopper and Stripe interact with runs on your own payment domain (pay.yourdomain.com). The checkout page, Stripe Elements and the Stripe webhook endpoint are all served under your hostname, so the provider only ever sees your domain.

No. Card details are collected by Stripe Elements inside the checkout and go straight to Stripe. OrcaPayz never sees, transmits or stores card numbers, and your PCI scope stays the same as a direct Stripe integration.

Yes. Pass payment_account_id in the create request and routing is bypassed for that transaction. The account must belong to you and be active, otherwise the API returns INVALID_PAYMENT_ACCOUNT.

We POST a JSON event to your account-level webhook URL and, if you provided one, to the per-transaction webhook_url. Each request carries an X-Orcapayz-Signature header: an HMAC-SHA256 hex digest of the raw body using your webhook secret. Verify it, respond 2xx, and reconcile with GET if anything is unclear.

Yes. Every new account gets a 7-day trial with full API access and up to two payment accounts. No card is required to start.

Ship one integration. Run every account.

Connect your Stripe accounts, point pay.yourdomain.com at us and start routing in an afternoon.

7-day free trial. No card required. Cancel any time.