Magento, PayPal Pro, IPN: problema ricezione notifiche

Sebbene non sia molto chiaro il motivo, sembra che in alcuni contesti – compresa l’infrastruttura server – PayPal non sia in grado di comunicare le notifiche IPN.

Il problema

Le Instant Payment Notification (o IPN) di PayPal sono comunicazioni server-to-server che trasportano le informazioni della transazione appena conclusa a partire da un sito e-commerce. Tali informazioni permettono di sapere in maniera inequivocabile se tutto è andato a buon fine. In un e-commerce, questo è fondamentale per poter passare agli step successivi alla vendita.

Va da se che se non è possibile ricevere questa comunicazione, il meccanismo si inceppa.

Con l’ausilio del tool di debug di PayPal ho potuto appurare che le comunicazioni spesso generano l’errore HTTP 503. A partire da questo ho potuto fare le mie ricerche ed ho scoperto che, per cause che ignoro, semplicemente Magento non è in grado di risolvere l’indirizzo standard http://[url-magento]/paypal/ipn/. Fatto ancora più curioso, questo comportamento potrebbe verificarsi ad intermittenza.

Qual è la soluzione?

Creare fisicamente l’indirizzo /paypal/ipn/ in modo da renderlo disponibile anche se, per qualche motivo, il sistema di routing di Magento faccia cilecca.

Come implementare

Devi creare, nella root del tuo Magento E-commerce, una cartella chiamata “paypal” e all’interno creare una sotto cartella chiamata “ipn“. All’interno della cartella “ipn“, crea un file “index.php” ed inserisci il seguente codice:

Carica il tutto online ed il sistema inizierà a funzionare. In pratica questo codice evoca esattamente le stesse procedure che sarebbero state evocate se il routing di Magento avesse funzionato.

Add a Comment