Paypal:托管按钮付款失败,代码= AMOUNT_ERROR

JLu*_*Luc 2 paypal paypal-buttons paypal-ipn

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

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

这些按钮是使用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>
Run Code Online (Sandbox Code Playgroud)

从屏幕截图中可以看出,反馈网址包含以下查询字符串:"&code = AMOUNT_ERROR"

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

  • 25.00
  • 25,00
  • 25

但都失败了.

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

我怎样才能解决这个问题 ?

[编辑]

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

小智 6

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

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

另一种解决方法可能是值属性的字符清理,如:

value="my_value_1">