Aggiungi l’Autenticazione Forte PSD2 alla Tua App
Con l’aumento del numero degli acquisti effettuati online, cresce il pericolo di frodi e pagamenti non autorizzati.
In risposta a questa situazione, in Europa è stato introdotto un nuovo standard per l'autenticazione dei pagamenti online denominato "Secure Customer Authentication", noto anche come PSD2 (Payment Services Directive versione 2).
Il PSD2 introduce un ulteriore elemento di sicurezza per i pagamenti online. Se le tue applicazioni prevedono transazioni in euro, puoi utilizzare la nostra Verify API per implementarlo e ottenere una maggiore sicurezza.
Cos’è la Secure Customer Authentication
La Secure Customer Authentication assicura che, in caso di importi di transazione consistenti, venga utilizzato più di un tipo di autenticazione (sono disponibili i dettagli tecnici e le clausole). In breve, le transazioni dovrebbero includere due tra i seguenti elementi:
- Una password o un PIN (qualcosa che l'utente conosce)
- Un'impronta digitale o una scansione del viso/degli occhi (qualcosa che l'utente è)
- Delle informazioni da un telefono o un token hardware (qualcosa che l’utente possiede)
L'utilizzo della funzione PSD2 nella Verify API è un modo semplice per implementare la terza opzione.
Come Funziona la Verify API PSD2
Per autorizzare un pagamento, l'API invia un codice al numero di telefono registrato sull'account dell'utente.
L'autorizzazione può avvenire tramite messaggio di testo, telefonata o, solitamente, una combinazione di entrambi; quest’ultima opzione consente di raggiungere il maggior numero possibile di utenti. L'utente riceverà il PIN insieme alle informazioni sulla transazione: l'importo del pagamento e a chi è destinato.
L'utente fornisce quindi il PIN che ha ricevuto; questo viene inviato di nuovo alla Verify API per verificare che sia corretto. In caso affermativo, la richiesta viene confermata e l’utente può procedere con il pagamento.
Come Implementare la Verify API PSD2
Abbiamo esempi in diversi stack tecnologici, ma per rendere le cose più omogenee, questi esempi usano cURL.
Account Vonage API
Avrai bisogno di un account Vonage API. Se non ne hai già uno, puoi registrarti ora e iniziare subito a sviluppare, grazie al credito gratuito. Una volta creato l’account, troverai la tua API Key e il tuo API Secret nella parte superiore della Vonage API dashboard.
Invia un Codice PIN per Confermare un Pagamento
Il primo passaggio consiste nell'inviare un codice al telefono del cliente per confermare l'importo del pagamento e a chi è destinato. Per essere sicuri che il messaggio venga recapitato, il messaggio include un codice PIN.
Qui puoi consultare la fonte API per l'invio di un codice PSD2, con l’elenco completo di dettagli e tutti i parametri disponibili. Nel caso più semplice, la richiesta cURL è la seguente:
curl -X POST "https://api.nexmo.com/verify/psd2/json" \
-d api_key=API_KEY -d api_secret=API_SECRET \
-d number=447700777000 -d payee="Acme, Inc" \
-d amount=12.34
Sostituisci API_KEY
e API_SECRET
nell'esempio sopra con le tue credenziali e inserisci anche il numero di telefono a cui inviare il PIN; durante i test il consiglio è di utilizzare il tuo numero di telefono, che dovrebbe essere in formato internazionale, senza il simbolo +
iniziale.
In questo caso, il PIN verrà inviato prima tramite SMS. Se l'utente non fornisce il PIN corretto entro pochi minuti, seguirà una chiamata automatica che comunicherà il PIN a voce.
Implementare entrambi le opzioni ti aiuta a raggiungere più utenti, ma puoi anche scegliere solo quella il workflow più adatto alle tue esigenze.
La richiesta restituisce un request_id
. Salvalo, poiché ti servirà nel prossimo passaggio!
Controlla il codice PIN
Quando l'utente invia il codice PIN ricevuto, è possibile confermare che sia corretto chiamando il /check
endpoint nell'API Vonage Verify.
Per ulteriori dettagli, consulta la documentazione di riferimento API per il check endpoint. Anche in questo caso sono disponibili esempi di codice, e la richiesta cURL è la seguente:
curl -X POST "https://api.nexmo.com/verify/check/json" \
-d api_key=API_KEY -d api_secret=API_SECRET \
-d request_id=abcdef0123456789abcdef0123456789 -d code=1234
Anche qui, sostituisci API_KEY
e API_SECRET
con le tue credenziali e utilizza il request_id
restituito nel passaggio precedente. Il parametro code
dovrebbe essere il codice PIN inviato all'utente.
Se l’esito è positivo, la risposta mostrerà uno status
pari a zero e puoi essere certo che l'utente ha autorizzato il pagamento.
Passaggi Successivi
In questo post, abbiamo spiegato cosa comporta la Secure Customer Authentication del cliente e abbiamo visto come è possibile implementarla nelle tue applicazioni. Ecco alcune risorse che potresti trovare utili per i passaggi successivi:
- La sezione Verifify API del nostro Portale per Developers
- La Documentazione API per la Verify API
- I post del nostro Blog che riguardano la Verify API, dai quali potresti trarre ispirazione per il tuo prossimo progetto
- Contattaci su Twitter o sulla nostra Community Slack per qualsiasi commento, suggerimento o domanda.