• Privacy Policy
  • Cookie Policy
  • Accedi
  • it
  • en

Stripe PaymentIntent con 3D Secure in Xamarin Forms

In questo tutorial, vediamo come poter integrare Stripe nella nostra applicazione Xamarin Forms. In particolare, vedremo come usare creare un PaymentIntent e gestire il 3D Secure per la convalida del pagamento.

Creare un PaymentIntent nel Backend

La generazione del PaymentIntent può avvenire direttamente all’interno dell’App, ma per avere una maggior sicurezza del processo, è consigliato generarlo sul vostro server API di backend.

Creiamo quindi un metodo che permetta all’app di richiedere la creazione di un PaymentItent e restituiamo il ClientSecret generato da Stripe

Qui puoi trovare il codice completo e anche la versione in Python

Richiedere il ClientSecret dall’App

Una volta creato il nostro metodo sul server di backend possiamo richiamarlo dalla nostra app e ottenere il ClientSecret che ci servirà più tardi

Procedere al Pagamento

Ottenuto il ClientSecret, possiamo procedere alla conferma del PaymentIntent, fornendo anche i dati della carta di credito e del cliente:

Integrare il 3D Secure

Per permettere la conferma dei pagamenti dobbiamo informare il PaymentIntent di abilitare il 3D Secure, e siccome Stripe Elements non sono disponibili per Xamarin, dobbiamo gestire manualmente la richiesta.

Per prima cosa creiamo sul nostro server un metodo di ritorno che visualizzi una pagina html con l’esito del pagamento

Successivamente dobbiamo estendere il nostro metodo Pay sull’applicazione in modo da fornire il parametro ReturnUrl che mostri una modal con una WebView per gestire la convalida del pagamento

Ora, se la nostra carta di credito richiede la verifica 3D Secure, verrà mostrata una modal con relativa WebView dove saranno visualizzati gli step successivi per la verifica. A verifica effettuato, saremo reindirizzato nuovamente sul nostro server.

Potete trovare l’esempio completo con un server di backend in GO e Python su GitHub.