De integratie vanPCI DSS-Tokenisatiein een Betalingsapplicatie vereist niet wekenlange Ontwikkelingswerk. HetPCI Proxy EU SDKbiedt gedocumenteerde Clientbibliotheken voor de meest gangbare Backend-talen en maakt het mogelijk Ontwikkelaars, Tokenstromen veilig zonder directe PAN-beheer te implementeren. Deze Gids toont de belangrijkste Integratiestappen voor Node.js, Python en PHP met volledig PCI-conforme API-aanroepen.
Waarom de Backend-integratie geen PAN zien moet
Het fundamentele Ontwerpprincipe voor een PCI-conforme Integratie is:De PAN mag nooit via De Backend-code van de Handelaar gaan. Wanneer het Betaalformulier op de Clientpagina (Browser of App) is, moeten Kaartgegevens direct naar De PCI Proxy EU Vault worden overgedragen, über het client-side JavaScript-SDK of een gehoste Betaalpagina -, zonder De Server van de Handelaar te doorkruisen. De Server ontvangt alleen De Token.
Deze Scheiding heeft directe Gevolgen op De PCI-bereik: Wanneer geen PAN De Server raakt, valt de Server niet in de CDE. Het betekent geen Versleutelingsverplichtingen voor Databases, geen ASV-Scans voor deze Server, geen specifieke Toegangscontrolebeleid voor Betalingsgegevens. Het Backend gebruikt De Token, om Transacties te initiëren, en alleen de PCI Proxy EU Vault beheert De werkelijke Toegang naar de PAN.
Node.js Integratie: Token-gebaseerde Betaling initiëren
Het Backend-voorbeeld toont, Hoe een Betaling über PCI Proxy EU met een Token initieert wordt, De de Client eerder ontvangen heeft:
// PCI Proxy EU Node.js Integratie const axios = require('axios'); async function processPayment(token, amount, currency) { const response = await axios.post( 'https://api.pci-proxy.eu/v1/charge', { token: token, // Token van het Client ontvangen amount: amount, // in Cent (z.B. 1000 = 10,00 EUR) currency: currency, // ISO 4217 (z.B. 'EUR') merchantId: process.env.PCI_PROXY_MERCHANT_ID, }, { headers: { 'Authorization': `Bearer ${process.env.PCI_PROXY_API_KEY}`, 'Content-Type': 'application/json', }, } ); return response.data; // { transactionId, status, authCode } } // Gebruik app.post('/checkout', async (req, res) => { const { token, amount } = req.body; // PAN nooit hier const result = await processPayment(token, amount, 'EUR'); res.json({ success: true, transactionId: result.transactionId }); }); Python Integratie: Token-gebaseerde Charge
# PCI Proxy EU Python Integratie import requests import os def process_payment(token: str, amount: int, currency: str) -> dict: """ Initieert een Charge über PCI Proxy EU. Geen PAN in deze Code: alleen veilige Token-Beheer. """ response = requests.post( 'https://api.pci-proxy.eu/v1/charge', json={ 'token': token, 'amount': amount, 'currency': currency, 'merchantId': os.environ['PCI_PROXY_MERCHANT_ID'], }, headers={ 'Authorization': f"Bearer {os.environ['PCI_PROXY_API_KEY']}", 'Content-Type': 'application/json', }, timeout=30 ) response.raise_for_status() return response.json() # Django/Flask View Voorbeeld def checkout_view(request): token = request.POST.get('token') # Van de client, geen PAN amount = int(request.POST.get('amount')) result = process_payment(token, amount, 'EUR') return JsonResponse({'success': True, 'id': result['transactionId']}) PHP Integratie: Abonnementsbetaling met Token
<?php
// PCI Proxy EU PHP Integration
class PciProxyClient {
private string $apiKey;
private string $merchantId;
private string $baseUrl = 'https://api.pci-proxy.eu/v1';
public function __construct(string $apiKey, string $merchantId) {
$this->apiKey = $apiKey; $this->merchantId = $merchantId; } public function charge(string $token, int $amount, string $currency): array { // Geen PAN hier: alleen Token en Betrag $ch = curl_init($this->baseUrl. '/charge'); $payload = json_encode([ 'token' => $token, 'amount' => $amount, 'currency' => $currency, 'merchantId' => $this->merchantId, ]); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => $payload, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer '. $this->apiKey, 'Content-Type: application/json', ], ]); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true); } } // Abonnementsverlenging met opgeslagen Token $client = new PciProxyClient($_ENV['PCI_PROXY_API_KEY'], $_ENV['MERCHANT_ID']); $token = $db->getTokenForSubscription($subscriptionId); // Opgeslagen Token, geen PAN $result = $client->charge($token, 1999, 'EUR');?> Veelgestelde vragen
Moet ik specifieke SDK-Versies gebruiken?
PCI Proxy EU stelt officieel onderhouden Clientbibliotheken voor Node.js (npm), Python (PyPI) en PHP (Composer) klaar. is aan te raden, altijd de nieuwste stabiele Versie te gebruiken, da Updates veelvoorkomend Beveiligingspatches en Verbeteringen voor Nieuwe Betalingsstandards bevatten. Voor andere Talen (Java, Go, Ruby) is een directe REST-API-Integratie met een Standaard-HTTP-Client-Bibliotheek mogelijk.
Hoe verwalte ik Fout bij de Tokenisatie?
Het PCI Proxy EU API is Het gestandaardiseerde HTTP-Fehlercodes naar deück: 400 voor ungültige Parameter, 401 voor Authenticatiefouten, 422 voor Verarbeitungsfehler (z.B. abgelehnte Kaart). is belangrijk, voor elke Fehlertyp geeignete Fallback-Mechanismen te implementeren: Bij Autorisierungsablehnung tonen U het Gebruikers een benutzerfreundliche Meldung en bieden U de Option, een Nieuwe Kaart einzugeben. Alle API-Fout moeten intern gelogd worden, zonder sensible Gegevens aufzuzeichnen.
Hoe teste ik de Integratie zonder echte Kaarten?
PCI Proxy EU biedt eenSandbox-Omgevingmet Test-API-Sleutels en Testkartennummern. In de Sandbox-Omgeving kunnen U De Volledige Tokenisierungsfluss simulieren, Token-Generierung, Charge, Rückerstattung, Stornierung, zonder echte Transacties te erzeugen. Het SDK bevat specifieke Testkarten voor verschiedene Szenarien (Autorisatie erfolgreich, Afwijzing, 3DS-Vereiste), de Volledige Integrationstests zonder Produktionsdaten maken mogelijk.
Klaar, met de Integratie te Beginnen? Greifen U op de PCI Proxy EU Documentatie te.Ontdek PCI Proxy EU.
Hulp nodig bij PCI-naleving?
Ons team helpt u uw CDE in kaart te brengen, het juiste SAQ te kiezen en tokenisatie te implementeren met gegevensresidentie in de EU.
Neem contact op