1

注意:我们的网站是用 PHP 构建的,并使用 MySQL 数据库。我已经使用 Authorize.net 管理了另一个带有购物车的网站,所以请不要回复使用其他提供商的建议。我们发布的新产品/服务被商家提供商归类为“高风险”,他们想向我们收取 a**。作为回应,我认为在 Paypal.com 上设置网站支付标准账户是最好的选择,原因如下:

1) 没有月费,只支付使用的费用

2) 信任品牌,人们对 Paypal 感到满意

费率比我们习惯的要高很多,但任何高风险商家帐户都无关紧要。我遇到的问题是:

1) 在我们网站的整个注册过程中,我们收集了相当多的用户信息,并使用 SESSION 变量将其从一个页面传递到另一个页面。当您使用网站付款标准时,您被迫将消费者转移到 Paypal 拥有的网页以提交他们的付款信息。成功完成后,他们可以将他们引导回我们网站上的“确认”页面,但我的理解是没有办法保持旧的 SESSION 变量完好无损。这对我们来说非常重要,因为总体概念是仅在成功付款后才存储 SESSION 变量。

2) 使用网站支付标准,我无法找到发送支付金额变量的方法(所有内容都必须预先指定,即 T 恤是 2.99 美元)。我们的网站允许消费者登记多人并为每个人提供多个“附加组件”,因此实际上有超过 100 种最终结账金额的可能性。我不确定是否可以覆盖它。

是否有人幸运地使用了 Paypal 上的网站支付标准并确认了上述信息?

4

4 回答 4

1

1) 假设会话是基于 cookie 的,当他们返回您的站点时它应该仍然存在(只要他们没有同时关闭浏览器窗口,这是不可能的)。

如果您真的不确定,请将会话存储在与您正在生成的 order_id 关联的临时表中的数据库中。我相信这个(order_id)有可能在交易完成后被传回。阅读PDT上的文档。

2)我相信事实并非如此。从第 250 页开始查看文档页面。

于 2010-07-08T23:21:01.440 回答
1

我的答案已经晚了几个月......但我也遇到了同样的问题......在重定向到返回 url 后丢失了会话和 cookie。

对于那些将遇到同样问题的人,这是我想出的解决方案,

在您添加的贝宝表格中

<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 中,我测试了它是否适用于

echo '<pre>';
print_r($_SESSION);
echo '</pre>';

echo '<pre>';
print_r($_COOKIE);
echo '</pre>';

echo '<pre>';
print_r($_GET);
echo '</pre>';

当您在表单中不包含“自定义”参数时,它将返回一个空数组。仅两行就改变了一切,这真是太疯狂了。我以为我会重复整个购物车的逻辑,哦,男孩。

希望这对将来的某人有所帮助...干杯^^

来源:WPS HTML 变量

于 2011-01-19T02:12:06.133 回答
0

应该回答问题 2,关于问题 1,我想补充一点,您可以像往常一样简单地使用 PHP 的内置 Session 功能(无论您使用哪种存储机制,它可能是 memcached、文件(默认)、mysql数据库或其他),并将会话 ID 传递给贝宝。

当 paypal 回电给您时,您可以使用 session_id($backpassed_sessionid_from_paypal) 访问您的会话变量,它只是加载与您传递给函数的 sessionid 关联的会话数据,这可能就是您的意思。

于 2010-07-19T16:01:10.830 回答
0

1.) 我同意上述皮特的观点,因为您可能正在寻找PDT功能。听起来您最好的选择是消化发送到您的返回页面的 PDT 变量请求,然后构建您的会话变量。

2.) 您可以使用“金额”参数发送您想要的任何金额。这是有关 PayPal 的 HTML 参数的信息

于 2010-07-19T15:44:59.647 回答