Paypal - возврат страницы URL и переменных - PullRequest
12 голосов
/ 28 января 2012

Могу ли я получить переменные поста PayPal в ответ URL?Я хочу показать ответное сообщение на странице обратного URL-адреса в зависимости от того, была ли транзакция пользователя завершена / ожидала / не удалась.Я тестирую учетную запись PayPal.

Вот мой код,

<input type="hidden" name="item_name" value="Credit Purchase">    
<input type="hidden" name="business" value="<?php echo paypal_business_id;?>">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="currency_code" id="currency_code" value="GBP">
<input type="hidden" name="custom" id="custom" value="<?php echo $user."@@@".$num_purchase;?>">  
<input type="hidden" name="return" value="<?php echo base_url(); ?>buy/success">
<input type="hidden" name="cancel_return" value="<?php echo base_url(); ?>"> 
 <input type="hidden" name="notify_url" value="<?php echo base_url(); ?>buy/notify

Ответы [ 3 ]

14 голосов
/ 28 января 2012

Можно добавить переменную return, идентификатор заказа, затем вы получите свой идентификатор заказа, когда пользователь вернется, и из идентификатора заказа вы покажете ему информацию.

Например,

<input type="hidden" name="return" value="myReturnUrl.php?OrderID=88273882717A72734">
4 голосов
/ 29 января 2012

Подождите, пока придет уведомление IPN, и посмотрите на значение payment_status.
Поскольку транзакции автоматически проверяются на мошенничество и могут финансироваться банковскими счетами, возврат на ваш обратный URL-адрес не всегда означает успешную транзакцию.

Список ожидаемых переменных IPN см. В Переменные PayNal IPN и PDT
Вы захотите взглянуть (как минимум) на следующие значения:

  • payment_status
  • mc_gross и / или payment_gross (payment_gross используется, если транзакция в долларах США, mc_gross, если это любая другая валюта)
  • payment_type
  • pending_reason
0 голосов
/ 10 апреля 2013

Подобные проблемы существуют в FF, если вы ждете 10 с. Мое решение - изменить URL-адрес возврата на «xxx.com?orderId=xxx». Тогда вы судите, если это POST или GET. и выберите информацию о вашем заказе по orderId Вам не нужно беспокоиться о статусе оплаты. потому что он всегда должен быть успешным, если он возвращается в ваш магазин, а не "cancel_return"

...