如何更新Paypal订单的税务信息



我使用的是C#.net Core MVC,对于Paypal V2我使用https://github.com/paypal/Checkout-NET-SDK

我无法在用户登录后更新订单的税务信息&通过贝宝审批(在最终订单提交之前(。

我使用以下创建了订单


var request = new OrdersCreateRequest();
request.Prefer("return=representation");
request.RequestBody(order);
response = await client().Execute(request);
var statusCode = response.StatusCode;
Order result = response.Result<Order>();

然后控制权转到PayPal&要求用户登录Paypal。用户登录并点击";继续";在Paypal上,控制权返回到我的应用程序。

在这一点上,我需要更新税务信息,但不知道如何做。我正在寻找以下链接的帮助。

https://developer.paypal.com/docs/checkout/integration-features/update-order-details/

https://developer.paypal.com/docs/api/orders/v2#orders_patch

所以我查看了补丁订单来更新税收。我试过";OrdersPatchRequest";c#中有以下修补程序代码

new Patch<Object>
{
Op= "replace",
Path= "/purchase_units/@reference_id=='default'/amount",
Value ="{"breakdown":{"item_total":{"currency_code":"USD","value":"1"},"shipping":{"currency_code":"USD","value":"3"},"tax_total":{"currency_code":"USD","value":"2"}},"currency_code":"USD","value":"6"}"
}

补丁值如下所示,格式为

{
"breakdown":
{
"item_total":{"currency_code":"USD","value":"1"},
"shipping":{"currency_code":"USD","value":"3"},
"tax_total":{"currency_code":"USD","value":"2"}
},
"currency_code":"USD",
"value":"6"
}

但它失败了,出现以下错误

{"name":"INVALID_REQUEST","details":[{"field":"/purchase_units/@reference_id=='default'/amount","value":"{"breakdown":{"item_total":{"currency_code":"USD","value":"1"},"shipping":{"currency_code":"USD","value":"3"},"tax_total":{"currency_code":"USD","value":"2"}},"currency_code":"USD","value":"6"}","location":"body","issue":"INVALID_PARAMETER_VALUE","description":"The value of a field is invalid."}],"message":"Request is not well-formed, syntactically incorrect, or violates schema.","debug_id":"1879d34e23fc4","links":[{"href":"https://developer.paypal.com/docs/api/orders/v2/#error-INVALID_PARAMETER_VALUE","rel":"information_link","method":"GET"}]}

知道它为什么失败了吗?请帮忙。

(*上面更新了补丁值和错误消息(

您的补丁值:

"{"breakdown":{"item_total":{"currency_code":"USD","value":"1"},"tax_total":"USD","value":"2"},"shipping":{"currency_code":"USD","value":"3"}},"currency_code":"USD","value":"6"}"

更清晰地呈现为:

{
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "1"
},
"tax_total": "USD",
"value": "2"
},
"shipping": {
"currency_code": "USD",
"value": "3"
}
}, "currency_code": "USD", "value": "6"
}

正如你所看到的,这是无效的,因此错误

最新更新