微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

用户登录并通过 paypal 批准后(在最终提交订单之前),我无法更新订单的税务信息。

我使用以下命令创建了订单


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 上的“继续”,控制权返回到我的应用程序。

此时,我需要按顺序更新税务信息,但不知道该怎么做。我正在查看以下帮助链接

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

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

所以我查看了补丁订单来更新税。我在 c# 中使用以下补丁代码尝试了“OrdersPatchRequest”

 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\"}"
 }

Patch 值的格式如下

{
    "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\":\"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"
}

如您所见,这是无效的,因此出现错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。