Я кодирую скрипт, который должен сначала проверить, был ли произведен платеж, а затем перейти в регистрационную форму. Теперь, после того как я интегрировал платежный шлюз, я не уверен, что является лучшим решение для посетителя перейти к регистрации в качестве случая безопасности? используя СЕССИИ? поэтому после того, как платеж был успешно выполнен, запустите сеанс, который будет проверен в signup.php? Спасибо ..Зарегистрируйся после того, как платеж был произведен в php
ответ
Для платежей в PayPal вы можете использовать систему Paypal IPN (мгновенное уведомление о получении платежа), которая сигнализирует ваш сайт, как только успешная обработка транзакции была обработана.
В принципе, существует определенная страница на стороне сервера (т.е. PHP или asp.net), которая получает сообщение IPN PayPal, а затем может обновлять базу данных или устанавливать переменную сеанса или напрямую обслуживать файлы или что у вас есть ,
Посмотреть эти сообщения для того, как это работает:
http://net.tutsplus.com/tutorials/php/using-paypals-instant-payment-notification-with-php/
http://www.evoluted.net/thinktank/web-development/paypal-php-integration
http://www.mattwillo.co.uk/blog/2010-04-13/integrating-paypal-with-php-and-ipn/
Когда вы получили подтверждение от PayPal (через СПИ), что платеж прошел, вы можете сделать что-то вроде этого:
В информации, посылаемой в PayPal, включают в себя данные для идентификации клиента в базе данных. Обычно я создаю зашифрованный
item_number
, который включает эту информацию. Другая идея - иметь таблицу в вашей базе данных, называемую IPN_CODES. Каждый раз, когда вы отправляете клиента на paypal, вы можете ввести кучу информации в эту таблицу (cust_id, имя, фамилия, дата и т. Д.). Как и во всех таблицах базы данных, каждая запись будет иметь уникальный идентификатор. Получите этот уникальный идентификатор и используйте его какitem_number
, который вы отправляете на paypal.Когда paypal отправит свое сообщение IPN, вы также получите поле
item_number
, чтобы вы могли его дешифровать (или просмотреть информацию в таблице IPN_CODES) и проанализировать customer_id. Теперь вы можете обновить запись этого клиента в своей базе данных и пометить их как оплаченные. (Возможно, у вас есть логическое или INT поле называетсяis_paid
)Когда страница IPN была закончена, она может закончиться перенаправляя пользователя на новую страницу (с помощью
POST
илиGET
строку, например http://yourdomain.com/signup.php?1273491341230346492329 - где долго число закодированное представление их user_id в вашей базе данных.)
в начале страницы signup.php, вы можете попросить их адрес электронной почты, или использовать строку GET, чтобы проверить вашу базу данных, чтобы подтвердить, что этот пользователь имеет is_paid == 1
комплект.
Что-то в этом роде.
Если вам нужны примеры/учебники по такого рода вещи, я могу направить Вам:
Спасибо, как насчет авторизации? – user2984482
@ user2984482 См. Новую информацию, добавленную в мой ответ выше. – gibberish
Как ваши пользователи делать онлайн-платежей? Через paypal или какие-то другие шлюзы? – gibberish
Вы можете найти более подробную информацию @ http://stackoverflow.com/questions/1424947/authorize-net-payment-integration – Kishore