Обработка PayPal IPN: необходимо? Я могу использовать другой метод?

При чтении документации Разработчика PayPal (и это - много документации) я не уверен, обязателен ли IPN, или я могу просто проигнорировать его.

Конечно, я должен реализовать некоторый другой mecanism, чтобы знать, была ли оплата корректна. Я думал, делая что-то вроде этого:

  • Создайте новую оплату (через веб-сервис) с другим кодом и в returnUrl и в cancelUrl. Это кодирует, сгенерированы случайным образом для каждой оплаты и сохранены в DB.

  • Когда пользователь закончит оплату (хорошо или KO), PayPal перенаправит свою страницу на мой сайт, и я смогу знать, является ли код правильным.

  • Если существует проблема (пользователь закрывает окно, ответ не прибывает, коды не соответствуют...), будет обработан, вручную смотря транзакции на сайте PayPal.

Вы думаете, это в порядке?

Спасибо.

1
задан sinuhepop 11 August 2010 в 15:17
поделиться

2 ответа

Нет, я думаю, это звучит ужасно.

Пользователь может пропустить этап оплаты и просто отредактировать нужный URL, а затем вставить его в адресную строку браузера. Это даст им бесплатный продукт.

Вы можете использовать API PayPal SOAP для проверки транзакции после получения URL. Вы просто не можете слепо доверять этому URL сразу после его получения.

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

Важно, чтобы вы проверили, что вам была выплачена правильная сумма. (Предполагая, что вам не все равно, что вам заплатили правильную сумму.)

В целом, когда вы взаимодействуете с PayPal, какой бы метод вы ни использовали, важно, чтобы вы понимали безопасность программного обеспечения и моделирование угроз. В противном случае существует лишь небольшая вероятность того, что вы будете защищены от мошенничества.

1
ответ дан 2 September 2019 в 22:15
поделиться

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

Например, если эти два ключа когда-либо будут доступны в необработанном формате на стороне клиента в любой момент, у вас будет легко взламываемая система. Просто перейдите на страницу оплаты Paypal, затем введите обратный адрес в браузере без фактической оплаты, и ваша система будет считать это действительной транзакцией, если вы вручную не проверите ее перед отправкой товара (для egoods это будет слишком поздно).

Или хакер может угадать клавишу возврата. Он должен быть длинным и сильно рандомизированным, если это инкрементный ключ, то вы снова получите суперлегко взламываемую систему.

Для проверки платежа IPN очень важен. Не используйте короткие пути, делайте все правильно, когда речь идет о деньгах.

1
ответ дан 2 September 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: