Allora, parto a rispondere all'ultima domanda: si, puoi usarlo, ma perdi molta della sua efficacia!
Usare IPN richiede, fondamentalmente, 3 cose:
- la possibilità di connettersi in HTTPS ad un indirizzo specifico tramite PHP, e questo al 99.99% si può fare
- registrare le transazioni che arrivano tramite IPN per un motivo di sicurezza
- verificare che il codice della transazione non si ripeta mai più di una volta (e qui il perché della seconda cosa)
Ora, premesso che ci sono cento mila modi diversi di risolvere il problema senza database, ti sconsiglio di procedere in questo modo perché alternativamente dovresti gestire tutto su un file (o su più file per evitare operazioni contemporanee che scassino tutto)
Almeno usi le sessioni (di php)?
Se non usi quelle, devi comunque avere un sistema per conservare temporaneamente dei dati (in pratica quello che viene acquistato) da qualche parte ... in modo che questo dato non possa essere cambiato dall'esterno e possa essere usato per la verifica.
Detto questo, a quest'indirizzo
https://cms.paypal.com/cms_content/U...IPN_PHP_41.txt
c'è il codice di esempio di paypal
fondamentalmente devi fare, ne più ne meno, quello che c'è scritto qui dentro
codice:if (strcmp ($res, "VERIFIED") == 0) { // check the payment_status is Completed // check that txn_id has not been previously processed // check that receiver_email is your Primary PayPal email // check that payment_amount/payment_currency are correct // process payment }![]()