2013-06-05 3 views
5

Я использую paypal gateway шлюза IPN в своем заявлении на оплату.Получение Paypal IPN-ответа несколько раз

Когда платеж будет выполнен успешно, я получаю ответ 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, он снова повторит ... Это то же самое?

ответ

3

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

2

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

+1

Благодарим за отзыв. Я проверил историю IPN на бизнес-счете. в истории он показывает: статус доставки = ** не удалось ** и ** Нет. повторений ** = ** 8 ** и показывает пустой код ответа HTTP. как я мог узнать, в чем причина неудачи? –

+0

Я также отправил заголовок («Статус: 200 OK»); ответ после того, как я получаю ответ IPN. –

+0

, пожалуйста, помогите мне, я еще не получил решение –

0

Только что проверил мой рабочий обработчик IPN и я с добавлением «& CMD = _notify-Validate» до конца запроса, а не поставив его в начале

Смежные вопросы