Москва: 8 (495) 984-87-51
Санкт-Петербург: 8 (812) 385-75-57
8 (800) 775-37-51Контакт центр

Отправка счёта 1С

Как выставить счёт в 1С

Часто необходимо предоставить клиенту возможность удалённо оплатить заказ, причём не сразу, а тогда, когда будет удобно. В таких случаях, обычно, пользуются выставлением счетов для оплаты. Выставленный счёт высылается клиенту по электронной почте, клиент открывает письмо и переходит по ссылке для оплаты в любое удобное время. Иногда полезно ограничить допустимый срок оплаты, например, при резервировании товара. В случае использования нашего решения такая возможность выставления счетов по электронной почте присутствует изначально, в личном кабинете. Однако при использовании 1С было бы неплохо автоматизировать процесс, особенно при большом количестве заказов. Это выполнимо с использованием нашего JSON API.

При выставлении счёта возможно указать следующие параметры:

Тип Параметр Назначение Обязательный
1. Параметр:pay_amount Назначение:Сумма заказа к оплате Обязательный:Да
2. Параметр:clientid Назначение:Идентификатор клиента Обязательный:Нет
3. Параметр:orderid Назначение:Номер заказа Обязательный:Нет
4. Параметр:service_name Назначение:Наименование услуги Обязательный:Нет
5. Параметр:client_email Назначение:E-mail адрес клиента Обязательный:Да
6. Параметр:client_phone Назначение:Телефон клиента Обязательный:Нет
7. Параметр:expiry Назначение:Срок действия счёта в формате YYYY-MM-DD (не включительно) Обязательный:Нет
8. Параметр:token Назначение:Токен безопасности Обязательный:Да
Таблица 1. Параметры запроса «Подготовка счёта»

Для автоматического выставления счёта через API необходимо сформировать и отправить два запроса к серверу системы с необходимым набором данных из этого списка. Первый — непосредственно для формирования счёта, а второй — для его отправки клиенту.

Рассмотрим алгоритм работы более подробно:

  1. Получить актуальный токен для доступа к JSON API.
  2. Подготовить набор данных для формирования запроса
  3. Сформировать запрос для предварительного просмотра с корректными заголовками
  4. Выполнить запрос для предварительного просмотра и проверить корректность ответа
  5. Сформировать запрос для отправки счёта с корректными заголовками
  6. Выполнить запрос для отправки счёта и проверить корректность ответа

Пример кода для 1С

Ниже рассмотрим пример реализации данного алгоритма для 1С:

В функцию ВыгрузитьЗаказыPayKeeper()  передаётся подготовленный массив с заказами, по которым будут отправлены счета.

В этой функции устанавливается соединение с сервером PayKeeper, с использованием логина и пароля любого пользователя личного кабинета, и получается токен для работы с личным кабинетом по JSON API:

Затем созданное соединение используется для отправки счетов:

В функции отправки ОтправитьДанныеPayKeeper(); для каждого элемента в массиве заказов формируется и отправляется POST-запрос с необходимыми данными для метода 3.4 JSON API. Обратите внимание на заголовок Content-Type для данных запросов. Он обязательно должен быть application/x-www-form-urlencoded, иначе система сообщит об ошибке.

Важно! Для конфигураций 1С, работающих в режиме совместимости, строка формирования запроса должна быть:

В случае успешного завершения данного запроса сразу выполняется запрос 3.5 JSON API для отправки счёта клиенту:

В случае, если вы планируете самостоятельно формировать письмо со счётом клиенту, а не отправлять его средствами PayKeeper, можно исключить эту последнюю секцию кода, осуществляющую запрос 3.5 и использовать параметр invoice_url из ответа по запросу 3.4 для отправки ссылки на оплату клиенту.

Этот код является примером реализации автоматической отправки счетов из 1С с использованием JSON API, однако вполне может использоваться в реальном решении по интеграции с нашей системой.

Оставьте заявку

Менеджер перезвонит вам и расскажет про детали подключения