Проверка платежа PHP PayPal - PullRequest
0 голосов
/ 04 марта 2011

Я разрабатываю сайт для клиента, и он хочет, чтобы люди могли покупать лицензии / договоры на поддержку через PayPal. На что я нахожусь в тупике, так это как я могу сделать платежи безопасными. Моя текущая идея состоит в том, чтобы сгенерировать случайную строку с использованием MD5 или чего-либо еще, подключить ее к базе данных и отправить вместе с остальным кодом кнопки PayPal. Когда платеж завершен, пользователь перенаправляется на страницу PHP, где есть код для обновления его информации в базе данных. Единственное, что мешает хакеру выдать себе лицензию / что угодно, не платя, - это случайный хеш, который можно узнать с помощью некоторого перехватчика и подключить к данным POST, возвращаемым кодом PayPal.

Итак. У меня такой вопрос: как мне выполнить собственный код PHP только при успешном платеже PayPal, не оставляя открытых лазеек для более злых пользователей сетей?

Ответы [ 2 ]

1 голос
/ 04 марта 2011

Я думаю, вы должны использовать Платежный шлюз , такой как PayFlow

0 голосов
/ 10 июля 2012

если вы находитесь на веб-сайте, готовом заплатить, возможно, там уже есть сеанс с вашим пользователем, вошедшим в систему?

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

1) проверьте сессию, вошел ли пользователь в систему? следует войти в систему, если вы только что посетили PayPal несколько минут назад.

2) содержит ли сеанс ваш sale_id?

3) если нет, вывести пользователя на домашнюю страницу, не забудьте в шапку («Местоположение ...»); умирают ( "мертвые"). часть die () важна

4) если да, проверьте, что sale_id был оплачен, URL-адрес уведомления должен был перехватить данные платежа POSTED, если они действительны, разрешить им обновить данные

5) если да, но недействительно, разрешите им погашать другим способом, это означает, что они перенаправят их на другую страницу, чтобы попытаться снова заплатить, но не дают им доступ к странице «изменить данные», только То, как вы туда доберетесь, заключается в строгой проверке платежа.

как это работает для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...