| Komponente | Owner |
|---|---|
| Merchant-API oder Checkout-Form | Merchant |
| Card-Credentials (DPAN, Cryptogram, Expiry) | Ovra (server-seitig, verschlüsselt) |
| Payment-Execution | Deine Agent-Runtime |
Runtime 1 — MPP
Für Merchants die MPP sprechen:
Server-zu-Server. Kein Browser. Settlement passiert beim Acquirer des Merchants; Ovra schreibt die
transactions-Row auf Verify.
Runtime 2 — CUA
Für Merchants die nur ein Checkout-Form haben (CUA):Autofill-Token minten
POST /v1/cua/autofill-tokens returnt aft_* (30s TTL, single-use, Intent + Card + Merchant-Origin + Amount-Cap).An Harness übergeben
aft_id an deinen CUA-Harness über deinen eigenen internen Channel — nicht via LLM-Kontext.Harness löst ein + füllt
Harness ruft
GET /v1/cua/autofill-tokens/:id/redeem mit X-CUA-Harness-Secret, holt DPAN, füllt Form via CDP Input.insertText.Runtime 3 — Direct API Execute (Legacy)
Für Server-zu-Server Flows wo Ovra das Gateway ist:targetUrl muss HTTPS und SSRF-safe sein. Ovra resolvet Credentials, executet den Merchant-Call via PCI-Proxy-Forward-Pull, returnt das Ergebnis.
Sicherheits-Layer
| Layer | Schutz |
|---|---|
| Intent-FSM | requireIntent enforced; expired Intents abgelehnt |
| Grant-TTL | Konfigurierbar, Default 5 Min. |
| Credential-TTL | Konfigurierbar, Default 5 Min., 24h max |
| MPP-Credential | JWE-wrapped, single-use CAS-Consume |
| CUA-Autofill-Token | X-CUA-Harness-Secret-gated, 30s TTL, One-Shot |
| DPAN | Network-Token, nicht die FPAN |
| Cryptogram | Single-use CAVV — an die Transaktion gebunden |
| Policy-Engine | Re-evaluiert an jedem Checkpoint |
| Idempotency | Required auf jedem money-moving POST |
Runtime wählen
| Situation | Runtime |
|---|---|
Merchant returnt WWW-Authenticate: Payment 402 | MPP |
| Merchant hat nur Checkout-Form | CUA |
| Server-zu-Server, du kontrollierst beide Enden | Direct API Execute |
Weiter
MPP
Wire-Flow, Error-Matrix, Merchant-Onboarding.
CUA
Threat-Model, Harness-Grenze, JWKS-Prep.
Bezahlung
Die Pay-Säule-Übersicht.
