2012-07-03 3 views
2

Есть ли значение, определенное с помощью Paypal для «CMD» параметра (который используется для проверки ответа IPN, посылая CMD = _notify-проверки вместе с полученными значениями) просто для отмены платежа? Что-то вроде cmd = _notify-ignore?Отмена оплаты PayPal через IPN «Cmd»

Причина мне нужно это, я поддерживаю конфигурационный файл (я работаю с PHP), и я могу установить «Allow_Payments» значение для «Да» или «Нет». Таким образом, включение и отключение платежей в Paypal время от времени является своего рода беспорядочным решением. Другая проблема заключается в том, что мои кнопки «Купить сейчас» размещены на разных сайтах, но все они используют один и тот же прослушиватель IPN. Вот почему я ищу решение, которое я могу использовать внутри прослушивателя IPN. Вот почему я подумал, что параметр «cmd» будет полезен в этом сценарии.

Заранее спасибо.

ответ

3

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

PayPal IPN - это просто слушатель или обработчик. Ваш IPN будет запущен после успешная оплата состоялась.

Я думаю, было бы неправильно реализовать команду отмены, запущенную из вашего IPN, так как это отменит платеж после его получения - и раздражает пользователя, который только что сделал этот платеж.

Лучшей альтернативой является использование всей страницы обработки переходов до платежной страницы PayPal. Все кнопки «Купить сейчас» будут направлены на этот документ, размещенный в том же домене, что и ваш IPN (создание стиля оформления заказа). Данные оплаты должны быть подтверждены для предотвращения мошенничества (например, сумма платежа & business_email), тогда будет отмечен флаг «Allow_Payments». Если платежи разрешены и у нас есть действительные платежные данные, переходите к оплате PayPal. Таким образом, ваши пользователи будут остановлены до того, как они сделают платеж, и нет никаких хлопот для отмены или возврата средств.

+0

Спасибо за ответ. Да, я думаю, ваше предложение более уместно, чем мое. Но только для знания, есть ли способ, который я могу сообщить Paypal через ** cmd ** параметр, который я хочу отменить платеж? – Niranga

+1

Я считаю, что вы можете возместить платежи через API. Вот документация, представленная PayPal: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_RefundTransaction использование Пример: https: //cms.paypal. com/cms_content/US/en_US/files/developer/nvp_RefundTransaction_php.txt –

+0

Спасибо большое @Mike – Niranga

3

Для вашего сервера (магазина), чтобы сообщить PayPal о количестве и цене приобретенных продуктов, ваш сервер обычно отправляет HTTP-перенаправление в браузер клиента. Это заставляет браузер клиента перенаправляться на PayPal, где происходит оплата.

Уязвимость в этом перенаправлении. Если покупатель имеет контроль над своим браузером, он может перехватить это перенаправление и установить цену продукта (ов) на 0 $.

Единственная возможность, которую вы действительно должны точно проверить, что этого не произошло, находится на стадии IPN. Если вы обнаружите, что произошло что-то неожиданное с ценой/количеством, вам придется отменить транзакцию в этот момент (почтовый платеж).

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