Paypal : hosted button payments fail with code=AMOUNT_ERROR

标签 paypal paypal-ipn paypal-buttons

多年来我一直在使用 paypal 按钮,使用 IPN 来处理付款。

其中一些按钮几天前就停止工作了。它们会产生错误,如下图所示: (screenshot)

这些按钮是使用 Paypal 在线工具创建的,它们的 HTML 代码引用了在 paypal 网站上编辑的一些 paypal UR3ZPGJAT7M 数据(希望这应该是正确的?)(注意:UR3ZPGJAT7M 是一个编辑过的值)。

<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="UR3ZPGJAT7M">
<table>
<tr><td><input type="hidden" name="on0" value="Expédition">Expédition</td></tr><tr><td><select name="os0">
    <option value="Expédition en France">Expédition en France €25,00 EUR</option>
    <option value="Expédition en Europe">Expédition en Europe €27,00 EUR</option>
    <option value="Reste du Monde">Reste du Monde €30,00 EUR</option>
</select> </td></tr>
</table>
<input type="hidden" name="currency_code" value="EUR">
<input type="image" src="https://www.paypalobjects.com/fr_FR/FR/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal, le réflexe sécurité pour payer en ligne">
<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
</form>

如屏幕截图所示,反馈 url 包含以下查询字符串:“&code=AMOUNT_ERROR”

我试图在定义 UR3ZPGJAT7M 代码的 paypal 在线按钮编辑表单中更改金额值。 我为小数分隔符尝试了各种值:

  • 25.00
  • 25,00
  • 25

但都失败了。

我环顾四周,但找不到解决此问题的方法。 Paypal 支持根本不回答。

我该如何解决这个问题?

[编辑]

  • Paypal 几天前更改了他们的付款表单 UI,因此它可能与此更改有关。
  • 当我从头开始创建一个新按钮并在 Paypal 的在线按钮创建表单中为其提供所有相同的参数时,新按钮工作正常。所以有一种方法可以启用我的按钮:从头开始重新创建它们作为购物车按钮。但我有 30 多个这样的已注册按钮,我希望避免重新创建所有这些按钮!
  • 其他一些按钮工作正常。我注意到一些工作的按钮会导致英文形式,其中小数点分隔符是“。” .在“托管按钮”创建页面中,欧元和法语的分隔符自动添加为“,”。
  • 我在 Paypal 支持网站上发现了一个相关问题:https://www.paypal-community.com/t5/PayPal-HTML-Buttons/Update-your-PayPal-buttons-before-29th-March-2017/m-p/1127596用户发现他的按钮失败的原因:因为库存。他不得不取消库存请求。但是我的按钮不使用库存。

最佳答案

默认情况下,Paypal 似乎在值字段中的特殊字符方面存在问题。通过添加 UTF-8 声明,表单验证似乎完美无缺。这对我有用:

<input type="hidden" name="charset" value="utf-8">

另一种解决方法是对值属性进行字符清理,例如:

value="my_value_1">

关于 Paypal : hosted button payments fail with code=AMOUNT_ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43637900/

相关文章:

objective-c - 如何解决来自单独的 objc 框架的 "redefinition of enumerator"错误

javascript - 从 XHR 请求接收 OAuth2 token

php - 如何保护立即购买 Paypal 按钮?

paypal - 使用 Paypal javascript按钮时按钮数据不显示

asp.net - Paypal 自适应支付返回 url 被调用两次

Paypal IPN 和交易 ID

ruby-on-rails - 如何按原始顺序获取 POST 参数(使用 Rails)?

PayPal IPN - 如果响应无效,要发回什么 http 状态 header ?

paypal - 在paypal中处理经常性付款时,出现以下错误

ASP.Net WebForms + Paypal 表单