Domanda

documentazione per gli sviluppatori di lettura PayPal (e questo è un sacco di documentazione) Non sono sicuro se IPN è obbligatorio o posso semplicemente ignorarlo.

Naturalmente, devo implementare qualche altro Meccanismo al fine di sapere se il pagamento è stato corretto. Ho pensato di fare qualcosa di simile a questa:

  • Creare un nuovo pagamento (tramite il servizio web) con un codice diverso sia ReturnURL e CancelURL. Questi codici sono generati in modo casuale per ogni pagamento e memorizzati nel DB.

  • Quando l'utente termina il versamento (OK o KO), PayPal reindirizzare la relativa pagina al mio sito e sarò in grado di sapere se il codice è corretto.

  • Se si verifica un problema (utente finestra si chiude, la risposta non arriva, i codici non corrispondono ...) saranno trattati manualmente guardando le transazioni sul sito PayPal.

Pensi che questo ok?

Grazie.

È stato utile?

Soluzione

No, penso che suoni terribile.

L'utente potrebbe saltare la fase di pagamento e semplicemente modificare insieme l'URL desiderato, quindi incollarlo nella barra degli indirizzi del browser. Che avrebbe dato loro prodotto gratuito.

È possibile utilizzare le API SOAP PayPal per verificare la transazione una volta che si riceve l'URL. È semplicemente non può fidare che URL ciecamente il secondo si riceve.

È necessario fare attenzione a non consentire agli utenti di inviare l'URL di pagamento di terze persone, e ricevere il prodotto due volte per tale pagamento. (Una volta al reale beneficiario, una volta per truffatore ...)

E 'importante verificare che sono stati pagati l'importo corretto. (Supponendo che si cura che sono stati pagati l'importo corretto.)

In generale, quando si interfaccia con PayPal, indipendentemente dal metodo utilizzato, è importante comprendere la sicurezza del software e la modellazione delle minacce. In caso contrario, non v'è in realtà solo una piccola probabilità sarete al sicuro da frodi.

Altri suggerimenti

Paypal hanno progettato il loro sistema per essere il più logico fissare come pensano che può. Non vorrei iniziare ridisegnare un sistema che hanno trascorso un lungo periodo di sviluppo e di pensare. Il tuo solo ignorando così tante caratteristiche di sicurezza che ci sono per il vostro beneficio.

Per uno, se quei due chiavi sono mai accessbile in lato client formato raw in qualsiasi momento, si ha un sistema facilmente hackable. È sufficiente fare clic attraverso la pagina di pagamento a Paypal, quindi digitare l'indirizzo di ritorno nel proprio browser, senza in realtà pagare, il sistema sta andando a trattarla come una transazione valida a meno che non si cerca manualmente voi stessi prima della spedizione dei prodotti (per egoods sarebbe troppo tardi però).

In alternativa l'hacker può indovinare il tasto invio. Sta andando ad avere per essere lungo, e altamente randomizzati, se si tratta di una chiave di incremento si ha ancora un sistema di super-facilmente hackable.

Per la verifica di un pagamento IPN è essenziale. Non prendere scorciatoie, farlo bene quando non c'è denaro in gioco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top