Документация

Запросы должны отправлять в формате json.

Для валидации запросов, в запросе обязательно должны быть прописаны:

  1. kassaid
  2. kassatoken

Эти данные вы сможете получить, только в личном кабинете, предварительно заключив договор с нами.

Разберем пример запроса.

Незашифрованный запрос в общем виде должен выглядеть следующим образом:

{
    "kassaid": "123456",
    "kassatoken": "3212312312312",
    "purchase": {
        "products": [{
            "name": "\u041f\u0435\u043d\u043a\u0430 \u043e\u0447\u0438\u0449\u0430\u044e\u0449\u0430\u044f \u043e\u0441\u0432\u0435\u0436\u0430\u044e\u0449\u0430\u044f, \u0440\u043e\u0437\u043e\u0432\u0430\u044f VPROVE \u00ab\u0421\u044d\u043d\u043a\u044c\u044e \u041d\u0435\u0439\u0447\u0430\u00bb (120 \u043c\u043b) (VTNFC0004), VTNFC0004",
            "price": "589",
            "quantity": 2,
            "tax": "vat0",
            "discount": {
                "type": "amount",
                "value": 16.21
            }
        }, {
            "name": "\u041f\u0435\u043d\u043a\u0430 \u043e\u0447\u0438\u0449\u0430\u044e\u0449\u0430\u044f \u043e\u0441\u0432\u0435\u0436\u0430\u044e\u0449\u0430\u044f, \u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u0430\u044f VPROVE \u00ab\u0421\u044d\u043d\u043a\u044c\u044e \u041d\u0435\u0439\u0447\u0430\u00bb (120 \u043c\u043b) (VTNFC0003), VTNFC0003",
            "price": "589",
            "quantity": 3,
            "tax": "vat0",
            "discount": {
                "type": "amount",
                "value": 24.31
            }
        }, {
            "name": "\u041a\u0440\u0435\u043c \u043e\u0447\u0438\u0449\u0430\u044e\u0449\u0438\u0439 \u043e\u0441\u0432\u0435\u0436\u0430\u044e\u0449\u0438\u0439 VPROVE \u00ab\u0421\u044d\u043d\u043a\u044c\u044e \u041d\u0435\u0439\u0447\u0430\u00bb (150 \u043c\u043b) (VTNCC0001), VTNCC0001",
            "price": "689",
            "quantity": 1,
            "tax": "vat0",
            "discount": {
                "type": "amount",
                "value": 9.48
            }
        }, {
            "name": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430: \u041f\u0443\u043d\u043a\u0442\u044b \u0432\u044b\u0434\u0430\u0447\u0438 \u0437\u0430\u043a\u0430\u0437\u043e\u0432 (\u0421\u0414\u042d\u041a)",
            "price": "350.0000",
            "quantity": 1
        }]
    },
    "type": "payment",
    "test": 0,
    "nalog_type": 2,
    "delivery_nalog_taxid":4,
    "mode": "email",
    "customer_phone": "79050001500",
    "customer_email": "mail@nanokassa.ru",
    "card_amount": 3934
}

Давайте его подробнее опишем.

  • Как мы уже упомянули, kassaid и kassatoken выдаются в личном кабинете после заключения договора.
  • В объекте purchase описываются товары, которые подлежат фискализации. К нему подробное описание тут.
  • В объекте type мы прописываем, какой вид фискализации мы проводим. В данном случае мы проводим платеж (то есть payment). 
  • В объекте test мы прописываем, тестовый это запрос или «боевой». Внимание! Не забывайте его указывать! Потому, что если вы его не указали, мы автоматические считать его тестовым и не проведем через онлайн кассы. (Возможные значения: 0; 1) (1 -запрос тестовый, 0 - запрос боевой). Этот объект придется еще раз указывать - поэтому не забывайте о нем.
  • В объекте mode мы указываем, куда мы будем отправлять чек. Возможные значения: email; phone. Если вы указали email, то онлайн кассе будет отправлена информация о том, что чек клиенту необходимо отправить на электронную почту. Если вы указали phone, то онлайн кассе будет отправлена информация о том, что чек клиенту необходимо отправить посредством смс. Непосредственно чек клиенту как правило отправляет уже ОФД. То есть вы нам говорите, как нужно отправить чек клиенту, мы эту информацию транслируем онлайн-кассе, онлайн касса эту информацию транслирует ОФД, и ОФД уже отправляет чек клиенту. (За смс бывает ОФД берет дополнительные деньги, уточните эту информацию у вашего ОФД)
  • В объекте customer_phone мы указываем, какой номер телефона клиента, и в случае отправки чека по смс, именно на этот телефон будет отправлена смс о чеке. Этот объект должен содержать только цифры (без плюса). Должен содержать 11 символов, не больше не меньше.
  • В объекте customer_email мы указываем электронную почту клиента. В случае указания, что чек необходимо слать на почту, то именно на этот адрес будет отправлен чек. Должен пройти стандартную валидацию на email.
  • В объекте card_amount мы указываем общую сумму покупки чека. Это цифра должна быть окончательная, когда уже указаны все скидки бонусы и прочее. То есть эта именно та сумма, которая спишется.

После этого нам необходимо зашифровать этот запрос. 

Первое шифрование.