The pain you’re trying to solve
Direct card-network integration means:- Separate VIC and Agent Pay SDKs / protocols
- Separate Web Bot Auth signing logic per network
- Separate network-registry registration and credential rotation
- Separate dispute flows (each network has its own evidence rules)
- Ongoing network-program participation requirements
What Sly does for you
| Direct integration | Sly |
|---|---|
| Two SDKs (VIC + Agent Pay) | One API surface (/v1/cards) |
| Two Web Bot Auth flows | One POST /v1/cards/verify endpoint |
| Manual card vaulting | Integrated vault via your existing processor |
| Two dispute flows | Unified dispute workflow |
| DIY spending limits | Per-card limits + wallet policies |
| DIY network status checks | GET /v1/cards/networks |
| Per-network program enrollment | Sly handles program-level relationships |
Concept mapping
| Direct VIC / Agent Pay | Sly |
|---|---|
| Network identity token | Web Bot Auth verification |
| Card tokenization via issuer | Vaulted card via processor |
| Per-network spending policy | Agent wallet policy + per-card limits |
| Network dispute reason code | Sly dispute reason enum with network mapping |
| Network transaction ID | network_ref from /v1/cards/verify response |
| Card Present / Not Present | Checkout context passed on verify |
Compose: Sly on top of your existing processor
Your existing card processor (Stripe, Adyen) handles:- PAN tokenization
- Fraud signals
- Settlement to your merchant account
- Card-network fees
- Agent identity verification via Web Bot Auth
- Unified interface across VIC and Agent Pay
- Per-agent spending policies on top of card-level controls
- Dispute workflow unification
Step-by-step: wrapping your current integration
1. Connect your processor to Sly
Same OAuth flow used for e-commerce:2. Migrate your card vault
If you already tokenized cards at your processor, vault them into Sly by referencing the processor tokens:3. Replace direct Web Bot Auth with Sly
Before (example pseudocode for VIC direct):4. Migrate dispute handling
Your two dispute flows → one. Existing open disputes at the networks keep flowing through their original channels until resolution; new disputes register with Sly:5. Layer on agent-specific controls
Once cards are vaulted and verification goes through Sly, you unlock agent-level controls networks don’t provide:What stays direct
- PCI compliance — your processor holds PAN; Sly never sees it
- Card issuance (if you issue virtual cards) — keep using Stripe Issuing or equivalent
- Network program enrollment — you’re still a VIC / Agent Pay enrolled merchant; Sly doesn’t replace that enrollment
What moves to Sly
- All runtime interactions with VIC / Agent Pay — you call Sly; Sly handles network-level API
- Dispute flow — one queue, one UI, one response pipeline
- Agent-level spending controls — per-agent, not just per-card
- Analytics across networks — unified view of VIC + Agent Pay + other rails
Network program requirements
You still need to be enrolled in VIC and/or Agent Pay. Check status:Migration timeline
| Phase | Duration | Work |
|---|---|---|
| 1 | Week 1 | Connect processor, confirm network enrollment mapping |
| 2 | Week 2-3 | Vault existing cards, migrate one agent’s authorizations to Sly |
| 3 | Week 3-4 | Migrate dispute handler, confirm round-trip for at least one |
| 4 | Month 2+ | Retire direct VIC / Agent Pay SDK usage |
Gotchas
- Network reason codes — Sly maps network-specific reason codes to a common enum. The underlying network evidence is preserved, but your analytics keys off Sly’s enum. If you had dashboards keyed off network-specific codes, re-key them.
- Settlement file formats — your processor’s payout files are unchanged; Sly reconciles them for you. If you had custom parsing, you can retire it or keep it as a double-check.
- Direct network outages — Sly doesn’t route around them, but the
/v1/cards/networksendpoint shows you live status so you fail fast.
