Paypal 贝宝错误“;货币金额必须为非负数“;

Paypal 贝宝错误“;货币金额必须为非负数“;,paypal,coldfusion,Paypal,Coldfusion,我正在尝试实现以下CFC(coldfusion)代码: 我仍处于测试阶段,甚至没有尝试传递自己的变量,只是使用提供的CFSET示例 <cfset response = paypal.capture( card_type = "visa" , card_number = "4556747948786484" , card_exp_month = "12" , card_exp_year = "2018" , card_firstname =

我正在尝试实现以下CFC(coldfusion)代码:

我仍处于测试阶段,甚至没有尝试传递自己的变量,只是使用提供的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"
 )> 

我得到了这个错误:

{“name”:“VALIDATION\u ERROR”,“details”:[{“field”:“transactions[0]。amount.total”,“issue”:“Currency” 金额必须为非负数,可以选择正好包含2 小数位数以“.”分隔,可选千位分隔符“,”, 限制为小数点“}]”前7位,“消息”:“无效” 请求-参见 详细信息,“信息链接”:“调试id”:“dfb7b0588d38e”}

这毫无意义,因为我传递的货币值不是负数,只包含两位小数。我传递的“amount”值没有明显的错误


所以我被卡住了。

以下是我解决问题的方法

我发现在我的PayPal开发者帐户中,我可以进入菜单“沙盒/交易”,获得更多关于交易尝试的详细信息

通过这个,我发现我实际传递给total的值是“15.25 | | |”

贝宝收到:“总计”:“15.25 | | |”

经过进一步调查,在CFC的第57行,我发现

“总计”=(NumberFormat(arguments.amount,“9.99”)&“| | |”

我删除了:&“| | |”


并且从PayPal的沙箱中得到了成功的响应。

您的请求是什么样子的?此时,我只是发送了示例CFSET,因此,我刚刚发现我可以进入我的PayPal开发者帐户,在沙箱菜单和事务下,获取我传递的更多详细信息。对于总计,我通过了:“总计”:“15.25 | | |”。。。所以不知怎的,我在那里有额外的空间。。。目前还不知道为什么,但似乎是这样。在CFC第57行,设置并格式化了total变量,部分格式化包括:&“| | |”我删除了该位,事务处理成功。如果您认为该解决方案对其他人有帮助,则应合并最后两条注释并将其作为回答“。(S.O.允许回答您自己的问题。)