The GSX Orchestration Platform
Every rail. One control plane.
Decide where every payment goes, recover the ones that fail, and reconcile them all — without writing new code each time.
REQUEST IN
Card payment
₹ 2,48,500 · domestic
Screened, scored and matched to a rule in under 20 ms.
GSX DECIDES
Acquirer Adegraded · skip
Acquirer Bbest route
Acquirer Cfallback
RESULT
Approved
142 ms · ledger updated
Settlement scheduled and visible in the dashboard instantly.
How orchestration works.
01
Connect
Acquirers, banks, wallets and settlement rails behind one API.
02
Route
Rules on BIN, amount, method, cost and live success rates.
03
Recover
Failover in milliseconds. Soft declines retry on the next best route.
04
Reconcile
Every rail settles into one ledger with fee breakdowns by provider.
No-code rules
Your ops team changes strategy. Not your engineers.
Build routing rules visually, A/B test providers and roll back with one click. Maker-checker approval keeps every change accountable.
Version history and instant rollback
Weighted traffic splits for provider tests
Role-based access and a full audit trail
Rule · domestic-cards-high-valuev12 · live
IFMethod is CardCountry is IndiaAmount > ₹50,000
ROUTEAcquirer B · 70%C · 30%
ON FAILRetry next best route · max 2 attempts
Approved by ops.lead · 21 Oct, 10:42View history
Everything a payment stack needs, already built.
Smart retries
Recover soft declines automatically.
Tokenisation vault
Card data out of your systems.
Every payment method
Cards, UPI, bank transfers and wallets.
Reporting & exports
Settlement, fees and success rates.
Signed webhooks
Real-time events for every state change.
Roles & approvals
Maker-checker on sensitive actions.
Wallet ledger
Balances, holds and limits per user.
Agent policies
Scoped spending for AI agents.
Developers
Built by payments engineers, for payments engineers.
REST API & SDKs
Full sandbox
Signed webhooks
Idempotent requests
webhook · payment.succeeded
{
"event": "payment.succeeded",
"id": "tx_91a2",
"amount": 24850000,
"currency": "INR",
"route": {
"attempts": ["acquirer_a", "acquirer_b"],
"final": "acquirer_b",
"latency_ms": 142
},
"settlement": { "status": "scheduled" }
}