Come Funziona PCI Proxy
Una guida tecnica ma accessibile al flusso dati, al motore di tokenizzazione e all'architettura API-first che mantiene i dati carta fuori dalla tua infrastruttura e la tua azienda fuori dall'ambito PCI.
Flusso Dati End-to-End
Dal momento in cui un titolare di carta inserisce il proprio PAN al punto in cui la tua applicazione riceve un token sicuro, ecco ogni passaggio che i dati attraversano.
Sorgente Dati Carta
Checkout del browser, chiamata API REST o input IVR dell'agente del call center
Intercettazione PCI Proxy
Il reverse proxy rileva ed estrae il PAN a 16 cifre dal payload HTTP
Motore di Tokenizzazione
Il PAN viene crittografato (AES-256) e viene generato un token unico con preservazione del formato
Vault Sicuro
PAN originale archiviato in un data center certificato PCI DSS Level 1 con HSM all'interno dell'UE
Token Restituito
La tua applicazione riceve un token sicuro, usalo per pagamenti, abbonamenti o rimborsi
Il Processo di Tokenizzazione
La tokenizzazione sostituisce i dati carta sensibili con un valore surrogato non sensibile. Ecco esattamente come PCI Proxy EU esegue questa operazione - passo dopo passo.
Fase
Rilevamento PAN
Il proxy ispeziona i body HTTP in entrata con motori di pattern-matching ottimizzati per tutti i principali circuiti. Le sequenze di 13–19 cifre validate Luhn vengono segnalate - su payload JSON, XML, form-encoded e multipart. Zero modifiche al codice da parte tua.
Fase
Formato del Token
Ogni token segue una struttura deterministica: un prefisso (tok_pci_eu_) seguito da una stringa crittograficamente casuale di 30 caratteri. Porta metadati - ultime quattro cifre, brand, scadenza - permettendo alla tua UI di mostrare "Visa che termina con 1234" senza mai accedere al PAN reale.
Fase
Mappatura Uno-a-Uno
Ogni PAN corrisponde a esattamente un token nel tuo namespace merchant. La stessa carta inviata due volte restituisce lo stesso token - abilitando deduplicazione, rilevamento frodi e matching card-on-file. La mappatura è archiviata solo nel vault e non è mai esposta via API.
→ POST in entrata /v1/tokenize
{
"card_number": "4111 1111 1111 1234",
"expiry": "12/26"
}
← Risposta 200 OK · 47ms
{
"token": "tok_pci_eu_a1b2c3d4e5f61234",
"last_four": "1234",
"brand": "visa",
"pan_nei_tuoi_sistemi": false
}
Recupero dei Dati Carta Originali
La de-tokenizzazione è il processo controllato e auditato di sostituzione di un token con il PAN originale, e avviene esclusivamente all'interno dell'ambiente sicuro di PCI Proxy.
Quando Avviene
La de-tokenizzazione avviene solo quando un PSP o acquirer downstream richiede il PAN reale per autorizzare una transazione. Il tuo sistema invia il token all'endpoint forward-proxy di PCI Proxy; il proxy risolve il PAN internamente e lo inoltra al PSP tramite una connessione TLS con autenticazione reciproca. Il PAN non appare mai nei tuoi log.
Chi Può Richiederla
Solo le chiavi API autenticate con lo scope di permesso detokenize possono attivare una de-tokenizzazione. L'accesso è concesso per-merchant, per-ambiente e può essere limitato per whitelist IP e rate limit configurabili.
Traccia di Audit Completa
Ogni evento di de-tokenizzazione viene registrato con timestamp, chiave API richiedente, PSP di destinazione, IP sorgente e ID richiesta. I log vengono conservati per un minimo di 12 mesi e sono disponibili tramite la dashboard merchant e l'API di audit. Immutabili, tamper-proof.
Livelli di Sicurezza
Secret rotanti, richieste firmate
Accesso limitato a IP server conosciuti
Connessioni certificate pinned verso PSP
Tamper-proof, conservazione ≥ 12 mesi
Architettura API-First
Un'API RESTful JSON. Autenticati con la tua chiave, invia i dati carta, ricevi token. Di seguito i due endpoint principali che userai quotidianamente.
/v1/tokenize Scope: tokenize Corpo della Richiesta
{ "card_number": "4111111111111111", "expiry": "12/26", "cvv": "123" }
Risposta 200 OK
{ "token": "tok_pci_eu_a1b2c3d4e5f6", "last_four": "1111", "brand": "visa", "expires_at": "2026-12-31" }
/v1/forward Scope: forward Corpo della Richiesta
{ "token": "tok_pci_eu_a1b2c3d4e5f6", "target_url": "https://psp.eu/charge", "amount": 9900, "currency": "EUR" }
Risposta (dal PSP, proxyata)
{ "status": "authorized", "transaction_id": "txn_9f8e7d6c", "amount": 9900, "currency": "EUR" }
Webhook e Flussi di Callback
PCI Proxy EU invia notifiche di eventi in tempo reale ai tuoi endpoint webhook registrati. Ogni evento include una firma crittografica che puoi verificare lato server.
I webhook utilizzano backoff esponenziale con fino a 5 tentativi. Le consegne fallite vengono archiviate per 72 ore e possono essere replicate dalla dashboard.
Tipi di Eventi Supportati
token.created Nuovo token generato token.used Token inviato al PSP token.expired Token ha raggiunto il TTL token.deleted Token rimosso su richiesta forward.success PSP ha restituito 2xx forward.failure PSP ha restituito errore Esempio di Payload Webhook
tuo-server.com/webhooks/pci LIVE
{
"event": "token.created",
"timestamp": "2026-04-03T10:15:30Z",
"data": {
"token": "tok_pci_eu_a1b2c3d4e5f6",
"last_four": "1111",
"brand": "visa",
"merchant_id": "mrc_xyz789"
},
"signature": "sha256=4a8b9c..." // HMAC-SHA256
} Verifica della Firma
Ogni webhook include l'header X-PCI-Signature. Calcola HMAC-SHA256 del body grezzo con il tuo webhook secret e confrontalo con il valore della firma. Rifiuta le richieste dove le firme non corrispondono.
SDK e Opzioni di Integrazione
SDK ufficiali in 5 linguaggi, campi hosted e iniezione iFrame - scegli il metodo più adatto al tuo stack.
SDK JavaScript
npmimport PCIProxy from '@pci-proxy-eu/js';
const pci = new PCIProxy({
merchantId: 'mrc_xyz789'
});
const { token } = await pci.tokenize({
cardNumber: '4111...'
}); SDK Python
PyPIfrom pci_proxy_eu import Client
client = Client(
merchant_id="mrc_xyz789",
api_key="sk_live_..."
)
result = client.tokenize(
card_number="4111..."
) SDK PHP
Composeruse PCIProxyEU\Client;
$client = new Client(
merchantId: 'mrc_xyz789',
apiKey: 'sk_live_...'
);
$result = $client->tokenize([
'card_number' => '4111...'
]); Campi Hosted e Iniezione iFrame
Per l'idoneità SAQ A. I campi vengono renderizzati in iFrame sicuri - i dati carta non toccano mai il tuo DOM.
<div id="card-number"></div>
<div id="card-expiry"></div>
<div id="card-cvv"></div>
<script>
PCIProxy.hostedFields({
merchantId: 'mrc_xyz789',
fields: {
cardNumber: '#card-number',
expiry: '#card-expiry',
cvv: '#card-cvv'
},
onTokenize: (result) => {
// solo token, mai il PAN
console.log(result.token);
}
});
</script> Dati di Pagamento
Dati carta mai sul tuo server
SAQ A
Ambito minimo
CSS API
Personalizzabile
Mobile
Responsive
Inizia a Integrare Oggi
Scopri cos'è un PCI Proxy, approfondisci i dettagli della tokenizzazione o guarda come gli sviluppatori usano la piattaforma.