Paypal IPN - это развертывание Paypal для такого рода требований.
IPN (мгновенное уведомление о платеже) позволяет делегировать URL-адрес конечной точки, на который платежный шлюз будет отправлять постданные после успешного завершения платежа.
В большинстве случаев это требует использования какой-либо базы данных для сохранения состояния регистрации, в то время как пользователь перенаправляется в Paypal для процесса оплаты, используя его SSL-шифрование и логику оплаты. Когда процесс завершен, ваше приложение уведомляется с данными публикации, содержащими уникальный идентификатор, сгенерированный вашим приложением и переданный с первоначальным перенаправлением, чтобы идентифицировать сеанс пользователя, который завершил платеж.
Вы захотите сгенерировать уникальный идентификатор либо с помощью функции PHP uniqueid()
, либо путем хеширования метки времени. Это будет передано PayPal в вашем перенаправлении, и PayPal отправит его вместе с флагами успеха / неудачи, когда платеж будет обработан. Когда пользователь заполняет свою форму и перенаправляется в Paypal, сохраните логическое значение IsPaid в своей базе данных, связанное с его идентификатором (я бы рекомендовал использовать как первичный ключ, так и этот уникальный идентификатор транзакции, упомянутый ранее.) Ваш сценарий IPN затем можно прослушать данные сообщения, разобрать их и изменить значение логического значения IsPaid для этого идентификатора на true.
Существует множество хороших учебных пособий. Я использовал это только при развертывании MVC, так что если вы делаете процедурные, поиск в Google поможет вам. Документация Paypal содержит самые современные руководства по параметрам, но есть и другие замечательные, хотя и устаревшие, учебные пособия, доступные независимо от них.
http://www.web -development-blog.com / архивы / простые платежи, использующих-PayPal-IPN /
http://net.tutsplus.com/tutorials/php/using-paypals-instant-payment-notification-with-php/