Piattaforme di pianificazione dei pagamenti
1) Cos'è il POP e perché è necessario nel iGaming
Payment Orchestration Platform è una scorciatoia tra il prodotto e molti PSP/Equairer/metodi/portafogli/banche locali. Lei:- Aumenta l'AR e riduce il DR grazie al routing/cascata intelligente (BIN/GEO/metodo/prezzo/salute).
- Riduce i costi (IC + +/markup/fixed/FX-slippage) tramite smart-routing e A/B per selezionare i provider.
- Migliora la resistenza: failover, circuito-breaker, provini health, degrado a modalità sicure.
- Accelera il go-to-market: un'unica API/SDK, una directory di adattatori, la gestione delle regole senza release.
- Garantisce la corrispondenza: KYC/AML/sanzioni, geoblocchi, same-method, MoR/Submergenti.
- Semplifica i rapporti: normalizzazione degli stati, file di settelment, vetrine ND/GGR/NGR/fees/tasse.
2) Build vs Buy: come scegliere
Buy (POP esterno): avvio più veloce, adattatori/dashboard/SLA pronti; contro - margine provider, profondità limitata di customizzazione, vendor lock-in.
Build (in-house): controllo completo delle regole/dati/prezzo; contro - CAPEX/competenze/processi SOC2.
Ibrido: mercati/metodi critici - in-house, coda lunga - attraverso POP esterno.
Criteri: copertura GEO/metodi, latency, trasparenza dei prezzi, accesso ai dati raw e webhooks, supporto network tokens/3DS2, payout-orchestrazione, sandbox, API, SLA/penalty.
3) Architettura di destinazione POP (livelli)
1. API-Gateway & Auth — rate-limit, OAuth/JWT, mTLS, schema-validation, idempotency-keys.
2. Rule-Engine - Politiche dichiarative (GEO/BIN/metodo/importo/rischio/prezzo/SLA/sanzioni).
3. Router/Cascader — выбор `(PSP, MID, require_3DS, retry_window, max_attempts)`; sticky BIN/GEO.
4. Provider Adatters è un'interfaccia unificata (authorize/capture/refund/void/payout/tokenize).
5. 3DS & Risk Orchestration - TRA/whitelisting, challenge/funnel, autenticazione delegata.
6. Recordation - Importa file di settelment, mapping codici, esplode fees/reserve.
7. Payout Orchestration è una selezione di corridoio, same-method/return-to-source, cut-off/T + N, controlli.
8. Treasury/FX - Libri multivendita, EOD-reval, realization/unrealization FX, previsioni di liquidità.
9. Data Platform - bus di eventi (Kafka/PubSub), outbox, DWH/lagi, vetrine ND/GGR/NGR/fees/tax.
10. Osservabilità - loghi/metriche/roulotte, SLO/SLI, alert, playbooks incidenti.
11. Applin/UI - Gestione delle regole, test AB, corridoi di pagamento, limiti, chiavi.
4) Routing e regole: segnali di ingresso
Карта: BIN/IIN, brand, debit/credit, commercial/premium, issuer country.
Geo/compilation: IP/GPS/SIM/KYC country, slot, licenze, classe di mercato (A-D).
Transazione: importo/valuta/canale, velocity, rischio-scansione del frodo, stato 3DS.
Fornitori: AR/DR, soft-decline%, 3DS pass, latency/errori, SLA health.
Costo: IC + +/markup/fixed, FX-quality, reserve%, funding T + N.
Limitazioni: limiti PSP, maintenance, incidenti, divieti locali.
- `Score = 0. 45AR_live − 0. 25Cost_bps + 0. 15SLA_health + 0. 10FX_quality + 0. 05Reserve_score`
Policy retraes: solo soft-decline; idempotency-key condivisa per tutta la cascata; Budget 15-30 secondi.
5) 3DS и liability shift
Strategie: escalation , 3DS a rischio-GEO/BIN, delegated auth.
Memorizza il risultato (liability _ shift = true/false), ACS/DS per i display.
A/B criteri 3DS - Bilanciamento AR vs liability.
6) Tokenizzazione
Network tokens (Visa/MC/DC) - Stabilità AR, meno errori lifecycle.
Vault tokens: una sola cassaforte multi-PSP; il mapping dei token PSP specifici.
Rotazione PAN/expiry, aggiornamenti COF/COFT, indicatori card-on-file, registrazione DS.
7) Riavciliazione e costo
Normalizzazione degli stati (authorize/capture/refund/changeback/representment).
Importa settlement files: decomposizione Interchange/Scheme/Markup/Fixed/FX/Reserve.
Calcolo effettivo take-rate e FX slippage con PSP/metodo/MID/GEO.
Report varianti: «Tx» File «Funding» (Delta> soglia ticket).
8) Payout-orchestrazione e trequarti
Corridoi: scelta del provider GEO/valuta/banca, return-rate/ETA/SLA.
Criteri: same-method/return-to-source, livelli, pagamenti ritardati (T + N + K).
FX: selezione della valuta di origine, residui EOD-reval, realization FX a funding/payout.
Riserve: rolling/reserve-ledger e calendario di release.
9) Sicurezza e compliance
SANCTIONS/PEP/AML: screening centralizzato, kill-switch per GEO/contractor.
PCI DSS: mTLS, segmentazione PAN-scope, loging proibito dei campi sensibili, P2PE/SDK.
GDPR/Privacy: DPA, ruoli Controller/Processor, DSR/DSAR, conservazione.
Regolazione iGaming: geoblocchi, licenze, RG/self-exclusion, formati di controllo.
10) Osservazione, SLO e incidenti
SLI/SLO: AR, 3DS pass, p95 latency, error-rate, funding T+N hit-rate, payout ETA.
Алерты: routing degradation, soft-decline surge, 3DS anomaly, take-rate spike, health down.
Playbooks: failover PSP/ACS, rerute GEO/BIN, disattivazione della regola problematica, degrado a «solo metodi bianchi».
Post-incidenti: RCA, variazione della bilancia/soglia, test di regressione.
11) Livello Data & BI
Event-driven: outbox → Kafka/PubSub → consumers (router, 3DS, antifraud, DWH).
Exactly-once (praticamente): outbox-pattern, consumer idipotenti, deduplicazione in chiave.
Витрины: `transactions_flat`, `provider_fees`, `fx_settlement`, `ggr_rollup`, `vat_ledger`, `payout_corridors`, `reserve_ledger`.
AB-тесты: bandits/splits, guardrails (min-AR, max-take-rate).
12) Modello di dati (semplificato)
sql
-- Providers/MID/ref methods. providers(provider PK, pricing_model, fx_policy, reserve_pct, meta)
ref. mids(mid PK, provider FK, country, method, descriptor, enabled, meta)
-- Profiles/routing rules ref. routing_profiles(profile_id PK, name, version, enabled, meta)
ref. routing_rules(
rule_id PK, profile_id FK, iso2, bin_from, bin_to, method,
provider, mid, require_3ds, priority, retry_soft JSONB,
max_attempts, ttl_seconds, enabled, meta)
-- Online provider metrics (sliding window)
live. provider_stats_15m(
provider, method, iso2, bin6, approvals, declines, soft_declines,
three_ds_pass, avg_latency_ms, updated_at)
-- Transactions/attempts with payments idempotency. auth_attempts(
attempt_id PK, idempotency_key, step, provider, mid, require_3ds,
status, decline_code, amount_minor, currency, bin, iso2,
started_at, finished_at, meta)
-- Settlement/fees/reserve finance. settlement_fees(
batch_id, provider, mid, period_start_at, period_end_at, currency,
interchange_amt, scheme_amt, markup_amt, auth_amt, refund_amt,
cb_amt, gateway_amt, fx_spread_amt, reserve_delta, total_fees)
treasury. reserve_ledger(
id PK, provider, mid, hold_date, release_due_date,
hold_amount, released_amount, cb_consumed, fines_consumed, status, meta)
-- Payout corridors. corridors(
corridor_id PK, from_iso2, to_iso2, method, provider,
success_rate_7d, return_rate_7d, avg_eta_hours, status, updated_at)
13) Esempi di regole e richieste
13. 1. Regole di routing pseudo-DSL
yaml rule: "cards_eu_low_risk_v2"
when:
iso2 in [DE, NL, AT, FI] AND method == "CARD"
AND bin. issuer_country == iso2 score:
AR_live: 0. 45
Cost_bps: -0. 25
SLA_health: 0. 15
FX_quality: 0. 10
Reserve_score: 0. 05 routes:
- psp: "Acq_A" mid: "A_DE_01" require_3ds: false max_attempts: 1
- psp: "Acq_B" mid: "B_EU_02" require_3ds: true max_attempts: 1 retry_on_soft: [TIMEOUT, ISSUER_UNAVAILABLE, SOFT_DECLINE]
budget_ms: 20000
13. 2. Classifica dei provider online
sql
SELECT provider, method, iso2,
SUM(approvals) appr, SUM(declines) decl,
ROUND(100. 0 SUM(approvals) / NULLIF(SUM(approvals+declines),0),2) AS ar_pct,
ROUND(100. 0 SUM(soft_declines) / NULLIF(SUM(declines),0),2) AS soft_share_pct
FROM live. provider_stats_15m
WHERE updated_at > now() - INTERVAL '20 minutes'
GROUP BY 1,2,3
ORDER BY ar_pct DESC, soft_share_pct DESC;
13. 3. Costo dei provider (all-in take-rate)
sql
SELECT provider,
SUM(total_fees) / NULLIF(SUM(t. amount_reporting),0) 100 AS take_rate_pct
FROM finance. settlement_fees f
JOIN dw. transactions_flat t ON t. provider=f. provider
WHERE f. period_start_at>=:from AND f. period_end_at<:to
GROUP BY 1
ORDER BY take_rate_pct;
13. 4. Effetto cascata (step-conversion)
sql
WITH s AS (
SELECT idempotency_key, MAX(step) steps, BOOL_OR(status='APPROVED') approved
FROM payments. auth_attempts
WHERE started_at BETWEEN:from AND:to
GROUP BY 1
)
SELECT steps, COUNT() orders,
100. 0 SUM(approved::int) / NULLIF(COUNT(),0) AS conv_pct
FROM s GROUP BY 1 ORDER BY 1;
14) KPI e dashboard
AR/DR PSP/MID/GEO/BIN/metodo (15/60-min finestra + DTD).
Step-conversion (1/2/3).
Take-Rate% e FX-slippage per provider/metodo.
3DS pass-rate и liability shift.
Health/SLA: latency, timeouts, errato-rate, incidenti.
Reserve & Funding: reserve% и T+N hit-rate.
Payout Corridors Health: success/returns/ETA.
Policy Coverage - Percentuale di eventi con una versione aggiornata del profilo.
15) Alerte e soglie
Routing Degradation: caduta AR> Y bps in 10-30 minuti
Soft-Decline Surge: la quota di soft-decline cresce in modo da includere il ramo supplementare/step-up 3DS.
3DS Anataly: caduta pass-rate> X% su BIN/emittente/PSP.
Take-Rate Spike: crescita all-in valore> soglia.
Health Down: SLA breach (latency/error) — авто-failover.
Policy Draft - Tentativi senza idempotency _ key/senza profilo - P1.
Settlement Delay - Violazione T + N o missed reserve-release.
16) Best practices (breve)
1. Idampotenza e retrai solo secondo soft-decline, chiave comune per cascata.
2. Telemetria vivente AR/3DS/latency/health e auto-failover.
3. Funzione prezzo percorso (AR vs cost vs SLA vs FX) + sticky BIN/GEO.
4. Network tokens + unico vault; COF/COFT è corretto.
5. Cut-off-aware - Non fruire partiale-capture alla fine della giornata.
6. Reconciliation: calcolo fees/FX personalizzato, report varianti.
7. Payout-orchestrazione con same-method e controllo corridoi.
8. Versioning delle regole e test A/B con guardrail.
9. Separazione dei livelli: router ≠ antifraud ≠ policy engine; Guide generali.
10. Traccia doc di sanzioni/licenze/regole, kill-switch per GEO.
17) Assegno-foglio di implementazione
- Seleziona modello (build/buy/hybrid), mappa GEO/metodi/PSP/MID.
- Diagramma API, Idemotia, outbox, bus event, DWH.
- Rule-engine + UI: profili, pesi, soft-codes, politiche 3DS.
- Adattatori: normalize API/codici, sandbox set di test.
- Telemetria/alert/SLO, health-fid provider.
- Ricomposizione: import di file, spray fees/riserva/FX.
- Payout-orchestrazione: corridoi, same-method, SoF/KYC.
- Sicurezza: PCI/GDPR/sanzioni, segreti/rotazione, accessibili.
- Documentazione e incidenti playbooks; Test di regressione.
Riepilogo
POP non è solo «proxy fino a PSP», ma un bus operativo centrale per i pagamenti: routing intelligente e cascate, 3DS/rischio-orchestrazione, riconcisione e payouts, trekking/FX, osservabilità e compliance. Costruendo una piattaforma con idropotenza, telemetria vivente, costi e regole trasparenti, si alza AR, si riduce all-in take-rate, si protegge P&L da guasti e si accelera l'accesso a nuovi mercati senza riscrivere il prodotto.