我设置了捐赠按钮,供用户输入捐款金额。我想用按钮发送金额。我可以在按钮设置中的添加高级变量中输入金额= 1.00 - 工作正常。但是,我没有成功将金额作为URL的一部分发送。我已将以下行添加到PayPal按钮表单中:
<input type="hidden" name="amount" value="9.99" />
但是当我到达PayPal时,金额字段是空白的。有什么想法我做错了吗?
答案 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">