Viale Europa, 43. Lignano Sabbiadoro (UD)
Viale Europa, 43. Lignano Sabbiadoro (UD)
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.
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
Una volta creato il nostro metodo sul server di backend possiamo richiamarlo dalla nostra app e ottenere il ClientSecret che ci servirà più tardi
Ottenuto il ClientSecret, possiamo procedere alla conferma del PaymentIntent, fornendo anche i dati della carta di credito e del cliente:
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.