Every payment takes the best route.
Total control of your payments, in one API. Connect the processors you already have, route by card country, BIN, brand or amount, and let a backup save the decline.
Runs on Stripe and Airwallex. Card vault by Basis Theory.
- Stripe UK 70%
- Airwallex 30%
- Circuit breaker closed
| Payment | Order | Processor | Status | Charged | Fee | To the shop |
|---|---|---|---|---|---|---|
| pay_8Qf2kLx9 | cart_20418 | Stripe UK | Paid | £74.94 | £1.87 | £73.07 |
| pay_8Qf1v0Tn | cart_20417 | Airwallex | Paid | £129.00 | £3.23 | £125.77 |
| pay_8Qez77Hc | cart_20416 | Stripe UK | Refunded £20.00 | £58.50 | £0.96 | £37.54 |
| pay_8QeyP3da | cart_20415 | Stripe UK | Declined by bank | £212.00 | £0.00 | £0.00 |
| pay_8Qex2MbR | cart_20414 | Stripe UK | Paid | £34.99 | £0.87 | £34.12 |
| pay_8QewK81s | sub_0931, renewal | Airwallex | Paid | £19.00 | £0.48 | £18.52 |
| pay_8QevD5qy | cart_20413 | Stripe UK | Paid | £86.40 | £2.16 | £84.24 |
| pay_8QeuA9Wp | cart_20412 | Stripe UK | Paid | £47.25 | £1.18 | £46.07 |
# Take a payment POST /v1/payments Idempotency-Key: cart_20418 { "amount_minor": 7494, "currency": "gbp", "vault_token": "tok_c41e…", "merchant_reference": "cart_20418", "return_url": "https://shop.example/paid", "save_for_future_use": true }
# Then we tell your server, signed POST https://shop.example/hooks/payments { "type": "payment.succeeded", "payment": "pay_8Qf2kLx9", "merchant_reference": "cart_20418", "amount_minor": 7494, "currency": "gbp" } # Add "dry_run": true to see the exact # processor request without sending it.