Paypal PDT и IPN Вопрос: Можем ли мы предположить, что оплата будет завершена по возвращении на сайт?

StackOverflow https://stackoverflow.com/questions/3483996

  •  28-09-2019
  •  | 
  •  

Вопрос

Можем ли мы предположить, что оплата транзакции завершена, когда клиент автоматически возвращается на наш сайт?

Paypal советует нам использовать их систему IPN для других типов платежей, например электронных чеков, но также просит нас сказать клиенту что-то вроде «Спасибо за ваш платеж.Ваша транзакция завершена, и квитанция о покупке отправлена ​​вам по электронной почте.Вы можете войти в свою учетную запись на странице www.paypal.com/ca, чтобы просмотреть детали этой транзакции».

Каковы недостатки отказа от использования IPN и простого предположения о том, что платеж завершен, когда PayPal автоматически возвращает пользователей на наш сайт?

Спасибо!

Это было полезно?

Решение

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

Об этом есть довольно подробная статья здесь

Другие советы

Нет.

Однако использование опции автоматического возврата в вашей учетной записи Paypal в сочетании с передачей платежных данных (Профиль/Мои инструменты продаж/Настройки веб-сайта/Платежные настройки веб-сайта) предоставит вам данные подтверждения платежа в URL-адресе, который вы используете для автоматического возврата, например:

www.yourReturnURL.com?tx=9XV61416UY0043254&st=Completed&amt=9%2e00&cc=USD&cm= 9601&item_number=2

Вам необходимо проверить эти данные (любой может отправить поддельный запрос), отправив ссылку на платеж (параметр «tx» выше) обратно в Paypal и дождавшись ПРОВЕРЕННОГО ответа.

Этот последний шаг идентичен тому, который вы выполняете для реализации IPN (мгновенного уведомления о платеже).

  • С PDT вы получите уведомление мгновенно.У PDT есть серьезный недостаток:он отправляет подтверждения заказа один и только один раз.В результате, когда PDT отправляет подтверждение, ваш сайт должен быть запущен;в противном случае он никогда не получит сообщение.

  • С IPN, напротив, доставка подтверждений заказов практически гарантирована, поскольку IPN повторно отправляет подтверждение до тех пор, пока ваш сайт не подтвердит получение.По этой причине PayPal рекомендует использовать IPN, а не PDT.

  • Примечание:Если ваш сайт должен быть немедленно уведомлен о платежах, вы можете реализовать оба ИПН и PDT.

Дополнительная информация здесь: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNPDTAnAlternativetoIPN/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top