Просмотр Исходного

{toc:maxLevel=2}

h1. Подготовка

Заключите договор с платежной системой [АТОЛ Онлайн|http://www.online.atol.ru] и получите доступ в личный кабинет.
Получите у АТОЛ все необходимые данные для интеграции с биллингом.

h1. Настройка на стороне биллинга

# Настройте передачу чеков в АТОЛ на стороне биллинга в разделе "[Платежные системы|asrdocnew:Платежные системы, web-касса, карты оплаты, API, 1С, интернет банки]":
#* *E-Mail чека по умолчанию* - адрес почты на который будет создаваться чек для абонентов не указавших контактные данные (телефон или адрес почты)
#* *В веб-кассе создавать чек по умолчанию* - при включении, опция "Создать чек в АТОЛ-Онлайн" будет включена по-умолчанию при добавлении платежа в веб-кассе
#* *E-mail продавца* - email оператора связи
#* *Включить отправку чеков через АТОЛ-онлайн* - включает интеграцию с АТОЛ
#* *ИНН* - ИНН организации
#* *Идентификатор группы ККМ* - внутреннее имя кассы в системе АТОЛ
#* *Логин* - логин для авторизации
#* *Место расчетов* - доменное имя сайта оператора связи, иначе говоря адрес интернет-магазина
#* *Пароль* - пароль для авторизации
#* *Тип налогообложения* - тип налогообложения, должен соответствовать выбранному на стороне АТОЛ.
#* *Тип НДС* - объём и тип рассчета НДС, должен соответствовать выбранному на стороне АТОЛ.
#* *Внешний адрес для callback* - внешний IP-адрес или доменное имя биллинга, на который АТОЛ будет отправлять биллингу информацию о регистрации чеков
#* *Использовать тестовый сервер* - отправлять чеки на сервер АТОЛ для тестирования
# По статье "[CarbonBilling:Настройка сети для платежных систем]" укажите адреса АТОЛ (их необходимо запросить у самой платёжной системы) в списке разрешенных для доступа к платежным системам.
По-умолчанию мы ожидаем ответа онлайн кассы на порт +1444+, но защищенные порты (1443 и 2443) так же будут для неё доступны.
# Настройте соответствующие типы фискализации в *[услугах|CarbonBilling:Услуги]* в поле "*Признак предмета расчета*" (вкладка "*Дополнительно*")
По-умолчанию для услуг где признак не выбран (созданные до появления интеграции с АТОЛ в Carbon Billing 5) используется признак "услуга" \\ \\
!atol_service_fiscal_type.png|border=0,width=370!

{note}* *Логин* и *пароль* - не от личного кабинета АТОЛ, а из файла "Настройки интегратора", его можно получить по кнопке в личном кабинете АТОЛ, в разделе "Мои компании"
* При включении отправки чеков, настройки модуля платежных систем и биллинга синхронизируются не сразу, а в течение 10 минут. Чеки по платежам совершенным в этот промежуток времени не будут отправлены.{note}

!atol_online_settings.png|border=0,width=800!

{anchor:what_to_send}
h1. Как, когда и какие чеки отправляются

Carbon Billing 5 отправляет чеки по следующим операциям:
* *Пополнение счета* - при регистрации прихода денежных средств
** Если +бух.баланс больше или равен 0+ с единственной позицией "Пополнение лицевого счета \{номер лицевого счета\}"
** Погашение кредита если +бух.баланс меньше 0+ с единственной позицией "Платеж в счет погашения постоплаты по акту \{номер акта\}"
** Если баланс меньше 0, а сумма прихода больше кредита, формируется два чека на соответствующие суммы, например баланс -100, пополнение счета на 500р, будет отправлено два чека: на 100 в счет погашения кредита и 400 в счета аванса
* *Сторнирование прихода*
** В случае если приход был на погашение кредита и пополнение баланса - сторнируются оба чека
* *Продажа* - при выставлении актов
** Если все позиции в чеке были оплачены (баланс в конце месяца более или равен 0) - позиции товаров и услуг будут иметь признак способа расчета "Полная оплата", все платежи с типом "Предварительная оплата (зачет аванса и
(или) предыдущих платежей)"
** Если не все позиции в чеке были оплачены (баланс в конце месяца менее 0) - позиции товаров и услуг будут иметь признак способа расчета "Частичный расчет", на сумму отрицательного баланса будет будет добавлен пункт платежа с типом "постоплата (кредит)"
* *Сторнирование продажи* - при сторнировании актов

Чеки можно отправлять при проведении любых видов платежей, а именно:
* Через веб-кассу (опционально)
* Платежи через платежные системы (во всех случаях для всех платежных систем, автоматический)
* [Платежи через выгрузку банка|CarbonBilling:Автоматическая выгрузка платежей из CSV] (аналогично платежным системам, всегда)
* Заведение вручную в администраторской панели (опционально)
* API (аналогично платежам в администраторской панели, опционально)

Чеки по выставленной реализации (по актам) отправляются всегда.

Чеки отправляются только при включении опции "*Включить отправку чеков через АТОЛ-онлайн*" в настройках интеграции с АТОЛ.

При отправке чека в АТОЛ, в метаданных передаётся информация об адресе callback - адрес, на который биллинг ожидает ответа сервера онлайн кассы о результате проведения операции.
Если ответ не поступает в течение 5 минут, биллинг самостоятельно опрашивает АТОЛ о статусе чека.

Биллинг будет пытаться отправить чек пока не зарегистрирует его в АТОЛ Онлайн.

Если в отчет от АТОЛ получена ошибка таймаута (чек не успел обработаться вовремя, например если несколько чеков было отправлено слишком быстро и касса не успела их напечатать), через некоторое время чек отправляется заново.

