2013-06-05 11 views
5

Korzystam z bramki płatności PayPal w moim wniosku o płatność.Otrzymywanie wielokrotnie odpowiedzi Paypal IPN

Kiedy płatność zostanie zrealizowana, otrzymuję prawidłową odpowiedź IPN.

Po otrzymaniu przesyłam kopię do weryfikacji.

$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); 

Teraz otrzymuję tę samą odpowiedź IPN wiele razy (dokładnie około 9 razy). Wysyłam odpowiedź IPN dla zmiany w następującym formacie:

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 

Jaki jest powód otrzymania tej samej odpowiedzi wiele razy?

Gdy to śledziłem, musimy wysłać 200 OK, aby zapłacić za odpowiedź IPN, jeśli Paypal nie otrzyma 200 OK, to ponawia próbę ... Czy to to samo?

Odpowiedz

3

Tu przeżyłem jedno. przypuśćmy, że moja oryginalna nazwa hosta to abc.com i utworzyłem na niej jedną instancję testującą. teraz moja nowa nazwa hosta będzie testing.abc.com. kiedy robiłem transakcję z mojego wystąpienia testowego powyżej, występuje problem (odbieranie odpowiedzi IPN wiele razy). Poprawnie obsłużyłem odpowiedź (tj. Zaznaczono, że jest to duplikat odpowiedzi lub nowa odpowiedź). Teraz moja aplikacja jest przenoszona na środowisko produkcyjne, a moja nazwa hosta to abc.com i wszystko działa poprawnie !! (odbieranie odpowiedzi IPN tylko jeden raz). Myślę, że system PayPal nie mógł uzyskać statusu powodzenia z mojego instancji testowania, ponieważ próbował wielokrotnie wysyłać tę samą odpowiedź.

2

Jeśli sprawdzisz swoją historię IPN na swoim koncie PayPal, czy wyświetla kod statusu wynoszący 200, który zostanie odesłany? Zazwyczaj jest to częsty powód wielokrotnego odwiedzania IPN.

+1

Dziękuję za odpowiedź. Sprawdziłem historię mojego IPN na koncie biznesowym. w historii pokazuje: Status dostawy = ** nie powiodło się ** i ** Nie. ponownych prób ** = ** 8 ** i pokazuje pusty kod odpowiedzi HTTP. jak mogłem dowiedzieć się, co jest przyczyną niepowodzenia? –

+0

Wysłałem również nagłówek ("Status: 200 OK"); odpowiedź po otrzymaniu odpowiedzi IPN. –

+0

proszę, pomóżcie mi, nie otrzymałem jeszcze rozwiązania –

0

Właśnie sprawdziłem pracę obsługi IPN i jestem dołączając „& cmd = _notify-validate” na końcu wniosku zamiast wprowadzenie go na początku