注意:我们的网站是用PHP构建的,并使用MySQL数据库。我已经管理另一个网站与购物车在其整体使用Authorize.net,所以请不要回应建议使用另一个供应商。我们发布的新产品/服务对商家提供商来说被归类为“高风险”,他们想向我们收取a**费用。作为回应,我认为在Paypal.com上建立一个网站支付标准账户是最好的选择,原因如下:
1)不按月收费,只按使用量付费
2)信任品牌,人们习惯使用Paypal
利率比我们习惯的要高得多,但任何高风险商户都是如此,所以这是无关紧要的。我遇到的问题是:
1)在我们网站的注册过程中,我们收集了相当多的用户信息,并使用会话变量在页面之间传递这些信息。当您使用网站支付标准,您被迫通过消费者通过贝宝拥有的网页提交他们的支付信息。在成功完成后,他们能够将他们引导回我们网站上的“确认”页面,但据我所知,没有办法保持旧的会话变量的机智。这对我们来说非常重要,因为总体概念是只有在成功付款后才存储会话变量。
2)使用网站支付标准,我无法找到发送支付金额变量的方法(所有东西都必须预先口述,即T恤是2.99美元)。我们的网站允许消费者注册多个人,并为每个人有几个‘附加组件’,因此有超过100个最终结账金额的可能性。我不确定是否有可能覆盖它。
有没有人幸运地使用Paypal上的网站支付标准确认上述信息?
发布于 2010-07-09 07:21:01
1)假设会话是基于cookie的,当他们返回你的站点时,它应该仍然在那里(只要他们没有在中间时间关闭浏览器窗口,这是不太可能的)。
如果您真的不想确定,请将数据库中的会话存储在与您正在生成的order_id相关联的临时表中。我相信这个(order_id)可能会在事务完成后被回传。阅读PDT上的文档。
2)我相信事实并非如此。继续查看the docs第250页。
发布于 2011-01-19 10:12:06
我已经晚了几个月了.但在重定向到返回的url后,我也有相同的problem...losing会话和cookie。
对于那些将会遇到同样问题的人,这是我提出的解决方案,
在您添加的paypal表单中
<input type='hidden' name='return' value='".http_dir."shop/return.php'>
<input type='hidden' name='custom' value='$session_id'>其中$session_id = session_id( );
在shop/return.php .php中,我测试了它是否可以与
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
echo '<pre>';
print_r($_COOKIE);
echo '</pre>';
echo '<pre>';
print_r($_GET);
echo '</pre>';当表单中没有包含'custom‘参数时,它将返回一个空数组。仅仅两行代码就能改变一切,这太疯狂了。我想我会重复整个购物车的逻辑,哦,天哪。
希望这对将来的人有所帮助。干杯^^
发布于 2010-07-19 23:45:00
1.)我同意上面的Pete的观点,即您可能正在寻找PDT功能。听起来你最好的办法就是消化发送到返回页面的PDT变量的请求,然后构建你的会话变量。
2.)您可以使用" amount“参数发送任何您想要的金额。Here's the info on PayPal's HTML parameters
https://stackoverflow.com/questions/3208283
复制相似问题