11 messaggi dal 22 settembre 2017
Ci aggiorniamo nei prossimi giorni allora, intanto grazie mille.
391 messaggi dal 13 novembre 2009
Ciao,
allora la logica è questa: sul tuo sito movimenti il carrello. Quando fai il checkout l'utente decide se pagare con carta/bonifico/google/pay ecc.
Per poter chiamare il checkout di stripe passando il tuo carrello, è necessario implementare
Sessione di Stripe con tutto il carrello creato dal tuo frontend. Stripe ritorna un idsessione
Con quello chiami una maschera modale se vuoi o apri un nuovo tab o fai una redirect a stripe passando il sessionid
Nella maschera di pagamento generata automaticamente da Stripe sarà presente il tuo carrello dettagliato e le forme di pagamento previste incluse Google Pay o ApplePay se l'utente ha collegato il proprio dispositivo a queste modalità.

Quindi devi passare il tuo carrello al backend ed interfacciarti a Stripe. Se usi ASP non è possibile. L'alternativa è chiamare una webapi 2.0, lasciamo stare Core, a cui passare il carrello serializzato.

Intanto mi fermo qui.
Io posso fornirti la webapi 2.0 con Stripe ma farla funzionare ci pensi tu?
Sei in grado di serializzare in Json i dati sulla maschera carrello?
Sai approntare due maschere (sucess/fail) come redirect dal pannello di Stripe?

Flavio
11 messaggi dal 22 settembre 2017
Dovrei riuscire a far funzionare le webapi e credo che dovrei riuscire anche a lavorare con json.

Se le maschere sono le classiche pagine di redirect da configurare, nessun problema.
391 messaggi dal 13 novembre 2009
La roba come te la giro? Metto su un repository git
Modificato da flaviovb il 09 luglio 2021 07:11 -
11 messaggi dal 22 settembre 2017
Si, ho se preferisci mrc.cossu [@] libero. it
391 messaggi dal 13 novembre 2009
https://github.com/marsiliflavio/stripe

Allora qui trovi 2 controller.
In Visual Studio crea un awebapi 2.0 aspnet e inserisci nella folder controllers questi due.
-Checkout a cui passi un DTO del carrello debitamente compilato con al meno nome prodotto e prezzo in euro. Stripe gestisce il dato in CENT quindi vedrai che è x 100 nel controller
SuccessUrl = "https://redirect_uri/stato/1",
CancelUrl = "https://redirect_uri/stato/0",
sono i pagine a cui fare la redirect in caso di successo/fallimento transazione. Sono pagine che crei tu anche in asp tanto sono statiche e mettici il messaggio che vuoi
WebHook serve ad intercessare l'evento Session_success di Stripe debitamente censito nel pannello di controllo.
i Parametri Stripe-Signature e wh_session_successed servono a parsare la sessione che Stripe ti manda in POST contenente tutti i dati della transazione, il carrello ed i metadata (valori accessori) utilizzati ed implementati nel controller Checkout.
I Metadata sono opzionali, magari dentro ci metti riforimenti a chiavi database o altro per tua comodità se ti servono per aggiornare record ecc...
Quindi la logica è di serializzare il JSON il carrello e passarlo alla webapi/checkout che creerà una sessione su Stripe ritornandoti il sessionid che dovrai utilizzare per chiamare la pagina Stripe/Index.cshtml a cui passi il sessionId. Trovi la pagina in WebApi-Views.
Questa maschera non fa altro che chiamare stripe e la sessione creata.

Il giro dunque è:
configurare in Stripe evento session_success e mappare la relativa chiave, configurare i webhook legandoli al tuo WebApi-WebHook
serializzare in JSON il tuo carrello e passarlo a CheckoutController che crea una sessione in Stripe e ti restituisce un sessionId
Aprire dalla tua maschera carrello che ottiene il sessionId in risposta la form WebApi-Views/Stripe che ti reindirizza direttamente ad un form autogenerato di Stripe con tutto il carrello e la possibilità di pagare. Se l'utente utilizza un dispositivo in cui ha mappato googlepay o applepay appaiono i pulsanti in automatico. In pratica così non scrivi una riga di codice per stripe.

Devi importare nella WebApi https://www.nuget.org/packages/Stripe.net/

F.
Modificato da flaviovb il 15 luglio 2021 13:58 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.