Paypal:试图通过捐款按钮传递金额

时间:2013-08-02 21:14:43

标签: paypal donations urlvariables

我设置了捐赠按钮,供用户输入捐款金额。我想用按钮发送金额。我可以在按钮设置中的添加高级变量中输入金额= 1.00 - 工作正常。但是,我没有成功将金额作为URL的一部分发送。我已将以下行添加到PayPal按钮表单中:

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

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

2 个答案:

答案 0 :(得分:9)

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

您可以通过以下数据确定您是否正在使用托管按钮;
托管按钮的cmd _s-xclick值为hosted_button_id,并包含amount参数。

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

但是,因为您正在处理捐款,而且金额根据定义是灵活的,您实际上并不需要“托管按钮”。 在按钮创建表单中,关闭“使用PayPal的主机按钮”,或者编写自己的指向PayPal 如果您这样做,可以通过<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> POST参数设置金额。

例如,以下工作正常;

{{1}}

答案 1 :(得分:6)

罗伯特的解决方案是正确的,但如果没有隐藏的&#34;业务,那么非托管的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">