Получение ответа IPN Paypal несколько раз


Я использую IPN платежного шлюза PayPal в своей заявке на оплату.

Когда оплата произведена успешно, я правильно получаю ответ IPN.

После получения я отправляю его обратно для проверки.

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

Теперь я получаю один и тот же ответ IPN несколько раз (ровно около 9 раз). Я отправляю ответ IPN для изменения в следующем формате:

    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

В чем причина многократного получения одного и того же ответа?

Как я был после этого нам нужно отправить 200 OK в paypal для ответа IPN, если Paypal не получит 200 OK, он повторит попытку снова... Это одно и то же?

Author: Voitcus, 2013-06-05

3 answers

Здесь я испытал одну вещь. предположим, что мое исходное имя хоста abc.com и я создал один тестовый экземпляр для этого. теперь мое новое имя хоста будет testing.abc.com . когда я выполнял транзакцию из своего тестового экземпляра, выше возникла проблема (получение ответа IPN несколько раз). Я правильно обработал ответ (т.е. проверил, является ли этот ответ дубликатом или новым ответом). Теперь мое приложение перемещено в производственную среду, и мое имя хоста abc.com и все работает отлично!! (получение ответа IPN только один раз). Я думаю, что paypal не смог получить статус успешного выполнения от моего тестового экземпляра из-за того, что он пытался отправить один и тот же ответ несколько раз.

 3
Author: Ganesh Patil, 2014-01-27 05:28:22

Если вы проверите историю своих IP-адресов в своей учетной записи PayPal, отображается ли в ней код статуса 200, отправленный обратно? Как правило, это обычная причина для многократного просмотра IPN.

 2
Author: PP_MTS_Chad, 2013-06-11 14:28:32

Только что проверил мой рабочий обработчик IPN, и я добавляю "&cmd=_notify-проверить" в конец запроса, а не помещаю его в начало

 0
Author: Omiron, 2013-06-11 15:20:31