Как обновить налоговую информацию заказа Paypal?

#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. Мои извинения …. но я допустил некоторую ошибку при вставке значения исправления и ошибки ранее. я обновил значение исправления, а также сообщение об ошибке, которое я получаю в исходном сообщении. Пожалуйста, проверьте их сейчас