Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js中的PayPal字段和小数错误_Javascript_Paypal - Fatal编程技术网

Javascript node.js中的PayPal字段和小数错误

Javascript node.js中的PayPal字段和小数错误,javascript,paypal,Javascript,Paypal,当我在价格和金额字段中尝试这些值时,它给出了一个错误。如果该值不是浮点或十进制,则可以正常工作: 代码: "intent": "sale", "payer": { "payment_method": "paypal" }, "redirect_urls": { "return_url": "http://localhost:2300/success", "cancel_url": "http://localhost:

当我在价格和金额字段中尝试这些值时,它给出了一个错误。如果该值不是浮点或十进制,则可以正常工作: 代码

    "intent": "sale",
    "payer": {
        "payment_method": "paypal"
    },
    "redirect_urls": {
        "return_url": "http://localhost:2300/success",
        "cancel_url": "http://localhost:2300/cancel"
    },
    "transactions": [{
        "item_list": {
            "items": [{
                "name": "Item",
                "sku": "Item",
                "price": '0.0015',
                "currency": "INR",
                "quantity": 1
            }]
        },
        "amount": {
            "currency": "INR",
            "total": '0.0015'
        },
        "description": 'Item description.'
    }]
};
错误
响应:
{name:'验证\错误',
消息:“无效请求-请参阅详细信息”,
调试id:'f42749ec22229',
信息链接:'https://developer.paypal.com/docs/api/payments/#errors',
详细信息:[[Object]],
httpStatusCode:400},

httpStatusCode:400}

您应该打印出
详细信息:[[Object]],
如果您查看JSON响应的详细信息数组,它应该说
无效的\u货币\u金额\u格式


大多数PayPal支持的货币,
INR
包括在内,只允许小数点后两位,即不小于或超过
.01
您应该打印出
详细信息:[[Object]],
如果您查看JSON响应的详细信息数组,它应该说
无效的\u货币\u金额\u格式


大多数PayPal支持的货币,包括印度卢比在内,只允许两位小数,也就是说,不允许小于或超过
.01

就行了!谢谢大家的帮助。
我使用了“数学圆((100.01151)*100)/100;”表示价格总金额,得出100.01

成功了!谢谢大家的帮助。
我使用了“数学圆((100.01151)*100)/100;”表示价格总金额,得出100.01

当你转移一分钱的零头时,你期望会发生什么?100.0015或200.0015或任何带小数或浮点数的东西都一样。而
details
对象中有什么错误?details:[{字段:'transactions.item_list.items',位置:'body',问题:'无法构造
com.paypal.platform.payments.model.rest.common.item
,问题:无效的\u CURRENCY\u AMOUNT\u FORMAT']当你转移一分钱的零头时,你期望会发生什么?100.0015或200.0015或任何带小数或浮点数的东西都一样。而
details
对象中有什么错误?details:[{字段:'transactions.item_list.items',位置:'body',问题:'无法构造
com.paypal.platform.payments.model.rest.common.item
,问题:无效的\u CURRENCY\u AMOUNT\u FORMAT']那么我该怎么办呢?我可能需要小数点后两位以上的数字。您可以查看是否有其他支付提供商允许
印度卢比
的金额小于
.01
,但我猜只有很少或没有。基本上,您在提交交易时需要将所有金额四舍五入到最接近的美分用于处理。如果单个项目是唯一具有部分分数值的项目。另一件事是,您可以忽略行项目数据——或者,也许,将数量聚集到一个四舍五入到最接近分的复合项目中。但美元也是一样的。是的,所有这些都适用于美元。几乎所有货币都是一样的。它很少有货币支持千分之一(
.001
)或者更高,这就是为什么你需要四舍五入到最接近的
.01
那么我能做什么呢?我可能需要小数点后两位以上的数字。你可以看看是否有任何其他支付提供商允许
INR
的金额小于
.01
,但我猜是很少或没有。基本上你是在提交交易进行处理时,可能会将所有项目四舍五入到最接近的美分。如果单个项目是唯一具有部分美分值的项目。另一件事是,您可以忽略行项目数据,或者,可能会将数量聚集到一个四舍五入到最接近的美分的复合项目中。但美元也是如此。是的,所有same适用于美元。几乎所有货币都是如此。很少有一种货币支持千分之一(
.001
)或更高,这就是为什么需要舍入到最接近的
.01