多年来我一直在使用 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/