Сбербанк. ФФД 1.05

Когда я увидел вот эту статью я всплакнул. Такое точное попадание в сердечко, что позавидовал бы сам Купидон. Но в этой статье нет информации, что все таки делать.

Проблема нового сайта Сбербанка, что он не индексируется поисковиками. Совсем. Абсолютно. Если вбить их новый урл в поисковик, то мы не увидим ничего. Поиска по сайту тоже нет. Поиск в гугле через site ничего нам не даст. Ну и земля им Винни-пухом.

Если у вы используете REST для получения данных и у вас не получается переделать код под новые требования, тогда вам под кат

1. Зайдите в админку сбербанка и проверьте что ваша онлайн касса умеет работать с 1.05. Там в версии ОФД системы должно стоять 1.05.

2. Дополните ваш запрос следующими ключами

"itemAttributes": {
  "attributes" : [
    {
      "name": "paymentMethod",
      "value": "1"
    },
    {
      "name": "paymentObject",
      "value": "4"
    }
  ]
}

itemAttributes должен быть у каждой позиции items.

3. И полный запрос

{
  "orderCreationDate": 1544553466000,
  "customerDetails": {
    "email": "test@222.ru",
    "phone": "42",
    "contact": "Max"
  },
  "cartItems": {
    "items": [
      {
        "positionId": 1,
        "name": "FFD 1.05",
        "quantity": {
          "value": 1,
          "measure": "ed"
        },
        "itemCode": "item_1",
        "tax": {
          "taxType": 0,
          "taxSum": 0
        },
        "itemPrice": 100000,
        "itemAttributes": {
          "attributes" : [
            {
              "name": "paymentMethod",
              "value": "1"
            },
            {
              "name": "paymentObject",
              "value": "4"
            }
          ]
        }
      }
    ]
  }
}

Это необходимый минимум, чтобы обновить свой код под ФФД 1.05. Если вдруг вы очень удивились формату itemAttributes, то вы не одиноки. Как перевести то что указано здесь в то что написано выше я не очень представляю. Но буду рад, если вы в комментариях расскажите, где у них на сайте можно найти пример форматирования itemAttributes.
Поделиться публикацией

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

    0
    Я подумывал перейти на онлайн кассы и электронную отчетность от сбербанка, но увидел их дикие цены и решил кассы покупать(покупка окупалась за год, если купить до 01.07.2018) и оставаться на старой системе электронной отчетности.
    P.S. А немного зная, что скрывается под красивой оболочкой сбербанка и сейчас не жалею, особенно глядя на такие публикации.
      +3
      А почему не индексируется? Запретили индексацию или ушли в джваскриптовые фронтенд-технологии, которые наверное всё ещё не научились индексироваться поисковиками?
        0
        Видимо, где-то на том же домене есть API, которое по неаутентифицированным GET-запросам может отдать приватную информацию, поэтому безопасники настояли на том, чтобы закрыть весь домен от индексации.

        User-agent: *
        Disallow: /

        securepayments.sberbank.ru/robots.txt

        На самом деле, это достаточно кривое решение: держать документацию и API на одном домене.
          +1
          Покопался в доках
          Адреса для rest и wsdl в 3dsec.sberbank.ru/payment ???
          Да ладно, домен, судя по названию, выделенный для ACS, используется еще и для других целей? Как же они аудит по PCI DSS прошли?
            0
            Год назад еще и коллбеки были без секретного ключа.
              0

              Еще и своих клиентов подставляли )

          0
          Испугались утечки скорее всего, применив радикальные меры, запрещая к индексации все подряд.
          0
          На само деле — это те самые ФФД атрибуты:
          каждая позиция в чеке квалифицируется как (товар, услуга и прочее из paymentObject), каждая оплата — так же квалифицируется признаками типа itemAttributes (предоплата, аванс, зачет аванса и т.п.)

          Вот названия — несколько непривычны глазу… но это просто потому что я расплевываюсь с чуть другим интерфейсом.

            0
            Позволю себе немного дополнить:

            paymentMethod — это метод оплаты из ФФД 1.05. Звучит немного непонятно, но глядя на допустимые значения — всё становится ясно:
            Возможные значения:
            1 — Предоплата 100 %
            2 — Предоплата
            3 — Аванс
            4 — Полный расчет
            5 — Частичный расчет и кредит
            6 — Передача в кредит
            7 — Оплата кредита

            Не следует путать с paymentType — это другое поле!

            paymentObject — соответственно, тип позиции.
            Возможные значения:
            1 — Товар
            2 — Подакцизный товар
            3 — Работа
            4 — Услуга
            5 — Ставка азартной игры
            6 — Выигрыш азартной игры
            7 — Лотерейный билет
            8 — Выигрыш лотереи
            9 — Предоставление РИД (результатов интеллектульной деятельности)
            10 — Платеж
            11 — Агентское вознаграждение (в случае, когда вы обычный/банковский платежный агент/субагент, поверенный и т. д.)
            12 — Составной предмет расчета
            13 — Иной предмет расчета

            То есть вполне возможны вариации, когда в одном чеке будут несколько позиций, одна из которых является, к примеру, товаром, и по нему был осуществлен полный расчет в момент передачи товара, вторая позиция — услуга, с предоплатой 100% (на момент регистрации оплаты услуга не была оказана), третья — вовсе услуга агента по приему платежа в пользу стороннего поставщика услуги, и т. д.

            P. S. Точные значения, возможно, будут отличаться, в зависимости от модели ККТ «под капотом» сервиса

            P. P. S. В случае если вы агент/субагент — всё становится ещё веселее, и появляется куча доп. реквизитов
              0
              Ничего не понял, но вспомнил, что недавно делал переход на версию 1.05 в АТОЛ.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое