我正在建立一个通过IPN与PayPal通信的购物车。我正在使用Miccah Carrick的IPN和PHP以及WordPress Simple Paypal购物车。几个星期后,我修改了购物车以满足我的需求,但我在实施最后一次欺诈检查时遇到了问题。第三次欺诈检查是为了确保支付的金额等于购买金额。我的商店包含许多商品,所以不可能像Miccah Carrick在他的例子中那样使用一组数字。我认为答案是使用PHP会话变量,但没有任何运气。在购物车内:
$_SESSION['cart_total'] = $total+$postage_cost;
随后我尝试将mc_gross变量(即PayPal返回的付款金额)与ipn文件中的$ _SESSION ['cart_total']变量进行比较。不幸的是,这并没有成功。为了进行错误检查,我将会话变量的值输出到ipn错误日志,看起来会话变量没有被设置或者至少没有因为离开页面而完成PayPal结账而被转移。我试图输出第二个会话变量,我知道它已正确设置并在我的各种菜单中使用,并且它在ipn文件中也没有值。
有人对如何完成此欺诈检查有任何建议吗?
答案 0 :(得分:0)
IPN侦听器无法访问用户的$_SESSION
变量。会话在用户和您的网站之间,并且不会传递给PayPal。您可以传递给paypal的唯一变量是“自定义”变量。您可以在其中放置一些信息(订购的项目,总计等),并且“自定义”变量将传递给您的IPN侦听器,您可以对此进行验证。