答案 0 :(得分:5)
Paypal IPN是针对此类要求的Paypal部署。
IPN(即时付款通知)允许您委托支付网关在付款成功完成后将发送的数据发送到终端网址。
大多数情况下,这需要利用某种数据库来保存注册状态,同时将用户转发到Paypal进行支付,并使用他们的SSL加密和支付逻辑。完成此过程后,系统会通知您的应用程序包含由您的应用生成的唯一标识符的帖子数据,并与原始重定向一起传递,以便识别已完成付款的用户会话。
您需要使用PHP uniqueid()
函数或散列时间戳来生成唯一ID。这将在您的重定向中传递给paypal,并且paypal将在处理付款时将其与成功/失败标志一起发送。当用户填写表单并重定向到Paypal时,将IsPaid的布尔值保存在与其ID相关联的数据库中(我建议同时使用主键以及前面提到的此唯一事务ID。)您的IPN脚本然后可以侦听post数据,解析出来并将该id的false IsPaid布尔值更改为true。
有很多很好的教程可供选择。我只在MVC部署中使用过这个,所以如果你正在进行程序化,谷歌搜索将有很大帮助。 Paypal的文档有最新的参数指南,但还有其他很好的教程,如果有点旧,可以独立使用。
http://www.web-development-blog.com/archives/easy-payments-using-paypal-ipn/
http://net.tutsplus.com/tutorials/php/using-paypals-instant-payment-notification-with-php/
答案 1 :(得分:1)