2014-02-09 98 views
0

我想开发一个客户网站的结帐系统,我想知道最好的方式来做到这一点。请让我知道下面我尝试过的任何替代方案。PHP PayPal结账

目前我有:

1)在车中的物品保存到$ _SESSION变量

2)当用户按下“结账”时,他们被带到一个网页,一个无形的形式职位信息保存在$ _SESSION中https://www.paypal.com/cgi-bin/webscr

3)当支付确认后,它们被重定向到站点上的confirm.php,触发一个电子邮件给客户端和包含来自购物车的信息的商店(存储在$ _SESSION中)和地址数据传回(因为我无法传递购物车中的所有属性信息贝宝在第一次POST)从贝宝。

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

回答

1

使用数据库可以将整个车的​​时间或不完整的存储调用支付宝付款前,然后通过confirm.php得到的所有信息,修改车的状态等在

而且你PayPal账户可以在每次付款时激活自动IPN。

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

这个想法是,你通过贝宝表单上的所有字段,贝宝将使用IPN呼叫将其发回。

在PayPal的形成,你可以添加自定义隐藏输入:

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

而在IPN监听器,你会得到cart_id = 4,这样你就可以自动知道哪个篮付款就完成了,哪个用户购物车属于,更改购物车状态和电子邮件用户。

希望这可以帮助你。

+0

非常感谢ruudy!非常好的主意。 – Jamus