2013-06-05 15 views
5

Sto utilizzando il gateway di pagamento paypal IPN nella mia domanda di pagamento.Ricezione risposta Paypal IPN più volte

Quando il pagamento viene eseguito correttamente, ricevo correttamente la risposta IPN.

Dopo averlo ricevuto, lo sto rinviando per verifica.

$ch = curl_init(); 

$paypalUrl = PAYPAL_URL; 
curl_setopt($ch, CURLOPT_URL, $paypalUrl); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_field); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
$res = curl_exec($ch); 

Ora sto ricevendo la stessa risposta IPN più volte (esattamente circa 9 volte). Invio la risposta IPN per la variazione nel seguente formato:

cmd=_notify-validate&orderUUID=eac962fe-3a0a-4b26-be89-e5ccf54ee2cb& 
    mc_gross=15.00&settle_amount=11.58& 
    protection_eligibility=Ineligible&payer_id=LR3LZ8R978ZK8&tax=0.00 
    &payment_date=06%3A55%3A17+Jun+05%2C+2013+PDT&payment_status=Completed 
    &charset=windows1252&first_name=abc&option_selection1=&option_selection2=& 
mc_fee=0.74&exchange_rate=0.812061&notify_version=3.7 
    &settle_currency=USD&custom=&payer_status=verified&business=business%40mydomain.com 
    &quantity=1&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AlU7JAwS8--HoB6lJfimizlVxnVa&payer_email=personal%40mydomain.com&option_name1=tour&option_name2=abc+abc&txn_id=6RU07240YB682730C&payment_type=instant&last_name=abc&receiver_email=business%40mydomain.com&payment_fee=&receiver_id=LW9JSM57BYH5Q&txn_type=web_accept&item_name=ite m+name&mc_currency=AUD&item_number=&residence_country=US&test_ipn=1&handling_amount=0.00 &transaction_subject=item+reserva!tion+for+1+spaces+on+Jun+06&payment_gross=&shipping=0.00&ipn_track_id=b85bc954da9e5 

Qual è la ragione per ricevere la stessa risposta più volte?

Come stavo seguendo questo, abbiamo bisogno di inviare 200 OK a paypal per la risposta IPN, se Paypal non ottiene il 200 OK riprova di nuovo ... È lo stesso?

risposta

3

Qui ho vissuto una cosa. supponiamo che il mio nome host originale sia abc.com e su questo ho creato un'istanza di test. ora il mio nuovo nome host sarà testing.abc.com. quando stavo facendo la transazione dalla mia istanza di test sopra il problema si verifica (ricevendo risposta IPN più volte). Ho gestito la risposta correttamente (ho controllato è questa risposta duplicata o nuova risposta). Ora la mia applicazione viene spostata sull'ambiente di produzione e il mio nome host è abc.com e tutto funziona correttamente !! (ricevendo risposta IPN una sola volta). Penso che paypal non sia stato in grado di ricevere lo stato di successo dalla mia istanza di test a causa del fatto che stava cercando di inviare la stessa risposta più volte.

2

Se si controlla la cronologia IPN nel proprio account PayPal, viene visualizzato un codice di stato di 200 che viene rinviato? In genere questo è un motivo comune per vedere più volte l'IPN.

+1

Grazie per la risposta. Ho controllato la mia cronologia IPN sull'account aziendale. nella cronologia viene visualizzato: stato di consegna = ** non riuscito ** e ** no. di tentativi ** = ** 8 ** e mostrando codice di risposta HTTP vuoto. come potrei venire a sapere qual è la ragione del fallimento? –

+0

Ho anche inviato l'intestazione ("Stato: 200 OK"); risposta dopo aver ricevuto risposta IPN. –

+0

per favore aiutatemi, non ho ancora trovato la soluzione –

0

appena controllato il mio gestore IPN di lavoro e sto aggiungendo "& cmd = _notify-validate" al fine della richiesta invece di metterla in partenza

Problemi correlati