dart - PayPal Orders v2 创建响应:请求的操作无法执行、语义不正确或业务验证失败
问题描述
我正在尝试使用 dart 和 PayPal API Orders V2 创建付款订单
这是我在 url 做的请求https://api.sandbox.paypal.com/v2/checkout/orders
标题是正确的。这是身体:
{
"intent": "CAPTURE",
"purchase_units": [
{
"amount": {
"currency_code": "EUR",
"value": "5.0"
},
"items": [{
"name": "First time",
"unit_amount": {
"currency_code": "EUR",
"value": "2.0"
},
"quantity": "1"
},
{
"name": "Second item",
"unit_amount": {
"currency_code": "EUR",
"value": "3.0"
},
"quantity": "1"
}]
}
]
}
我收到此错误:
请求的操作无法执行、语义不正确或业务验证失败
如果我items
从正文中删除数组,则请求可以正常工作。
解决方案
传递项目时,您的金额需要一个breakdown
对象,如此处所述:https ://developer.paypal.com/docs/api/orders/v2/#definition-amount_with_breakdown
一个例子:
"purchase_units": [{
"description": "Stuff",
"amount": {
"value": "20.00",
"currency_code": "USD",
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "20.00"
},
}
},
"items": [
{
"unit_amount": {
"currency_code": "USD",
"value": "10.00"
},
"quantity": "1",
"name": "Item 1",
},
{
"unit_amount": {
"currency_code": "USD",
"value": "10.00"
},
"quantity": "1",
"name": "Item 2",
},
],
}]
推荐阅读
- sparql - SPARQL - 超过 56000 个三元组的文件 - 如何一次检查条件
- python - 重命名文件:UnicodeEncodeError: 'utf-8' codec can't encode character '\udca9'
- python - 从文件加载后 CNTK/TF LSTM 模型性能下降
- java - 从 JSP 和 servlet 访问 bean
- python - 界面发生了什么?
- angular - 如何在ngFor(嵌套formArray)中的ngFor中同步formControlName?
- java - 不能接受消费者
- django - Django Apache 和 Elastic Beanstalk 的 API 响应时间很慢
- java - ArrayList 访问器方法不返回任何值
- python - 纸浆优化