Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP贝宝结账_Php_Session_Paypal - Fatal编程技术网

PHP贝宝结账

PHP贝宝结账,php,session,paypal,Php,Session,Paypal,我正在尝试为客户网站开发一个结账系统,我想知道最好的方法。请让我知道我在下面尝试过的任何替代方案 目前我有: 1) 购物车中的项目保存到$\u会话变量 2) 当用户按下“签出”按钮时,他们会被带到一个带有不可见表单的页面,该表单会将保存在$\u会话中的信息发布到 3) 确认付款后,他们会被重定向到网站上的confirm.php,该网站会向客户端和商店发送一封电子邮件,其中包含来自购物车的信息(存储在$u会话中)和从paypal传回的地址数据(因为我无法在第一篇文章中将购物车中的所有属性信息传递给

我正在尝试为客户网站开发一个结账系统,我想知道最好的方法。请让我知道我在下面尝试过的任何替代方案

目前我有:

1) 购物车中的项目保存到$\u会话变量

2) 当用户按下“签出”按钮时,他们会被带到一个带有不可见表单的页面,该表单会将保存在$\u会话中的信息发布到

3) 确认付款后,他们会被重定向到网站上的confirm.php,该网站会向客户端和商店发送一封电子邮件,其中包含来自购物车的信息(存储在$u会话中)和从paypal传回的地址数据(因为我无法在第一篇文章中将购物车中的所有属性信息传递给paypal)


我的解决方案的问题是,它似乎不适用于移动safari、iPad、iPhone或旧系统。因此,我正在寻找一种替代方法,或者寻找一种保持数据持久性的方法,因为当从这些设备之一执行时,最后发送的电子邮件不包含任何数据。

使用数据库,您可以在调用PayPal支付之前将整个购物车存储为临时或不完整,然后通过confirm.php获取所有信息,修改购物车的状态等

此外,在您的贝宝帐户中,您可以在每次付款时激活自动IPN

IPN是在您的站点上运行并调用paypal的侦听器。你可以在网上找到很多这样的例子

这样做的想法是,您可以在PayPal表单上传递所有需要的字段,PayPal将使用IPN调用将其发送回

在PayPal表单中,您可以添加自定义隐藏输入:

<input type="hidden" name="cart_id" value="<?php echo $id ?>">