За одну итерацию биллинг отправляет до 25 чеков. При возникновении каких-либо технических проблем, например у биллинга не было доступа к интернету, или сменились данные доступа в АТОЛ Онлайн, или у АТОЛ проводятся техработы, может накопиться какое-то количество чеков. Они будут отправляться постепенно.

h2. Отправка чеков по платежам через [платёжные системы|CarbonBilling:Платёжные системы]

При включении опции "*Включите для возможности отправки чеков*" в настройках интеграции с АТОЛ Онлайн, чеки будут автоматический отправляться по всем платежным системам, включая экваиринг и ОСМП (OSMP) и выгрузки банка.

h2. Отправка чеков по платежам в [веб-кассе|CarbonBilling:Веб-интерфейс кассира]

При заведении платежей в веб-кассе автоматический будет установлен флаг "*Создать чек в АТОЛ-онлайн*", таким образом чек будет отправлен.

!atol_online_webcash.png|border=0,width=500!

Если опцию отключить, чек по операции не будет отправлен в АТОЛ, отправить его в последствии будет не возможно, в таком случае потребуется отменить операцию прихода в биллинге и завести платеж заново в веб-кассе с отправкой чека.

h2. Отправка чеков по платежам в [администраторской панели|CarbonBilling:Финансовые операции. Учет НДС]

!atol_online_admin_panel.png|border=0,width=600!

При заведении операции прихода денежных средств Вы можете отправлять или не отправлять чек в АТОЛ Онлайн, за это отвечает опция "*Не создавать онлайн-чек*".
По-умолчанию она включена и чек не отправляется.
Если опцию отключить при заведении операции - чек будет отправлен.
Если создать операцию прихода и потом её отредактировав, сняв опцию - чек отправлен не будет.
+Чек отправляется только при создании операции+.

h2. Отправка чеков по [выставленной реализации|CarbonBilling:Финансовые операции. Учет НДС]

Чеки по выставленной реализации (по актам) отправляются всегда в автоматическом режиме.
При сторнировании актов так же всегда и автоматический отправляются чеки сторнирования продажи.

h3. Позиции товаров/услуг в чеках.

По всем позициям (товары, услуги) в чеке передаются:
* Наименование
* Стоимость
* Количество

Количество - всегда 1. Стоимость - сумму по услуге с точностью до 1 копейки.

h1. Какие чеки не отправляются

* По платежам с [карт оплаты|CarbonBilling:Карты оплаты]
* Любым платежам [выгруженным из 1С|CarbonBilling:Интеграция с 1С]
* Платежам юридических лиц
* Платежам [операторов связи|CarbonBilling:Разграничение объектов по операторам связи.]
* При [переводе средств между абонентами|CarbonBilling:Перевод денег другу]

h2. Моя платёжка сама отправляет чеки в налоговую, как не слать их через АТОЛ?

Если используемая Вами платёжная система сама формирует чеки по платежам, сообщите об этом технической поддержке и приложите описание протокола обмена данными с платёжкой, мы доработаем для неё исключение.

h1. Уведомление для абонентов

Уведомления со ссылками на чеки у ОФД отправляет АТОЛ Онлайн, Carbon Billing 5 только передаёт на сторону онлайн-кассы реквизиты абонента.
Исходя из документации к онлайн кассе, если переданы оба реквизита - уведомление будет отправлено только на почту. Выдержка из [документации к описанию протокола АТОЛ|https://online.atol.ru/files/API_servisa_ATOLOnline_v4.10.pdf], страница №17:
{quote}В запросе обязательно должно быть заполнено хотя бы одно из полей: email или phone. Если заполнены оба поля, ОФД отправит электронный чек только на email.{quote}

h1. Отладка

Результаты обмена данными с АТОЛ Онлайн можно посмотреть в логе:
{code}tail /app/asr_fiscal/var/log/ATOL_Online_v4.log{code}

Журнал обмена данными по операциям для передачи в АТОЛ между биллингом и модулем платежных систем:
{code}tail /app/asr_billing/var/log/paysystemsd.log{code}

h2. Биллинг внезапно отправил очень много чеков. Почему так?

Вероятней всего у Вас произошло выставление актов - автоматическое или Вы воспользовались функцией [массового формирования|CarbonBilling:Массовое формирование счетов и актов].

Информацию о том какие чеки, когда и почему отправляются Вы можете найти под заголовком [Как, когда и какие чеки отправляются|#what_to_send]

h2. Возможные ошибки
При ошибках отправки чека Вы увидите подобную страницу.
На странице описано в какой части кода произошла ошибка, *суть ошибки - в красном баннере внизу*.

!atol_online_error.png|border=1,width=600!

h3. Ошибочные поля : PropertyRequired: #/login; PropertyRequired: #/pass
{code}Ошибка АТОЛ-Онлайн: [32] Ошибка валидации входящего чека. Ошибочные поля : PropertyRequired: #/login; PropertyRequired: #/pass{code}
Убедитесь, что "*Логин*", "*Пароль*" и "*Место расчетов*" указаны верные.

h3. Email and Phone empty
{code}Email and Phone empty{code}
Для передачи чека в АТОЛ Онлайн, в карточке абонента должны быть заведены "*Email для оповещений*" или "*Номер SMS для оповещений*"
Согласно законодательству такие чеки все равно требуется передавать, абонент при необходимости может запросить информацию о них в налоговой, однако АТОЛ Онлайн требует передачи хотя бы одного из этих реквизитов и не регистрирует чек если ни какие контактные данные абонента не переданы.
Для решения проблемы, запросите контактные данные у абонента или укажите *E-Mail чека по умолчанию* в настройках АТОЛ Онлайн.