PayPal错误"货币金额必须是非负数"

时间:2016-04-24 01:31:41

标签: paypal coldfusion

我试图实现此处的CFC(coldfusion)代码:

http://www.sitekickr.com/blog/integrating-paypal-payflow-pro-rest-api/

我还处于测试阶段,甚至没有尝试传递我自己的变量,仅使用提供的CFSET示例。

<cfset response = paypal.capture( card_type = "visa"
      , card_number = "4556747948786484"
      , card_exp_month = "12"
      , card_exp_year = "2018"
      , card_firstname = "Bob"
      , card_lastname = "Smith"
      , amount = 15.25
      , description = "Order 1011"
 )> 

我收到此错误:

  

{&#34;名称&#34;:&#34; VALIDATION_ERROR&#34;&#34;细节&#34;:[{&#34;字段&#34;:&#34;交易[0] .amount.total&#34;&#34;问题&#34;:&#34;货币   金额必须是非负数,可以选择恰好包含2   小数点后跟&#39;。&#39;,可选的千位分隔符&#39;,&#39;,   小数点前限制为7位数&#34;}],&#34;消息&#34;:&#34;无效   请求 - 请参阅   细节&#34;&#34; information_link&#34;:&#34; https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR&#34;&#34; debug_id&#34;:&#34; dfb7b0588d38e&#34;}

没有任何意义,因为我传递的货币值不是负数,只包含两位小数。 &#34;金额&#34;没有明显的错误。价值我通过。

所以我被困了。

1 个答案:

答案 0 :(得分:1)

这是我如何解决我的问题。

我发现在我的PayPal开发者帐户中,我可以进入Sandbox / Transactions菜单并获取有关交易尝试的更多详细信息。

通过这个,我发现我实际传递的总值是&#34; 15.25 |||&#34;

PayPal正在接收:&#34;总计&#34;:&#34; 15.25 |||&#34;

经过进一步调查,在CFC第57行,我找到了

&#34; total&#34; =(NumberFormat(arguments.amount,&#34; 9.99&#34;))&amp; &#34; |||&#34;,

我删除了:&amp; &#34; |||&#34;

得到了PayPal沙盒的成功回复。