2010-11-03 155 views
5

当我的用户使用他们的用户名和用户标识保存在会话变量中时,他们可以使用paypal捐赠。通过简单的立即购买按钮,您可以简单地在贝宝中生成。如何将会话变量传递到paypal并立即购买按钮

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="hosted_button_id" value="XXX"> 
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 

当他们付款成功时,他们被发送到我的confirm_payment.php所有的_POST数据。我可以使用他们付费的邮件,并将其与我的用户数据库进行比较以找到正确的用户,但我无法确定他们是否对贝宝和我的网站使用相同的电子邮件。

我需要将$ _SESSION ['username']传递给paypal,以便我可以使用此信息自动为我的用户提供捐助者状态。我可以添加类似:

<input type="hidden" name="custom" value="custom variable"> 

我的按钮代码?这里是avaliable paypal info

+0

如果我会问,你是如何能赶上来自PayPal会话信息的确认付款页面?我试过$ _SESSION ['student_id'];在页面顶部,但那不工作..我应该像$ student_id = $ _POST ['custom'];其他物品被退回? – ABI 2012-11-14 06:43:56

回答

0

是的,你可以添加这样的变量更多的信息,这是正确的方式,而当paypal坪你回到IPNHandler然后你会得到与查询字符串此custom隐藏字段的值一样的名字。

+0

刚刚在沙箱上试过这个,它不起作用:( – Dan 2010-11-09 22:41:18

+0

......并且令人困惑的是,接受的答案是错误的答案。 – 2014-12-10 06:15:35

+0

这个答案是部分正确的,'自定义'隐藏字段只适用于添加到购物车按钮,不在“立即购买”按钮上工作 – MarkoCen 2016-01-28 01:14:01

3

我发现的文件混乱,但很多网页浏览后,我发现,自定义变量不允许你创建你自己的隐藏字段,但有3个变量,可能是有用的:

“自定义”选项传递变量用于您自己的跟踪目的,哪些买方看不到。 默认 - 没有变量传回给您。 256个字符

“item_number”请参阅说明。传递变量用于跟踪所购买的产品或服务或所做的贡献。您完成付款后,您指定的值会传回给您。如果您希望贝宝追踪库存或追踪按钮销售的物品的利润和损失,则需要此变量。

“invoice”可选的传递变量,您可以使用此变量来确定此购买的发票号。 默认 - 没有变量传回给您。 127characters。因此,如果您在允许立即购买按钮之前保存您的数据(我通过显示所做选择并将其保存到数据库中的摘要屏幕来完成此操作),您可以将一个值(例如主键的保存数据)作为自定义值。

请注意,数据将被发布到您指定的即时付款通知页面。

https://www.x.com/developers/paypal/documentation-tools/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables#id08A6HF00TZS