【发布时间】:2021-04-06 12:50:39
【问题描述】:
我正在使用 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
所以我查看了补丁订单来更新税收。我在 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\":\"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"}]}
知道为什么它会失败吗?请帮忙。
(*上面更新的补丁值和错误消息)
【问题讨论】:
标签: c# model-view-controller paypal paypal-sandbox paypal-rest-sdk