【问题标题】:Paypal: trying to pass an amount with a Donation buttonPaypal:尝试使用捐赠按钮传递金额
【发布时间】:2013-08-02 21:14:43
【问题描述】:

我设置了一个捐赠按钮,供用户输入捐赠金额。我正在尝试使用按钮发送金额。我可以在按钮设置的添加高级变量中输入 amount=1.00 - 效果很好。但是,我没有成功将金额作为 URL 的一部分发送。我在 PayPal 按钮表单中添加了以下行:

<input type="hidden" name="amount" value="9.99" />

但是当我到达 PayPal 时,金额字段是空白的。有什么想法我做错了吗?

【问题讨论】:

  • 我不相信你可以。这是一个关于它的讨论:paypal-community.com/t5/Merchant-services-Archive/….
  • 谢谢。看起来 Paypal 在这方面有很多缺陷。至少我没有失去理智。
  • 哇,等一下。 “这不是一个错误,这是一个功能!”。我会在我的回答中澄清。

标签: paypal donations urlvariables


【解决方案1】:

如果您正在创建一个所谓的“托管按钮”(即,按钮详细信息存储在 PayPal 端的按钮),那么对于对https://www.paypal.com/cgi-bin/webscr 的请求,“金额”POST 参数将被忽略。 这是一项安全功能,可防止人们操纵传递给 PayPal 以进行结帐的amount

您可以通过以下数据识别您是否使用托管按钮;
托管按钮将具有 cmd 的值 _s-xclick 并包括 hosted_button_id 参数。

如果是这种情况,您无法通过传入额外的amount POST 参数来更新金额。

但是,由于您处理的是捐赠,而且金额根据定义是灵活的,因此您实际上不需要“托管按钮”。 在按钮创建表单中,关闭“使用 PayPal 托管按钮”,或者自己编写指向 PayPal。
如果这样做,您可以通过amount POST 参数设置金额。

例如,下面的工作正常;

<form method="POST" action="https://www.paypal.com/cgi-bin/webscr">
<input type="hidden" name="cmd" value="_donations">
<label for="amount">Amount: </label><input type="text" name="amount" value="">
<input type="submit" name="submit" value="Pay with PayPal">
</form>

【讨论】:

  • 感谢您的帖子,它也为我解决了这个问题。一个问题:您所说的“自己编写指向 PayPal”是什么意思?在我在我的网站上放一个捐赠按钮之前,我只想对所有事情都一清二楚。另外,为了确保有一层安全性,如果我不使用托管按钮,是否应该使用加密网站付款功能?
  • 您可以通过 PayPal 的“按钮管理器”创建按钮,或者自己编写 &lt;form&gt; 元素。任何一个都可以捐款。至于安全性;担保通常旨在确保支付的金额并防止任何人篡改。这不适用于捐赠按钮(正是因为您希望允许人们修改金额),因此您不需要加密网站付款。
  • 这还不够 - 您必须提供 businessitem_namecurrency_code 也是一个好主意。请参阅 here 了解更多详情。
【解决方案2】:

Robert 的解决方案是正确的,但是如果没有隐藏的“业务”字段(该字段应该具有与您的 PayPal 帐户关联的电子邮件地址的值),非托管 PayPal 表单将无法工作。

为了完整起见,应包括其他字段:

<input type="hidden" name="business" value="myemail@here.com">
<input type="hidden" name="item_name" value="Donation Description">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="tax" value="0">

【讨论】:

  • PayPal 还声明您还可以将您的商家 ID 代替电子邮件用于业务领域。这有助于避免垃圾邮件发送者获取您的电子邮件地址。
  • 如果您希望捐赠者能够设置定期捐赠,金额字段必须为零。如果您指定任何非零值,PayPal 不会向捐赠者提供设置定期捐赠的选项,而是假定捐赠者正在进行指定金额的一次性捐赠。
猜你喜欢
  • 2015-11-22
  • 2012-01-22
  • 2014-10-24
  • 2012-06-21
  • 1970-01-01
  • 2017-01-04
  • 2015-08-17
  • 2013-07-20
  • 2012-02-26
相关资源
最近更新 更多