0

我想要完成的是让用户在网站上的文本输入中输入一个金额,当点击贝宝捐赠按钮时,支付表单会预先填充他们在文本输入中输入的金额。

我看过其他帖子的答案似乎过去解决了这个问题,但是在尝试自己实施相同的解决方案时,我无法让它工作......如果这是对我的一个小小的无知疏忽部分,那么我提前道歉。

这是我选择捐赠按钮类型并选择“捐赠者输入自己的捐款金额”选项时从贝宝获得的代码片段

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

这是为其他人解决此问题的帖子:Paypal custom amount for "Donate Now" button

按照那篇文章所说的,我修改了我的贝宝片段:

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

所以,我刚刚添加了<input type="text" name="amount" id="amount" value"">,据我了解,这应该允许我将输入的值传递给付款表单。由于某种原因,这不起作用。

非常感谢您的帮助!

4

1 回答 1

1

您正在使用托管按钮,因此您不能直接在按钮代码中设置金额。如果您想这样做,您将需要使用非托管按钮,您可以通过进入 PayPal 中的按钮编辑器并取消选中“PayPal 上的保存按钮”选项来进入该按钮。也就是说,您应该能够设置捐赠按钮,让人们在 PayPal 页面上输入金额,而不是在您自己的页面上输入金额并将其传递过来,因此您可能需要调查一下。

非托管按钮的缺点是人们可以在按钮代码中看到金额、您的电子邮件地址等,他们可能会查看源代码、复制代码、更改值,然后加载它并向您支付较少的金额比他们应该的产品。当然,希望您在运送产品或提供对仅订阅网站的访问权限之前有适当的程序来捕捉这一点,但这只是您需要牢记的事情。

另一种选择是切换到 Express Checkout API。这基本上是标准按钮的 API 版本,但是当使用 API 时,实际上在浏览器中看不到任何代码,因此人们不能试图弄乱它。

于 2013-11-10T19:43:43.523 回答