One UPI integration. Every gateway. Every decision explained.
Integrate once. PaymentSwitch routes each UPI payment to the right gateway using your limits, priorities and weights, scores the risk, flags what looks wrong, and shows you exactly why it chose what it chose.
Accounts are reviewed and approved before going live.
Routing decision · example
Why Gateway B: priority 1 tier, risk low, limits available, chosen by weight. Recorded with the rules and configuration version in force.
Built for control, not just connectivity
Most switches pick a gateway and leave you guessing. PaymentSwitch gives merchants the controls and platform teams the policy, both fully visible.
Priority, weight and limits
Set tiers, traffic split, min/max amounts and hourly, daily and weekly amount and count limits per gateway. Limits are enforced atomically, so they hold under load.
Rules and flags you can read
Velocity, device sharing, identity changes, duplicate payments. Platform admins build rules visually; every rule is versioned and every change audited.
Risk without the black box
An explainable score with the top reasons in plain English. If scoring is ever unavailable the risk is "unknown", never silently "low", and payments keep flowing.
Reports that answer "why"
Gateway-wise, date-wise, status, flag and risk reports, plus attribution for why a gateway received less traffic. Export to CSV or Excel.
Automatic failover
If a gateway rejects a request, the next best eligible gateway is tried and every attempt is recorded. Repeat payments of the same amount rotate to a different gateway.
Clear boundaries
Merchants own their gateways and limits. The platform owns rules, flags and risk policy. Merchants see the effect of policy but cannot change it.
From request to reason in milliseconds
Every payment follows the same transparent path.
Validate
Signed request, idempotent by your order ID. A retry never creates a second payment.
Assess
Rules and flags run against live user and device activity, then risk is scored.
Route
Hard limits first, then priority, then weight. Every excluded gateway gets a reason.
Report
You get a UPI intent back, and a full explanation stored for every payment.
A small, honest API
One endpoint to start a UPI payment. Requests are HMAC-signed with your secret, and declines name the exact reason.
- Idempotent. Same order ID returns the same payment.
- Normalized. One response shape whichever gateway is chosen.
- Signed callbacks. Final status posted to your URL, retried with backoff.
- Clear errors. Declines carry the flag that caused them.
# POST https://api.pswitch.live/api/v1/upi/intent X-PS-Key: psk_… X-PS-Timestamp: 1791420890404 X-PS-Signature: hex(HMAC-SHA256(secret, ts.METHOD.path.sha256(body))) { "merchantOrderId": "ORD-12345", "amount": 1250.00, "customer": { "mobile": "9999999999", "name": "A Customer" }, "deviceId": "device-abc-123", "callbackUrl": "https://merchant.com/callback" }
{
"success": true,
"transactionId": "PSMUYPQVPQ0201…",
"status": "PROCESSING",
"gateway": "GATEWAY_B",
"upiIntentUri": "upi://pay?pa=…&am=1250.00&cu=INR&tr=…"
}
HTTP 422
{
"code": "BLOCKED_BY_POLICY",
"message": "Transaction declined: USER_HIGH_VELOCITY - User is transacting at an unusual rate",
"details": { "reasons": [{ "code": "USER_HIGH_VELOCITY" }] }
}
Designed to fail safely
A payment path should be boring under stress.
- Scoring down? Risk becomes "unknown", your policy decides, rules and limits still apply.
- Gateway slow or failing? Reservations are released and the next gateway is tried.
- Gateway never calls back? Payments age to pending, then expire and free their capacity.
- Broker unavailable? Payments continue; events queue and replay in order.
Security you can inspect
Practical controls, documented, tested and independently reviewed internally.
- Signed, single-use requests with replay protection.
- Merchant isolation enforced on every query, and cross-tenant reads return not found.
- Secrets and PII encrypted at rest, contact details masked in the dashboard.
- Full audit trail of every configuration change.
Stop guessing which gateway handled what.
Create a merchant account, connect your gateways and make your first routed payment.