【问题标题】:How do I pass session variables to paypal with buy now button如何使用“立即购买”按钮将会话变量传递给贝宝
【发布时间】:2011-05-04 17:55:06
【问题描述】:

当我的用户使用保存在会话变量中的用户名和用户 ID 登录时,他们可以使用贝宝捐款。使用简单的“立即购买”按钮,您可以在贝宝上轻松生成。

<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>

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

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

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

到我的按钮代码?这是有关可用变量的更多信息paypal info

【问题讨论】:

  • 如果我想问一下,您是如何在确认付款页面上从贝宝获取会话信息的?我试过 $_SESSION['student_id'];在页面顶部,但这不起作用..我应该像 $student_id = $_POST['custom'];其他物品要寄回吗?

标签: forms post paypal paypal-ipn


【解决方案1】:

我发现文档令人困惑,但经过大量网页浏览后,我发现自定义变量不允许您创建自己的隐藏字段,但有 3 个变量可能有用:

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

“item_number”见描述。传递变量让您跟踪购买的产品或服务或所做的贡献。您指定的值将在付款完成后传回给您。如果您希望 PayPal 跟踪按钮销售的商品的库存或损益,则需要此变量。

"invoice" 可选的传递变量,您可以使用它来识别您的此次购买的发票编号。 默认 - 没有变量传回给您。 127 个字符。

因此,如果您在允许立即购买按钮触发之前保存数据(我通过显示所做选择并将其保存到数据库的摘要屏幕来做到这一点),那么您可以输入一个值(例如保存的数据)作为自定义值。

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

来自

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

【讨论】:

    【解决方案2】:

    是的,您可以像这样添加,这是正确的方法,当paypal ping 您回到IPNHandler 时,您将在查询字符串中获得此custom 隐藏字段的值。

    【讨论】:

    • ...而且,令人困惑的是,接受的答案是错误的答案。
    • 这个答案部分正确,custom 隐藏字段仅适用于“添加到购物车”按钮,不适用于“立即购买”按钮
    猜你喜欢
    • 2020-10-28
    • 2012-04-07
    • 1970-01-01
    • 2016-06-21
    • 2013-03-25
    • 2017-08-15
    • 2011-07-17
    • 2017-12-21
    • 2013-07-20
    相关资源
    最近更新 更多