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

时间:2017-04-26 15:02:26

标签: 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>

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

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

  • 25.00
  • 25,00
  • 25

但都失败了。

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

我该如何解决这个问题?

[编辑]

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

9 个答案:

答案 0 :(得分:5)

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

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

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

value="my_value_1">

答案 1 :(得分:2)

我遇到了同样的问题,并通过将currency_code"USA"更改为"USD"来解决了问题。例如:

<input type="hidden" name="currency_code" value="USD">

答案 2 :(得分:0)

有关问题解决方案的详细信息,请参阅链接https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ2067&expand=true&locale=en_US

谢谢, Kavitha

答案 3 :(得分:0)

作为结论,我必须改变所有有缺陷的按钮并重新创建它们。

在paypal在线按钮创建表单中编辑它们没有帮助。

看起来最旧的托管PayPal按钮与新的2017款paypal API不兼容。

答案 4 :(得分:0)

我最近遇到了类似的问题 我知道PayPal在3月29日做了一些更改,但我的网站是全新的,即我在3月29日之后创建了我的第一个PayPal按钮。 该网站于4月6日上线,按钮在4月17日之后停止工作(当天最后一次付款)。

我在德国,我的网站是德语,所以我的付款选项包含变音符号,,作为十进制分隔符。

我的旧按钮(突然停止工作的那个)看起来像这样:

<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="ABCDEFGHIJKLM">
    <table>
    <tr><td><input type="hidden" name="on0" value="Betrag:">Betrag:</td></tr><tr><td><select name="os0">
    <option value="Gebühr">Gebühr €3,50 EUR</option>
    <option value="Gebühr und Spende">Gebühr und Spende €5,00 EUR</option>
    </select> </td></tr>
    </table>
    <input type="hidden" name="currency_code" value="EUR">
    <input type="image" src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
    <img alt="" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1">
    <input type="hidden" name="notify_url" value="https://example.com/notify/?id=xyz">
</form>

我联系了PayPal支持,起初,这家伙建议我将数字中的小数分隔符从, (德语小数分隔符)更改为. (英文小数分隔符)

那并没有改变任何事情......我怀疑Gebühr中的变音符号是罪魁祸首,所以我问过PayPal是否有任何已知的变音符号问题。
答案是&#34;是的,也许有时候&#34;我得到了在没有变音符号的情况下重新创建按钮的建议。

这确实有帮助,我现在的(工作)按钮现在看起来像这样:

<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="MLKJIHGFEDCBA">
    <table>
    <tr><td><input type="hidden" name="on0" value="Betrag">Betrag</td></tr><tr><td><select name="os0">
        <option value="Gebuehr">Gebuehr €3,50 EUR</option>
        <option value="Gebuehr und Spende">Gebuehr und Spende €5,00 EUR</option>
    </select> </td></tr>
    </table>
    <input type="hidden" name="currency_code" value="EUR">
    <input type="image" src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
    <img alt="" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1">
    <input type="hidden" name="notify_url" value="https://example.com/notify/?id=xyz">
</form>
  1. 我刚刚省略了变音符号(üue相同)。
  2. 请注意,价格仍包含逗号作为小数分隔符和€符号 我试图用.输入价格,但德国PayPal网站没有让我(因为它在德语中不正确)。
    由于我刚刚输入€3,50 EUR并选择3,50作为货币,因此PayPal已将EUR格式的价格(包括€符号)插入到HTML代码中。
  3. 所以最后,它现在正在工作...... 我希望它不会再默默地停止工作,但坦率地说,我不确定。

    一方面,PayPal用户界面允许我创建带有变音符号和逗号的按钮,而不会发出此可能导致问题的任何警告。
    但另一方面,PayPal的支持怀疑变音符号和逗号是一个问题。

    然后,我再次考虑将我的HTML代码从Gebuehr €3,50 EUR更改为Geb&uuml;hr &euro;3.50 EUR,以确保再次成为变音符号/逗号的问题。
    但是谁知道当我的网站发布Geb&uuml;hr &euro;3.50 EUR时会发生什么,而PayPal已将Gebuehr €3,50 EUR保存在系统中的按钮定义中...

答案 5 :(得分:0)

我在2017年7月下旬开始遇到同样的错误。发现它是由数量上的逗号引起的,例如:<input type="hidden" name="amount" value="1,430">

删除逗号可更正PayPal错误。

该表格已使用多年,之前没有此类问题。

答案 6 :(得分:0)

我正在使用下拉选项,里面有希伯来语文本。一旦我将所有选项更改为只阅读英文文本,一切正常(即使PayPal网站为我生成了希伯来文表格)。

答案 7 :(得分:0)

我遇到了这个问题,因为<input type="hidden" name="amount" value="$999">,将$999更改为999并得到解决。

在其他人遇到相同问题的情况下将其张贴在这里

答案 8 :(得分:0)

我使用BRL款项出现此错误。问题是使用'ç'和口音(〜/´)