#c# #model-view-controller #paypal #paypal-sandbox #paypal-rest-sdk
#c# #модель-представление-контроллер #paypal #paypal-песочница #paypal-rest-sdk
Вопрос:
Я использую 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 и запрашивает логин пользователя в 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"}]}
Есть идеи, почему это не удается? Пожалуйста, помогите.
(* Значение исправления и сообщение об ошибке обновлены выше)
Ответ №1:
Значение вашего исправления:
"{"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"
}
Который, как вы можете видеть, недействителен, отсюда и ошибка
Комментарии:
1. Мои извинения …. но я допустил некоторую ошибку при вставке значения исправления и ошибки ранее. я обновил значение исправления, а также сообщение об ошибке, которое я получаю в исходном сообщении. Пожалуйста, проверьте их сейчас