Attualmente il mio sito accetta pagamenti tramite PayPal. Io uso lo PHP SDK per l'API REST per gestirlo. Questa è la procedura che prendo per gestire i pagamenti attraverso il mio sito:PayPal Pay API pagamenti diretti
- Create a payment con il set intento di "Sale", metodo di pagamento impostato su "paypal" e l'URL di reindirizzamento impostato alla pagina di conferma.
- Nella pagina di conferma immagazzino il ritorno IDPagamento e PayerID (dalla stringa di query) da utilizzare nel passaggio 3.
- Una volta che l'utente conferma l'ordine che poi execute the payment passando l'IDPagamento e PayerID memorizzato nel passaggio 2.
Questo funziona a meraviglia. Tuttavia, vorrei dare all'utente la possibilità di elaborare il pagamento tramite PayPal (come sopra) o tramite il mio sito (utilizzando i pagamenti diretti PayPal).
Per i pagamenti diretti ho potuto creare correttamente il pagamento impostando l'intento su "Vendita", metodo di pagamento su "credit_card" e passando i dettagli della carta appropriata. Tuttavia non sono sicuro di aver bisogno di eseguire il pagamento in seguito, come faccio sopra o se il pagamento passa automaticamente.
Se devo eseguire il pagamento, come ottengo il pagamento Id e PayerID? Se non ho bisogno di eseguire il pagamento, questo presenta un problema poiché vorrei che l'utente confermasse il pagamento. Potrei spostare il materiale di pagamento creato per eseguirlo solo dopo che l'utente ha confermato l'ordine per i pagamenti diretti, ma non posso convalidare i dettagli della carta dopo che l'utente li ha inseriti. Mi stavo chiedendo se ci fosse un modo migliore per gestire questo?
Apprezzerei se qualcuno potesse contribuire a chiarire questo. Grazie
Grazie per chiarire la mia confusione con i pagamenti con carta. Ma pensavo che autorizzare e catturare sarebbe stato per rinviare i pagamenti fino a quando non sei pronto per la spedizione. Penso che sarebbe probabilmente meglio usare il primo metodo e verificare i dettagli della carta (non usando PayPal) e quindi memorizzare le informazioni nella sessione dell'utente. Potrei quindi inviare una richiesta di pagamento standard (intento a "Vendita" e metodo di pagamento a "credit_card"). – nfplee
D'accordo, è quello che farei personalmente. Auth/capture può essere usato per il metodo sopra, ma in realtà non è pensato per questo. –