Authorize.net PHP 会话变量被擦除


Authorize.net PHP Session Variables Being Erased

我的支付网关处理付款后,我在传输 PHP 会话变量时遇到问题。我的服务器上托管了一个付款页面,该页面提交到SSL页面以在另一个域(authorize.net(上处理。

然后,支付网关返回一个变量来指示支付是否成功。但是,在某些浏览器上,会话变量在域重定向后不会传递,因此我无法更新数据库中的用户信息以反映购买情况。可能是什么原因造成的?

您有两个选择:

  1. 使用Silent Post。Silent Post相当于Authorize.Net的PayPal的IPN。Silent Post将允许您"在后台"从每个事务中检索信息,以便您可以相应地更新数据库。在PHP中实现它很容易做到。 (免责声明,我写了断文章(

  2. 您可以将会话 ID 作为隐藏字段传递到付款页面,然后当用户被重定向回您的网站时,您可以通过将其作为参数传递给将重新启动会话session_id()来重新启动会话。