Игнорируется получение налога на смарт-кнопки Paypal

#paypal #paypal-rest-sdk

#paypal #paypal-rest-sdk

Вопрос:

Я внедряю SDK для смарт-кнопок PayPal в нашем магазине. Полезная нагрузка, которая отправляется javascript в https://www.sandbox.paypal.com/v2/checkout/orders похоже на:

 {
   "reference_id":"XYZ",
   "description":"Fonts bought from hobo typefaces",
   "custom_id":"XYZ",
   "soft_descriptor":"Soft",
   "redirect_urls":{
      "return_url":"https://dev.hobo-typefaces.com/checkout",
      "cancel_url":"https://dev.hobo-typefaces.com/cancel"
   },
   "amount":{
      "currency_code":"EUR",
      "total":"378.00",
      "shipping":0,
      "value":"360.00",
      "tax":"18.00",
      "breakdown":{
         "item_total":{
            "currency_code":"EUR",
            "subtotal":"360.00",
            "value":"360.00",
            "total":"378.00",
            "shipping":0,
            "tax":"18.00"
         }
      }
   },
   "items":[
      {
         "name":"Rosart Regular",
         "sku":"Rosart Regular",
         "unit_amount":{
            "currency_code":"EUR",
            "value":"60.00"
         },
         "quantity":"1"
      },
      {
         "name":"Rosart RegularItalic",
         "sku":"Rosart RegularItalic",
         "unit_amount":{
            "currency_code":"EUR",
            "value":"60.00"
         },
         "quantity":"1"
      },
      {
         "name":"Rosart MediumItalic",
         "sku":"Rosart MediumItalic",
         "unit_amount":{
            "currency_code":"EUR",
            "value":"60.00"
         },
         "quantity":"1"
      },
      {
         "name":"Rosart Medium",
         "sku":"Rosart Medium",
         "unit_amount":{
            "currency_code":"EUR",
            "value":"60.00"
         },
         "quantity":"1"
      },
      {
         "name":"Rosart Semibold",
         "sku":"Rosart Semibold",
         "unit_amount":{
            "currency_code":"EUR",
            "value":"60.00"
         },
         "quantity":"1"
      },
      {
         "name":"Rosart SemiboldItalic",
         "sku":"Rosart SemiboldItalic",
         "unit_amount":{
            "currency_code":"EUR",
            "value":"60.00"
         },
         "quantity":"1"
      }
   ]
}
  

Пока процесс оформления заказа работает, налоговая сумма игнорируется, и PayPal начисляет 360 евро. К сожалению, я не могу решить эту проблему с помощью документации PayPal. Где я не уверен, это amount.value , amount.total и то же самое в breakdown массиве.

Я благодарен, если кто-нибудь может помочь, почему мой налог игнорируется.

Ответ №1:

Вы не передаете действительные налоговые объекты в массив purchase_units и его массив items.

[Редактировать: страница больше не существует] Смотрите здесь пример:https://developer.paypal.com/docs/checkout/reference/server-integration/set-up-transaction

Смотрите здесь ссылку на API:https://developer.paypal.com/docs/api/orders/v2/#orders_create

Комментарии:

1. большое спасибо за ваш ответ. Я сейчас эти две ссылки, но я что-то упускаю из виду? Я не могу найти пример того, как должен правильно выглядеть объект для добавления налога.

2. Найдено кое-что, что выглядит многообещающим: gist.github.com/t-book/da90aaf7c8b7c9ec8f433b095628603d

3. по первой ссылке приведен полный пример с разбивкой -> tax_total -> value и элементами[0]->tax-> value. Это правильные вещи, которые нужно передать, в то время как код вашего вопроса повсюду