# Главная

Здесь вы найдете самую последнюю документацию для подключения **Юридических лиц** или **ИП.**


# Начало работы


# Регистрация

На главной странице сайта [unitpay.ru](https://unitpay.ru/) нажмите на кнопку  ["Регистрация"](https://unitpay.ru/signup/legal). Вы увидите форму регистрации нового партнера.

Чтобы пройти регистрацию, вам необходимо:

\- Указать **ИНН компании** или **ИП**, **адрес электронной почты** и **пароль**.\
\- Согласиться с [правилами использования Сервиса Unitpay ](https://unitpay.ru/ru/rules)и \
с [политикой обработки персональных данных](https://unitpay.ru/ru/policy).

После того, как вы нажмёте кнопку **"Продолжить"**, вам потребуется подтвердить адрес электронной почты, указанный при регистрации. Для этого вам нужно будет перейти по ссылке из специального письма, которое мы туда направим:

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/552d51d8e4b0ac24a832aaed/file-GQRmqtd8jF.png)

О том, как в дальнейшем проходит модерация проекта и **заключение договора** читайте в разделе [Модерация проекта](/first_steps/moderation).

О том, как добавить свой первый проект - в разделе [Добавление проекта](/first_steps/adding-project).


# Добавление проекта

Сразу после регистрации и подтверждения данных аккаунта, система предложит вам пройти несколько шагов для подключения, в том числе добавление проекта:

<figure><img src="/files/mSwM2770fvyKb9aOL0vG" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**СОВЕТ:** Проверьте, чтобы сайт соответствовал [ключевым требованиям](https://help.unitpay.ru/article/41-moderation#projectRules) платежных систем.
{% endhint %}

### Основные сведения о проекте

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

**Название** должно соответствовать используемому на сайте наименованию компании, продукта или проекта. В **описании** необходимо указать вид товаров и / или услуг, которые продаются на сайте.

{% hint style="warning" %}
**ВАЖНО:** В системе не может быть два одинаковых домена (*URL проекта*) на разных аккаунтах. Исключением являются проекты, которые находятся в архиве.
{% endhint %}

### Подтверждение и завершение

Вы можете выбрать один из трёх вариантов подтверждения:

| вариант   | описание способа                                                                        | примечание                                                                                                                                                                                                                                                                                                                                                 |
| --------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 вариант | Разместите в корне вашего сайта специальный текстовый файл и нажмите "Добавить проект". |                                                                                                                                                                                                                                                                                                                                                            |
| 2 вариант | Добавьте в html-код главной страницы вашего сайта (блок head) мета-тэг, указанный нами. |                                                                                                                                                                                                                                                                                                                                                            |
| 3 вариант | Добавьте DNS-запись типа TXT, содержащую указанное нами значение.                       | <p>Если вы приобретали домен на reg.ru, то при создании DNS записи в настройках уже будет указан ваш домен; в поле Subdomain вам необходимо указать @ / www для A-записи.<br><a href="https://help.reg.ru/support/dns-servery-i-nastroyka-zony/nastroyka-resursnykh-zapisey-dns/nastroyka-resursnykh-zapisey-v-lichnom-kabinete">Справка от REG.ru</a></p> |

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

{% hint style="info" %}
**ВАЖНО!** IP адреса, с которых система осуществляет запросы к платформе вашего сервера: \
*31.186.100.49*, *51.250.20.9*
{% endhint %}

<figure><img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e5913842c7d3a7e9ae870a1/file-CZuhIRsRL4.png" alt=""><figcaption></figcaption></figure>

О том, как проходит модерация проекта, читайте в разделе [Модерация проекта](https://help.unitpay.ru/article/41-moderation).


# Добавление сообщества VK

Мы подключаем не только проекты с собственным сайтом ([Добавление проекта](/first_steps/adding-project)), но и проекты, работающие в социальных сетях. На данный момент доступна регистрация сообществ/групп VK.

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

{% hint style="info" %}
**ВАЖНО:** В системе не может быть два одинаковых ресурса (*URL проекта*) на разных аккаунтах. Исключением являются проекты, которые находятся в архиве.
{% endhint %}

#### Основные сведения о проекте

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

<figure><img src="/files/8fSHPqOHWzIHt6wdk8vv" alt=""><figcaption></figcaption></figure>

#### Подтверждение и завершение

Чтобы перейти в VK и разрешить нашему приложению доступ к вашему аккаунту в социальной сети, нажмите "**Завершить**":

<figure><img src="/files/Mgpj6dk9IGJvdcOH216s" alt=""><figcaption></figcaption></figure>

Наше приложение Unitpay Verification запросит разрешения для работы с VK. Нажмите "**Разрешить**"

Система автоматически сверит ваши права на сообщество/группу VK (вы должны быть **создателем**) и незамедлительно добавит проект на модерацию.

О том, как проходит модерация проекта, читайте в разделе [Модерация проекта](/first_steps/moderation).

**ВАЖНО!** Об удобном способе приёма платежей для магазинов в социальных сетях читайте в разделе [Создание ссылок на оплату в личном кабинете](/payments/payment-links).


# Добавление канала / супергруппы Telegram

Появилась возможность добавлять Telegram каналы и супергруппы как проекты в систему Unitpay и принимать оплату.&#x20;

#### Основные сведения о проекте

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

{% hint style="warning" %}
**ВАЖНО:** В системе не может быть два одинаковых ресурса (*URL проекта*) на разных аккаунтах. Исключением являются проекты, которые находятся в архиве.
{% endhint %}

#### Добавление проекта

В первую очередь в канал необходимо добавить @[UnitPayBot](https://t.me/UnitPayBot) и выдать ему права администратора.

{% hint style="info" %}
**Важно:** для корректной работы и учета платежей в системе Unitpay просьба не удалять @[UnitPayBot](https://t.me/UnitPayBot) из канала / супергруппы.
{% endhint %}

Для добавления telegram канала / супергруппы на форме в поле URL проекта необходимо указывать значение после t.me/:

<figure><img src="/files/SJuiOddXypGGGNVa5RvT" alt=""><figcaption></figcaption></figure>

По кнопке **Продолжить** откроется второй шаг добавления проекта - проверка добавлен ли бот Unitpay в ваш канал. \
Если бот уже добавлен, вам необходимо нажать кнопку Завершить.&#x20;

<figure><img src="/files/S9ZdSxJGO2lhHfWwmhX8" alt=""><figcaption></figcaption></figure>

Готово!

<figure><img src="/files/z1T3Mmy6dxrMV6ylNKhD" alt=""><figcaption></figcaption></figure>


# Модерация проекта

## Первичная модерация проекта

Каждый новый проект, добавленный в систему, автоматически отправляется на модерацию. Модерация проводится в течение дня по будням с 10 до 18 ч. Максимальное время модерации по будням - 24 ч.

Модерация включает в себя полную проверку сайта, в том числе проверку работоспособности и наполнения актуальной информацией всех разделов. Подробный рассказ о компании, о её товарах или услугах, политика возврата денежных средств и актуальные контактные данные - всё это поможет вам быстрее пройти модерацию и избежать лишних вопросов со стороны службы безопасности. \
[**Требования к добавляемым сайтам**](#trebovaniya-k-dobavlyaemym-saitam) размещены ниже.

После прохождения Модерации проекту может быть присвоена временная категория «Стартовая» или окончательная (например, «Продажа услуг»).

### «**Стартовая**» **категория**&#x20;

Эта категория означает, что ваш проект прошёл **первичную проверку** и добавлен в систему; в ходе модерации у службы безопасности возникли уточнения.\
Например, сайт не соответствует всем требованиям или требуются дополнительные документы.

В этом случае, проекту будет присвоен статус *«На доработке»*, а подробный комментарий от службы безопасности поступит в разделе Уведомлений:

<figure><img src="/files/m3eL9NgXPJKx3Yi51VwQ" alt=""><figcaption></figcaption></figure>

После выполнения доработок, проект необходимо отправить на перепроверку через ссылку **«Доработан»** в Личном кабинете:

<figure><img src="/files/t7JoibaYLYa4dFp1MttY" alt=""><figcaption></figcaption></figure>

Если не внести доработок, то по истечении 14 дней проект будет перенесен в статус *«В архиве»*.\
В случае, если вы внесете доработки после этого, то проект потребуется извлечь на повторную модерацию.

### Окончательная модерация проекта

Эта категория означает, что ваш проект **успешно прошел полную проверку**.\
В таком случае, проекту будет присвоен статус «Активен» и назначена соответствующая категория, например, «Продажа товаров» или «Онлайн-игры»

<figure><img src="/files/yDcpr4c5PvIWJN8OXEf7" alt=""><figcaption></figcaption></figure>

***

### Отправка документов для получения выплат

Возможность приема и вывода денежных средств открывается только для партнёров, приславших необходимый пакет документов.&#x20;

Из  раздела **«Главная»** необходимо перейти по кнопке **«Заполнить анкеты»**, затем следует ознакомиться с действующими офертами. После нажать на кнопку **«Согласиться и продолжить»** - вы перейдёте на страницу со списком требующихся для сотрудничества документов и инструкцией по их предоставлению.

<figure><img src="/files/9pTaeslKpKyLAhP0btI0" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Qe9CDRXlSVHciCM4uG4H" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Внимание:** кнопка согласия с офертами становится активна уже после прохождения проектом **первичной проверки**.
{% endhint %}

О том, как настроить прием платежей, читайте в разделе: [Платежи](/payments).

***

### Требования к добавляемым сайтам

{% hint style="success" %}
**ВАЖНО: для успешного прохождения модерации рекомендуем воспользоваться** [**Помощником**](https://help.unitpay.ru/first_steps/moderation/pomoshnik-po-moderacii)**.**&#x20;
{% endhint %}

1. Сайт должен иметь статический IP адрес и размещаться на платном хостинге;
2. Сайт не должен содержать информацию, запрещенную к распространению в соответствии с законодательством Российский Федерации и Правилами Платежных систем;
3. На сайте не должно быть ссылок и баннеров, противоречащих требованиям действующего законодательства Российской Федерации, в том числе подозрительных сайтов (например, сайтов для взрослых и т.п.), а также ссылок баннерных сетей, в которых могут всплыть баннеры подозрительного/запрещенного содержания;
4. Все внутренние ссылки сайта должны быть рабочими, а страницы и разделы заполнены актуальной информацией;
5. Для лицензируемой деятельности на сайте должна быть размещена информация о лицензиях, разрешениях от производителя, правообладателя или государственных органов на реализуемые Товары;
6. На сайте в обязательном порядке должна быть размещена **в открытом доступе** следующая информация:\
   6.1 Данные о юридическом лице Предприятия (наименование, юридический и фактический адрес, ИНН, ОГРН, контактный телефон, электронная почта и т.д.);\
   6.2 Полное описание потребительских характеристик продаваемых Товаров и Цена Товаров;\
   6.3 Пользовательское соглашение / оферта;\
   6.4 Условия и порядок возврата и отмены Товара/Услуги;\
   6.5 Необходимо указать Условия, порядок и сроки доставки Товара/Услуги;\
   6.6 Информация о проведении, порядке оплаты и правилах;\
   6.7 Политика информационной безопасности;\
   6.8 Политика обработки персональных данных;\
   6.9 Логотипы;\
   6.10 Регистрационная форма для клиента (данные о клиенте, формирующем заказ).

&#x20;  7\. Сайт не имеет право продавать Товары/Услуги, запрещенные к продаже:

<details>

<summary>открыть</summary>

7.1 Товары/услуги, противоречащие действующему законодательству Российской Федерации; \
7.2 Нелегальный игорный бизнес (казино, букмекеры и т. д.); \
7.3 Лотереи; \
7.4 Аукционы; \
7.5 Обмен валюты; \
7.6 Телемаркетинг; \
7.7 Финансовые пирамиды; \
7.8 Привлечение инвестиций; \
7.9 Сайты политической и околополитической тематики, предвыборная агитация; \
7.10 Благотворительность, взносы, пожертвования без соответствующих лицензий, и без полного описания на сайте, информации о спонсорах и об образовании фонда;\
7.11 Порнографические материалы; \
7.12 Распространение продукции, пропагандирующей насилие, межнациональную рознь, терроризм; \
7.13 Любые магические / экстрасенсорные услуги; \
7.14 Брачные услуги, женский и мужской эскорт; \
7.15 Услуги эротического массажа; \
7.16 Медицинские услуги и консультации онлайн с постановкой диагноза; \
7.17 Продажа редких/экзотических животных; \
7.18 Продажа оружия, взрывчатых веществ (также изделий, конструктивно сходных с оружием); \
7.19 Продажа алкоголя; \
7.20 Продажа наркотических и психотропных веществ; 7.21 Продажа табака, табачной продукции, сигарет (в том числе различного рода электронных и наполнителей для них); \
7.22 Продажа медицинских и лекарственных препаратов и БАДов; \
7.23 Подделка документов; \
7.24 Файлообменники; \
7.25 Программное обеспечение и сервисы для подмены номера телефона при исходящих звонках и SMS; \
7.26 Продажа ПО без наличия договоров с поставщиками или разработчиками данного ПО, подтверждающие лицензию и разрешение продавать в сети Интернет; \
7.27 Продажа реквизитов банковских карт и платный доступ к персональным данным (базы МТС, Билайн, МГТС, водительских прав и т.д.); \
7.28 Корректировка пробега автомобиля, инструменты модификации счетчиков, вмешательство в программный код автомобиля (чипирование, модернизация); \
7.29 Продажа чит-кодов для компьютерных игр, ботов; 7.30 Реплики брендовых товаров или перепродажа контента (например, курсов); \
7.31 Прогнозы на спорт; \
7.32 Услуги по подбору займов; \
7.33 Проекты с обзвонами для розыгрышей по телефону; 7.34 Продажа социальных аккаунтов; \
7.35 Сайты, работающие по модели субагрегатора.

</details>

### Требования к добавляемым проектам с группами / сообществами VK

Основные требования к проектам с группами/сообществами VK аналогичны [**Требованиям к добавляемым сайтам**](#trebovaniya-k-dobavlyaemym-saitam)**.** Дополнительно должны выполняться следующие условия:

1. В группе / сообществе VK должны быть размещены действующие контактные данные или иметься возможность написать сообщение. &#x20;
2. В группе / сообществе VK должна быть активность (наличие "живых" подписчиков, обновления с новостями и т. д.).
3. Группа / сообщество VK должно быть открыто для проверки контента.

### Требования к добавляемым каналам / супергруппам Telegram

Основные требования к каналам / супергруппам в Telegram аналогичны [**Требованиям к добавляемым сайтам**](#trebovaniya-k-dobavlyaemym-saitam)**.** Дополнительно должны выполняться следующие условия:

1. Канал должен оставаться Публичного типа на **всё** время работы;
2. Бот @UnitPayBot должен быть добавлен в канал / супергруппу как администратор на **всё** время работы (это необходимо для корректного учета платежей в системе Unitpay);
3. Правовая информация должна находиться в свободном доступе (например, в описании канала / супергруппы или через закрепленные сообщения).

{% hint style="warning" %}
**Важно:** работа через канал / супергруппу в Telegram не осуществляется с маркетплейсами и фриланс биржами. Для сотрудничества по этим категориям бизнеса необходимо добавление сайта.
{% endhint %}

***

## Статусы проекта в системе

**АКТИВЕН:** проект успешно прошел модерацию, а прием платежей будет доступен вашим клиентам в полном объеме после отправки документов и согласования с поставщиками.

**НА ДОРАБОТКЕ:** если вашему сайту необходимы некритичные доработки, мы позволяем устранить их в течение 14 суток после прохождения первичной модерации. \
В случае, если проект не будет отправлен вами на повторную проверку в течение 14 суток, он автоматически отправится в архив. После выполнения указанных рекомендаций, отправьте проект на перепроверку, нажав на кнопку "Доработан".

**НА ПЕРЕПРОВЕРКЕ:** Вы устранили недоработки и отправил сайт на перепроверку. Если рекомендации выполнены, вашему проекту будут выставлена актуальная категория. Перепроверка проекта проводится в течение 72 часов после отправки.

**В АРХИВЕ:** любой проект можно перенести в специальный архив, при этом прием платежей для ваших клиентов станет недоступен. Такой же статус получат проекты, операции по которым не проходили более двух месяцев с момента последнего успешного платежа.

**ЗАБЛОКИРОВАН:** служба безопасности приняла решение отклонить проект. Это может быть связано с его содержанием, а также деятельностью самой компании.

{% hint style="info" %}
По вопросам модерации проекта вы можете обратиться в нашу службу поддержки.
{% endhint %}


# Помощник по модерации

Обратите внимание: для того, чтобы пройти модерацию успешно, необходимо добавить на сайт все пункты из этого помощника.

### Пользовательское соглашение/оферта

Договор между владельцем и пользователем. Должен содержать предмет соглашения, с чем обязуется соглашаться пользователь при регистрации или оплате, а также какие обязанности есть у самого магазина перед пользователем.

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

Ответственность сторон желательно описать на тех сайтах, где регистрация перед покупкой обязательна. Например, игровой тематики или знакомства.

В пользовательское соглашение/оферту можно добавить срок действия.

### Политика возвратов

В политике возвратов должны быть отображены:

* порядок действий плательщика (по каким контактам обратиться, какую информацию указать);
* сроки рассмотрения заявки на возврат со стороны администрации магазина (каким способом будут возвращены средства в случае принятия решения в пользу плательщика: наличными или на банковскую карту при совершении платежа).

Если на вашем сайте не возвратные товары/услуги, необходимо отобразить информацию об этом. А также добавить политику возвратов в нестандартных случаях (например, технические неполадки - зависание платежа, двойное списание и другое).

### Политика обработки персональных данных

Наличие такого документа на сайте - это обязательное требование поставщиков. В тексте должны быть указаны цели сбора информации, сама обработка и её меры, а также другие положения.

Сам документ можно назвать как *политикой обработки персональных данных*, так и *политикой конфиденциальности.*

### Политика информационной безопасности

Поставщик просит в обязательном порядке указывать информацию о мерах по обеспечению безопасности Операций с использованием реквизитов Карт, а также разъяснение для покупателей о политике информационной безопасности, применяемой на Сайте.

Пример информации о мерах по обеспечению безопасности, который можно использовать на вашем сайте:

> *“Оплатить заказ можно банковскими картами (Вы можете указать дополнительные способы оплаты на своем сайте оптимально). Чтобы оплатить покупку, вы будете перенаправлены на сервер платежной системы Unitpay, на котором нужно ввести необходимые данные, или переотправлены на платежную форму банка-эквайера.*
>
> *Платежная система Unitpay обладает подтвержденным сертификатом соответствия требованиям стандарта PCI DSS в части хранения, обработки и передачи данных держателей карт. Стандарт безопасности банковских карт PCI DSS поддерживается международными платежными системами. Система Unitpay также является участником программы непрерывного соответствия Compliance Control PCI DSS Compliance Process (P.D.C.P.). Ваши конфиденциальные данные, необходимые для оплаты (реквизиты карты, регистрационные данные и др.), не поступают в интернет-магазин — их обработка производится на стороне процессингового центра Unitpay и полностью защищена.”*

### Информация о проведении, порядке оплаты и правилах

На сайте внутри документов или отдельной страницей мы просим размещать информацию о проведении порядке оплаты и правилах.

**Важно:** порядок оплаты лучше оформить самостоятельно, поскольку у разных сайтов разная последовательность действий.

*Пример* корректного описания:

> *“К оплате принимаются банковские карты, для оплаты товара при оформлении заказа в интернет-магазине выберите способ оплаты: банковской картой. При оплате заказа банковской картой, обработка платежа происходит на авторизационной странице банка, где Вам необходимо ввести данные Вашей банковской карты:*
>
> *Тип карты*
>
> *Номер карты,*
>
> *Срок действия карты*
>
> *CVC2/CVV2 код*
>
> *Если Ваша карта подключена к услуге 3D-Secure, Вы будете автоматически переадресованы на страницу банка, выпустившего карту, для прохождения процедуры аутентификации. Информацию о правилах и методах дополнительной идентификации уточняйте в Банке, выдавшем Вам банковскую карту.”*


# Перенос проекта

Для переноса проекта с аккаунта на аккаунт необходимо выполнить два простых шага:

1. Переместить проект в архив на старом аккаунте.
2. Добавить проект на модерацию на новом аккаунте.

{% hint style="info" %}
**Важно:** статистика платежей, выплат и прочая информация при этом не переносится. Рекомендуем скачать выгрузки в разделе Статистика по кнопке Excel.
{% endhint %}


# Платежи


# Создание платежа (форма оплаты)

## Создание платежа

<mark style="color:blue;">`GET`</mark> `https://unitpay.ru/pay/PUBLIC-KEY?sum&account&desc&signature`

Для инициализации платежа посредством единой формы оплаты вам достаточно направить пользователя по специальному URL и передать ряд обязательных для оплаты параметров.

#### Основные параметры:

<table><thead><tr><th width="169.66668701171875">name</th><th width="129.8887939453125">type</th><th>description</th></tr></thead><tbody><tr><td>sum</td><td>number</td><td><p>Сумма платежа. По умолчанию в рублях*. </p><p></p><p>*- см. дополнительный параметр currency.</p></td></tr><tr><td>account</td><td>string</td><td>Идентификатор абонента в вашей системе (например email или номер заказа).</td></tr><tr><td>desc</td><td>string</td><td>Описание заказа. Используется только для информирования при совершении платежа.</td></tr><tr><td>signature</td><td>string</td><td>Цифровая подпись запроса. Она защищает вас от злоумышленников - подмены описания или стоимости заказа, размещения ссылки на оплату на ресурсах мошенников. <br>Образуется как <code>sha256(account + "{up}" + currency + "{up}" + desc + "{up}" + sum + "{up}" + secretKey)</code> ,<br>где sha256 - метод хеширования;  <br>"{up}" - разделитель параметров в хеш-функции;  <br>secretKey - секретный ключ проекта (доступен в настройках проекта);  <br><br><strong>Важно</strong>. Если вы не передаете currency на форму оплаты, то этот параметр не должен участвовать в формировании подписи.</td></tr></tbody></table>

Значение PUBLIC KEY и SECRET KEY проекта можно найти на странице **Настройки** проекта

<figure><img src="/files/NBtfFp8wAhi1DfApLcdZ" alt=""><figcaption></figcaption></figure>

**Дополнительные параметры:**

<table><thead><tr><th width="169">name</th><th width="143.4444580078125">type</th><th>description</th></tr></thead><tbody><tr><td>currency</td><td>string</td><td>Валюта заказа по стандарту ISO 4217 (EUR, USD, RUB, UAH, BYN и тд. <a href="https://help.unitpay.money/book-of-reference/currency-codes">Полный список валют</a>). <br><br>Если платежная система не поддерживает требуемую валюту, то сумма будет сконвертирована в валюту системы оплаты.</td></tr><tr><td>cashItems</td><td>string</td><td>Передача данных по онлайн кассе. Используется, если вы выбиваете чеки на выполненные услуги. <a href="/pages/-MBD4MOkSgZaYFD6SuGB">Подробнее</a>.</td></tr><tr><td>locale</td><td>string</td><td><p>Принудительное указание языка платежной формы, допустимые значения: ru, en. </p><p>По умолчанию язык формы определяется исходя из страны, к которой относится IP адрес пользователя.</p></td></tr><tr><td>backUrl</td><td>string</td><td>платежной формы без совершения покупки, по умолчанию используется адрес проекта. В адресе обязательно должен использоваться домен проекта. <br><br>Примеры:<br><code>https://redirect.&#x3C;домен проекта>/?someParams</code> <code>https://&#x3C;домен проекта>/redirect/</code></td></tr><tr><td>resultUrl</td><td>string</td><td><p>Полный URL адрес перехода пользователя после оплаты (например, <a href="http://unitpay.ru/">http://вашсайт.ru</a>), принудительно отправляет плательщика по этому адресу после оплаты.</p><p></p><p><strong>Важно:</strong> домен не должен отличаться от домена проекта. Если параметр не задан, то будет использован адрес страницы чека платежа.</p></td></tr><tr><td>subscription</td><td>string</td><td>Используйте данный флаг, если требуется создать подписку по карте плательщика. Идентификатор подписки (subscriptionId) будет передан в методе PAY на ваш обработчик платежа. <br>Использование подписок возможно только после согласования со службой безопасности.</td></tr></tbody></table>

**Пример формирования цифровой подписи:**

{% tabs %}
{% tab title="PHP" %}

```php
function getFormSignature($account, $desc, $sum, $secretKey, $currency = null) {
    $parts = [$account];
    if ($currency !== null && $currency !== '') $parts[] = $currency;
    $parts[] = $desc;
    $parts[] = $sum;
    $parts[] = $secretKey;
    return hash('sha256', implode('{up}', $parts));
}

$sig = getFormSignature('customer@gmail.com', 'TEST_DESCRIPTION', '150', 'YOUR_SECRET', 'RUB');

```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require "digest"

def form_signature(account:, desc:, sum:, secret_key:, currency: nil)
  parts = [account]
  parts << currency unless currency.nil? || currency.empty?
  parts += [desc, sum, secret_key]
  Digest::SHA256.hexdigest(parts.join("{up}"))
end

# Пример
sig = form_signature(account: "customer@gmail.com", desc: "TEST_DESCRIPTION", sum: "150", secret_key: "YOUR_SECRET", currency: "RUB")

```

{% endtab %}

{% tab title="Python" %}

```python
import hashlib

def get_form_signature(account, desc, sum_, secret_key, currency=None):
    parts = [str(account)]
    if currency is not None and str(currency) != "":
        parts.append(str(currency))
    parts += [str(desc), str(sum_), str(secret_key)]
    return hashlib.sha256("{up}".join(parts).encode("utf-8")).hexdigest()

# Пример
sig = get_form_signature("customer@gmail.com", "TEST_DESCRIPTION", "150", "YOUR_SECRET", "RUB")

```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const crypto = require("crypto");

function getFormSignature({ account, desc, sum, secretKey, currency }) {
  const parts = [String(account)];
  if (currency != null && String(currency) !== "") parts.push(String(currency));
  parts.push(String(desc), String(sum), String(secretKey));
  return crypto.createHash("sha256").update(parts.join("{up}")).digest("hex");
}

// Пример
const sig = getFormSignature({
  account: "customer@gmail.com",
  desc: "TEST_DESCRIPTION",
  sum: "150",
  secretKey: "YOUR_SECRET",
  currency: "RUB",
});

```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
	"crypto/sha256"
	"encoding/hex"
	"fmt"
	"strings"
)

func GetFormSignature(account, desc, sum, secretKey string, currency *string) string {
	parts := []string{account}
	if currency != nil && *currency != "" {
		parts = append(parts, *currency)
	}
	parts = append(parts, desc, sum, secretKey)
	payload := strings.Join(parts, "{up}")
	sumBytes := sha256.Sum256([]byte(payload))
	return hex.EncodeToString(sumBytes[:])
}

func main() {
	cur := "RUB"
	sig := GetFormSignature("customer@gmail.com", "TEST_DESCRIPTION", "150", "YOUR_SECRET", &cur)
	fmt.Println(sig)
}

```

{% endtab %}

{% tab title=".NET" %}

```csharp
using System;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;

static class UnitpaySign
{
    public static string GetFormSignature(string account, string desc, string sum, string secretKey, string currency = null)
    {
        var parts = new List<string> { account };
        if (!string.IsNullOrEmpty(currency)) parts.Add(currency);
        parts.Add(desc);
        parts.Add(sum);
        parts.Add(secretKey);

        var payload = string.Join("{up}", parts);
        using var sha = SHA256.Create();
        var bytes = sha.ComputeHash(Encoding.UTF8.GetBytes(payload));
        return Convert.ToHexString(bytes).ToLowerInvariant();
    }
}

class Program
{
    static void Main()
    {
        var sig = UnitpaySign.GetFormSignature("customer@gmail.com", "TEST_DESCRIPTION", "150", "YOUR_SECRET", "RUB");
        Console.WriteLine(sig);
    }
}
C#
```

{% endtab %}

{% tab title="Java" %}

```java
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.List;

public class UnitpaySignature {
    public static String getFormSignature(String account, String desc, String sum, String secretKey, String currency) {
        List<String> parts = new ArrayList<>();
        parts.add(account);
        if (currency != null && !currency.isEmpty()) parts.add(currency);
        parts.add(desc);
        parts.add(sum);
        parts.add(secretKey);

        String payload = String.join("{up}", parts);
        return sha256Hex(payload);
    }

    private static String sha256Hex(String data) {
        try {
            MessageDigest md = MessageDigest.getInstance("SHA-256");
            byte[] hash = md.digest(data.getBytes(StandardCharsets.UTF_8));
            StringBuilder sb = new StringBuilder(hash.length * 2);
            for (byte b : hash) sb.append(String.format("%02x", b));
            return sb.toString();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    // Пример
    public static void main(String[] args) {
        String sig = getFormSignature("customer@gmail.com", "TEST_DESCRIPTION", "150", "YOUR_SECRET", "RUB");
        System.out.println(sig);
    }
}

```

{% endtab %}
{% endtabs %}

**Пример кода для формирования ссылки на оплату:**&#x20;

```php
<?php

$params = [
    'account' => 'test_unitpay',
    'currency' => 'RUB',
    'desc' => 'test_unitpay',
    'sum' => '100',
] ;

$billingCode = 'card';
$projectPublicId = '123456-1bfac';

$secretKey = 'secretKey';
$signatureParams = ['desc' => $params['desc'], 'sum' => $params['sum'], 'account' => $params['account'], 'currency' => $params['currency']];
ksort($signatureParams);
$signatureParams[] = $secretKey;
$signature =  hash('sha256', implode('{up}', $signatureParams));
$baseUrl = 'https://unitpay.ru';

$params['signature'] = $signature;
$uri = http_build_query($params);

echo $baseUrl.'/pay/'.$projectPublicId.'/'.$billingCode.'?'.$uri.PHP_EOL;
```

**Пример правильно сформированной ссылки на оплату**:&#x20;

```http
https://unitpay.ru/pay/123456-1bfac/card?account=test_unitpay&currency=RUB&desc=test_unitpay&sum=10&signature=0d3904fc3f46aaf6d153621541a54f85e921d491d43cc36728d21bed47457790
```

#### Метод оплаты по умолчанию

Вы можете определить платежный метод, который будет использоваться по умолчанию для пользователя. Для этого в конец URL вашей платежной формы добавьте параметр billingCode, соответствующий буквенному [коду платежной системы](https://help.unitpay.money/book-of-reference/payment-system-codes).

#### Возврат на сайт магазина

После инициализации оплаты пользователь переходит на страницу чека, где отслеживается статус платежа. При получении успешного либо ошибочного статуса пользователь переходит на сайт партнера по кнопке "В магазин" (поля Fail URL/Success URL в настройках личного кабинета) с GET параметрами:

<table data-header-hidden><thead><tr><th width="160.44447835286456">name</th><th width="174.111083984375">type</th><th>description</th></tr></thead><tbody><tr><td>account</td><td>текст</td><td>Идентификатор плательщика в системе партнера (например, логин или email)</td></tr><tr><td>paymentId</td><td>число</td><td>Номер платежа в системе UnitPay</td></tr></tbody></table>


# Создание платежа (редирект)

#### Пример запроса (GET):

```bash
GET https://unitpay.ru/api

method       = initPayment
paymentType  = card
projectId    = 123456
secretKey    = sk_live_2YQt9m
sum          = 290.00
account      = Заказ_№42
desc         = Премиум-доступ к боту
```

**Обязательные параметры:**

<table data-header-hidden><thead><tr><th width="197.77777099609375">name</th><th width="125.55562337239581">type</th><th>description</th></tr></thead><tbody><tr><td><strong>paymentType</strong></td><td>строка</td><td><a href="https://help.unitpay.ru/book-of-reference/payment-system-codes">Код платежной системы</a>, через которую будет идти оплата</td></tr><tr><td><strong>projectId</strong></td><td>число</td><td>ID вашего проекта в системе UnitPay</td></tr><tr><td><strong>secretKey</strong></td><td>строка</td><td>Секретный ключ</td></tr><tr><td><strong>sum</strong></td><td>число</td><td>Сумма платежа в рублях (например, 100)</td></tr><tr><td><strong>account</strong> </td><td>строка</td><td>Идентификатор абонента в системе партнера (например, логин или email абонента)</td></tr><tr><td><strong>desc</strong></td><td>строка</td><td>Описание заказа</td></tr></tbody></table>

Значение project Id и SECRET KEY проекта можно найти на странице **Настройки** проекта

<figure><img src="/files/NBtfFp8wAhi1DfApLcdZ" alt=""><figcaption></figcaption></figure>

**Дополнительные параметры оплаты:**

<table data-header-hidden><thead><tr><th width="174.55731201171875">name</th><th width="149.66145833333331">type</th><th>description</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>строка</td><td><p>Валюта заказа по стандарту ISO 4217 (RUB, BYN, EUR, USD итд. <a href="https://help.unitpay.ru/book-of-reference/currency-codes">Полный список валют</a>). </p><p></p><p>Если платежная система не поддерживает требуемую валюту, то сумма будет сконвертирована в валюту системы оплаты</p></td></tr><tr><td><strong>locale</strong></td><td>строка</td><td>Принудительное указание языка платежной формы, допустимые значения: ru, en. По умолчанию язык формы определяется исходя из страны, к которой относится IP адрес пользователя</td></tr><tr><td><strong>backUrl</strong></td><td>строка</td><td>Адрес возврата пользователя с платежной формы без совершения покупки, по умолчанию используется адрес проекта. В адресе обязательно должен использоваться домен проекта. <br><br>Примеры: <br><code>https://redirect.&#x3C;домен проекта>/?someParams", "https://&#x3C;домен проекта>/redirect/</code></td></tr><tr><td><strong>resultUrl</strong></td><td>строка</td><td>Полный URL адрес перехода пользователя после оплаты (например, <a href="http://unitpay.ru/">http://вашсайт.ru</a>), принудительно отправляет плательщика по этому адресу после оплаты.<br><br><strong>Важно:</strong> домен не должен отличаться от домена проекта. Если параметр не задан, то будет использован адрес страницы чека платежа.</td></tr><tr><td><strong>hideOtherMethods</strong></td><td>строка</td><td><code>true</code> или <kbd>false</kbd><br>Скрывает окно выбора других способов оплаты<br></td></tr></tbody></table>

{% hint style="warning" %}
Запрос можно выполнить в тестовом режиме. [Узнать подробнее](https://help.unitpay.ru/other/test-api#vvedenie)
{% endhint %}

{% hint style="info" %}
По мере выполнения платежа мы уведомляем платформу магазина о статусе оплаты, последовательно [отправляя GET запросы на URL обработчика](https://help.unitpay.ru/payments/payment-handler).
{% endhint %}

#### Пример успешного ответа:

{% tabs %}
{% tab title="Redirect" %}

```json
{
    "result": {
        "type": "redirect",
        "paymentId": 1231231234,
        "message": "Счет успешно выставлен, ожидается оплата",
        "receiptUrl": "https://unitpay.ru/pay/receipt/1231231234-12d1fae123",
        "statusUrl": "https://unitpay.ru/pay/receipt/1231231234-12d1fae123",
        "redirectUrl": "https://unitpay.ru/pay/123456-1fc2f/card?account=test_unitpay&sum=10.00&currency=RUB&signature=d85e744643bbae4dadf49e845a14f5728eaf13b7c533e7cd5277c0531d91cb2c&desc=test_unitpay&hideOtherMethods=true&locale=ru&paymentId=1231231234&hideMenu=true"
    }
}
```

{% endtab %}
{% endtabs %}

<table data-header-hidden><thead><tr><th width="178.88887532552081">name</th><th width="150.111083984375">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>string</td><td>Информация о результате формирования платежа</td></tr><tr><td><strong>paymentId</strong></td><td>integer</td><td>Номер платежа в системе UnitPay</td></tr><tr><td><strong>type</strong> </td><td>string</td><td><p><strong>Тип ответа:</strong></p><p><strong>redirect</strong> — необходимо перенаправить пользователя на адрес, указанные в <em>redirectUrl</em></p><p><strong>response</strong> - необходимо показать пользователю информацию, указанную в <em>response</em> <br><strong>invoice</strong> — счет создан автоматически и направлен плательщику. Дополнительных действий не требуется</p></td></tr><tr><td><strong>redirectUrl</strong></td><td>string</td><td>URL для переадресации пользователя на шлюз платежной платформы</td></tr><tr><td><strong>response</strong></td><td>string</td><td><p>html код формы</p><p></p><p>html - необходимо отобразить на странице </p></td></tr></tbody></table>

#### Ошибочный ответ

```json
{
    "error": {
        "message": "Не переданы обязательные параметры: account",
        "code": -32602
    }
}
```

<table data-header-hidden><thead><tr><th width="182.55560302734375">name</th><th width="141.33333333333331">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>string</td><td>Информация с описанием ошибки формирования платежа</td></tr><tr><td><strong>code</strong></td><td>number</td><td>Код ошибки</td></tr></tbody></table>

**Описание возможных ошибок:**

<table data-header-hidden><thead><tr><th width="196.22216796875">name</th><th>description</th></tr></thead><tbody><tr><td><strong>-32000</strong></td><td>Неверные параметры авторизации (например, login)</td></tr><tr><td><strong>-32602</strong></td><td>Ошибочные параметры запроса (запрос написан с ошибкой)</td></tr><tr><td><strong>-32603</strong></td><td>Внутренняя техническая ошибка</td></tr></tbody></table>


# Создание платежа (виджет)

Виджет - это всплывающее окно с формой оплаты.

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

Код примера и описание используемых параметров виджета расположены в личном кабинете Unitpay в настройках проекта на вкладке "Виджет оплаты" (на скриншоте ниже).

<figure><img src="/files/KOkucEvQo2zQx5iW8GUz" alt=""><figcaption></figcaption></figure>

## Код примера:

```html
<script src="https://widget.unitpay.ru/unitpay.js"></script>
<script type="text/javascript">
    this.pay = function () {
        var payment = new UnitPay();
        payment.createWidget({
            publicKey: "123456-1a234",
            sum: 100,
            account: "demo",
            signature: "7aa705cb4a735d2c576850244912af88edf181db47f4a1fd44a944f6387ae943",
            desc: "Описание платежа",
            locale: "ru",
        });
        payment.success(function (params) {
            console.log("Успешный платеж");
        });
        payment.error(function (message, params) {
            console.log(message);
        });
        return false;
    };
</script>

```

**Обязательные параметры:**

<table data-header-hidden><thead><tr><th width="180.44447835286456">name</th><th width="153">type</th><th>description</th></tr></thead><tbody><tr><td><strong>publicKey</strong></td><td>строка</td><td>Публичный ключ проекта (PUBLIC KEY)</td></tr><tr><td><strong>account</strong></td><td>строка</td><td>Идентификатор абонента в вашей системе (например, email абонента или номер заказа)</td></tr><tr><td><strong>sum</strong></td><td>число</td><td>Сумма платежа (например, 10.00);</td></tr><tr><td><strong>desc</strong></td><td>строка</td><td>Описание заказа для покупателя</td></tr><tr><td><strong>signature</strong></td><td>строка</td><td>Цифровая подпись запроса. Они защищает вас от злоумышленников - подмены описания или стоимости заказа, размещения ссылки на оплату на ресурсах мошенников.  <br>Образуется как <code>sha256( account + "{up}" + currency + "{up}" + desc + "{up}" + sum + "{up}" + secretKey)</code>,   где sha256 - метод хеширования;   <br>"{up}" - разделитель параметров в хеш-функции;   <br>secretKey - секретный ключ проекта (доступен в личном кабинете)<br><br><strong>Важно.</strong> Если вы не передаете  currency на форму оплаты, то этот параметр не должен участвовать в формировании подписи.</td></tr></tbody></table>

**Дополнительные параметры:**

<table data-header-hidden><thead><tr><th width="189.33333333333331">name</th><th width="191.22216796875">type</th><th>description</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>строка</td><td>Валюта суммы оплаты, допустимые значения: "RUB", "UAH", "BYR", "EUR", "USD" (по умолчанию RUB). Если платежная система не поддерживает требуемую валюту, то сумма будет сконвертирована в валюту по умолчанию.</td></tr><tr><td><strong>locale</strong></td><td>ru, en</td><td>Принудительное назначение языка виджета.</td></tr><tr><td><strong>paymentType</strong></td><td>строка</td><td><a href="https://help.unitpay.ru/book-of-reference/payment-system-codes">Код платежной системы</a>, через которую будет идти оплата.</td></tr><tr><td><strong>subscription</strong></td><td>true</td><td>Используйте данный флаг, если требуется создать подписку по карте плательщика. Идентификатор подписки (subscriptionId) будет передан в методе PAY на ваш <a href="https://help.unitpay.ru/payments/payment-handler">обработчик платежа</a>. Использование подписок возможно только после согласования со Службой безопасности Unitpay.</td></tr><tr><td><strong>subscriptionId</strong></td><td>число</td><td>Идентификатор <a href="https://help.unitpay.ru/payments/recurring-payments/create-subscription">подписки</a>, по которой требуется произвести списание средств. Данный параметр должен быть предварительно получен в методе PAY на ваш <a href="https://help.unitpay.ru/payments/payment-handler">обработчик платежа</a></td></tr><tr><td><strong>preauth</strong></td><td>0,1</td><td>Используйте этот флаг для создания платежа с <a href="https://help.unitpay.ru/payments/pre-authorization-payments">преавторизацией</a>, по умолчанию флаг выключен и значение равно 0</td></tr><tr><td><strong>preauthExpireLogic</strong></td><td>число</td><td><p>Поле для логики блокировки платежей с преавторизацией:</p><p>   <br>1 - При отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет подтвержден;</p><p><br>0 - При отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет отменен.</p><p><br>Если параметр не будет использован, платеж будет отменен по истечении срока. </p></td></tr><tr><td><strong>hideMenu</strong></td><td>true, false</td><td>Скрывает меню с выбором способов оплаты.</td></tr><tr><td><strong>hideOtherMethods</strong></td><td>true, false</td><td>Скрывает окно выбора других способов оплаты </td></tr></tbody></table>

**Если вы подключили онлайн-кассу в личном кабинете Unitpay, то для формирования чеков необходимо дополнительно передать ряд параметров:**

<table data-header-hidden><thead><tr><th width="163.77779134114581">name</th><th width="147.5555419921875">type</th><th>description</th></tr></thead><tbody><tr><td><strong>cashItems</strong></td><td>строка</td><td><p>Может быть сформирован следующим способом:<br></p><pre class="language-javascript" data-overflow="wrap"><code class="lang-javascript">const cashItems = [
  { name: 'Булочка', count: 1, 
    price: 10.00, type: 'commodity' 
  },
  { name: 'Кофе', count: 2, 
    price: 5.00, type: 'commodity' 
  },
]

const json = JSON.stringify(cashItems);

const bytes = new TextEncoder().encode(json);

const encodedCashItems = btoa(String.fromCharCode(...bytes));

console.log(encodedCashItems); </code></pre><p><br>Подробнее <a href="https://help.unitpay.ru/online-cash-register/receipt_parameters">тут</a></p></td></tr><tr><td><strong>customerEmail</strong></td><td>строка</td><td>Электронная почта клиента, на которую будет отправлен чек</td></tr><tr><td><strong>customerPhone</strong></td><td>строка</td><td>Телефон плательщика в международном формате без "+" (чек на него не будет отправлен)</td></tr></tbody></table>


# Создание ссылок на оплату в личном кабинете

Использование функционала возможно после того, как ваш проект был одобрен в систему.&#x20;

### Как создать ссылку на оплату в личном кабинете?

Чтобы создать ссылку на оплату, необходимо в настройках активного проекта выбрать **раздел “Товары”**.&#x20;

<figure><img src="/files/gMe9ZuNc43bsHTFVUcLR" alt=""><figcaption></figcaption></figure>

Чтобы добавить новый товар, необходимо нажать **\[+ Добавить товар]** и заполнить следующие поля:&#x20;

<figure><img src="/files/pmHA26ra4PCbMhmAIQN6" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="295.1112060546875">name</th><th>description</th></tr></thead><tbody><tr><td>Название</td><td>Название товара, которое плательщик увидит перед оплатой.</td></tr><tr><td>Описание</td><td>Описание товара, которое плательщик увидит перед оплатой.</td></tr><tr><td>Цена</td><td>Сумма, на которую будет выставлен счет плательщику.</td></tr><tr><td>Валюта</td><td>Валюта заказа по стандарту ISO 4217 (RUB, UAH, BYN, EUR, USD и тд. <a href="/pages/-MIy12TsNMnyS0DEFjSW">Полный список валют</a>).</td></tr><tr><td>Сообщение на чеке</td><td>Информация, которую увидит пользователь, после успешной оплаты.</td></tr><tr><td>Язык</td><td>Язык формы оплаты: русский/английский</td></tr><tr><td>E-mail / телефон</td><td>На форме перед оплатой будет отображаться поле, в которое плательщик должен указать свои данные. <br>Вам необходимо выбрать какой идентификатор клиента вам нужен. Ответ будет использован в разделе Статистика в колонке Счет - по нему легко найти платежи конкретных пользователей. </td></tr><tr><td>Дополнительное поле</td><td>Текст дополнительного вопроса, на который сможет ответить клиент перед оплатой. Ответ отобразиться в разделе Статистика рядом с обязательным полем.</td></tr><tr><td>Допустимое количество успешных платежей</td><td>Вы можете устанавливать ограничение на количество успешных платежей за один товар. Если поле останется пустым, ограничение не будет установлено.</td></tr><tr><td>Другое <br>(доступно только в неттинг проектах)</td><td>Здесь вам необходимо указать какой идентификатор клиента должен указывать юзер при оплате (это может быть ник игрока, номер заказа, телефон и прочее).</td></tr></tbody></table>

Таким образом товар будет создан и доступен для продажи:

<figure><img src="/files/UWyN9pmihO269L1F7Xm0" alt=""><figcaption></figcaption></figure>

### Что делать с созданным Товаром?

В меню товара можно:

1. **Поделиться ссылкой на товар**:&#x20;

* скопировать ссылку на оплату;
* скачать QR-код для оплаты как изображение.

<figure><img src="/files/Z5nxrSxfvccOGGw2wUus" alt=""><figcaption></figcaption></figure>

2\. **Редактировать товар.**

После создания товара допустимо редактировать **Цену**, **Email/телефон**, **Дополнительное поле** и **Допустимое количество успешных платежей**. Редактирование **Названия** и **Описания товара** недоступно.&#x20;

3\. **Деактивировать** активный **товар**.

При переходе по ссылке на деактивированный товар плательщик увидит ошибку *`Ошибка 404. Страница не найдена`*.&#x20;

4\. **Активировать** неактивный **товар**.

5\. **Удалить товар**.

Допустимо удалить активный или деактивированный товар из проекта. При переходе по ссылке на удаленный товар плательщик увидит ошибку *`Ошибка 404. Страница не найдена.`*&#x20;

#### Как проходит оплата?

Перейдя по ссылке, плательщик сначала видит дополнительное окно с **названием** товара, **описанием** товара, **суммой** платежа и выбранными вами **полями** для заполнения:

<figure><img src="/files/xpa2sOLSgJH6xN4324ra" alt=""><figcaption></figcaption></figure>

Введя данные и кликнув на “Перейти к оплате”, плательщик попадает на стандартную форму оплаты.

<figure><img src="/files/noUvoJKktlzJgkVYOyxC" alt=""><figcaption></figcaption></figure>

В разделе “ *Детализация платежей*” в столбце “*№ Счета*” вы видите информацию, указанную плательщиком.&#x20;


# Настройка HTTP-уведомлений

Входящие HTTP-уведомления используются при взаимодействии по API UnitPay. Через эти запросы вы можете:

* проверить заказ до оплаты;
* подтвердить, что заказ существует и может быть оплачен;
* автоматически выдать товар, оказать услугу или зачислить баланс после успешного списания;
* получать уведомления об ошибках по платежу.

{% hint style="info" %}
Важно: если URL для уведомлений не указан, callback-запросы не отправляются, а платеж считается успешным автоматически.
{% endhint %}

<figure><img src="/files/s5H150O0ppLESopOdi1c" alt=""><figcaption></figcaption></figure>

## Требования к URL для уведомлений

Партнер может указать любой технически корректный URL. Домен обработчика не обязан совпадать с доменом сайта проекта.

### Что считается корректным URL

URL для уведомлений будет сохранен, если:

* используется протокол `http` или `https`;
* указан валидный домен;

#### Примеры корректных URL

* `https://example.com/payment-handler`
* `https://api.example.com/unitpay/callback`
* `http://merchant-service.net/pay`
* `https://xn--e1afmkfd.xn--p1ai/handler`

#### Примеры некорректных URL

* `ftp://example.com/callback` — недопустимый протокол
* `https://127.0.0.1/callback` — IP-адрес вместо домена
* `https://user:password@example.com/callback` — встроенные данные авторизации

## Как это работает

Обычно сценарий такой:

1. Покупатель начинает оплату.
2. Unitpay может отправить `check`, чтобы проверить заказ до списания.
3. После успешного списания Unitpay отправляет `pay`.
4. Если на одном из этапов возникла ошибка, может прийти `error`.
5. Для платежей с преавторизацией сначала может прийти `preauth`.

{% hint style="success" %}
Важно: при `preauth` деньги только заблокированы. Товар, услугу или баланс нужно выдавать только после успешного списания.
{% endhint %}

{% hint style="warning" %}
Важно: `error` не всегда означает окончательный статус. После `error` в некоторых случаях позже может прийти `pay`.
{% endhint %}

## Что нужно реализовать на своей стороне

Ваш обработчик должен:

* принимать GET-запросы от Unitpay;
* проверять [IP-адрес отправителя](/book-of-reference/ip-addresses);
* проверять `signature`;
* сверять `orderSum` и `orderCurrency` с данными заказа;
* на этапе `check` только проверять заказ;
* на этапе `pay` выдавать товар, оказывать услугу или зачислять баланс;
* корректно обрабатывать повторные запросы;
* возвращать JSON в нужном формате.

{% hint style="warning" %}
**Важно:** `unitpayId` — это уникальный идентификатор платежа в Unitpay. Если запрос с тем же `unitpayId` приходит повторно, не обрабатывайте платеж заново: не выдавайте товар повторно, не оказывайте услугу повторно и не зачисляйте баланс еще раз.
{% endhint %}

## Методы

### **`CHECK`**&#x20;

Запрос на проверку заказа до оплаты.

На этом этапе нужно убедиться, что:

* заказ существует;
* сумма и валюта совпадают;
* заказ можно оплатить;
* после успешной оплаты услугу можно оказать.

{% hint style="warning" %}
**Важно:** на этапе `check` не нужно выдавать товар, оказывать услугу или зачислять баланс.
{% endhint %}

{% hint style="info" %}
По умолчанию на новом проекте запрос `CHECK` выключен. Чтобы использовать его, включите эту опцию в настройках проекта.
{% endhint %}

### **`PAY`**&#x20;

Уведомление об успешном списании средств.

Именно на этом этапе нужно:

* выдать товар;
* оказать услугу;
* зачислить баланс;
* сохранить результат обработки платежа.

Если на этом этапе ваш сервер вернет ошибку, платеж получит статус **«Не завершен»**. После устранения проблемы платеж можно повторно провести из интерфейса статистики.

{% hint style="info" %}
Важно: деньги зачисляются на баланс партнера независимо от ответа вашего обработчика.
{% endhint %}

{% hint style="warning" %}
Важно: обработка pay должна быть идемпотентной. Повторный запрос не должен приводить к повторной выдаче товара или повторному зачислению.
{% endhint %}

### **`PREAUTH`**

Уведомление для [платежей с преавторизацией](/payments/pre-authorization-payments). Это значит, что деньги успешно заблокированы, но еще не списаны окончательно.

{% hint style="success" %}
Важно: не выдавайте товар и не оказывайте услугу при получении preauth. Делать это нужно только после успешного списания.
{% endhint %}

### **`ERROR`**

Уведомление об ошибке на одном из этапов платежа.

Если ошибка вызвана пустым или некорректным ответом сервера партнера, запрос `error` может не отправляться.

{% hint style="warning" %}
**Важно:** `error` не всегда является конечным статусом. После него иногда может прийти `pay`.
{% endhint %}

## Формат запроса

Unitpay отправляет GET-запрос на URL вашего обработчика.

Пример:

```json
GET https://ваш_url_для_уведомлений

method               = check
params[account]      = userId
params[date]         = 2025-10-01 12:32:00
params[paymentType]  = card
params[projectId]    = 123456
params[payerSum]     = 10.00
params[payerCurrency]= RUB
params[signature]    = 9bdf52a4830779a1383ac24f1b3ed054
params[orderSum]     = 10.00
params[orderCurrency]= RUB
params[unitpayId]    = 1234567890
params[test]         = 0
```

### Параметры запроса

<table><thead><tr><th width="190.44441731770831">Параметр</th><th width="150.2222900390625">Значение</th><th>Описание</th></tr></thead><tbody><tr><td><strong>method</strong></td><td>string</td><td>Тип запроса: <code>check</code>, <code>pay</code>, <code>preauth</code>, <code>error</code></td></tr><tr><td><strong>unitpayId</strong> </td><td>число</td><td>Внутренний номер платежа в UnitPay</td></tr><tr><td><strong>projectId</strong> </td><td>число</td><td>ID проекта в UnitPay</td></tr><tr><td><strong>account</strong> </td><td>string</td><td>Идентификатор пользователя или заказа в вашей системе</td></tr><tr><td><strong>payerSum</strong></td><td>число</td><td>Сумма списания с лицевого счета абонента</td></tr><tr><td><strong>sum</strong></td><td>число</td><td>Сумма списания с лицевого счета абонента (дополнительное значение)</td></tr><tr><td><strong>ip</strong></td><td>string</td><td>IP-адрес плательщика (с которого инициировано создание платежа)</td></tr><tr><td><strong>isPreauth</strong></td><td>число</td><td>Признак преавторизации: 1 — да, 0 — нет</td></tr><tr><td><strong>payerCurrency</strong></td><td>string</td><td>Валюта списания с лицевого счета абонента по стандарту ISO 4217 (RUB, BYN, EUR, USD)   </td></tr><tr><td><strong>profit</strong></td><td>число</td><td>Ваш доход с данного платежа, в рублях</td></tr><tr><td><strong>paymentType</strong></td><td>string</td><td><a href="/pages/-M9y0PdOWFK4DxzzyaSC">Код платежной системы</a></td></tr><tr><td><strong>orderSum</strong></td><td>число</td><td><p>Сумма заказа</p><p><strong>Обязательно сверяйте поступившее значение с оригинальной суммой заказа</strong></p></td></tr><tr><td><strong>orderCurrency</strong></td><td>string</td><td><p>Валюта заказа по стандарту ISO 4217 (RUB, BYN, EUR, USD)</p><p><strong>Обязательно сверяйте поступившее значение с оригинальной валютой заказа</strong></p></td></tr><tr><td><strong>date</strong></td><td>string</td><td>Дата платежа в формате YYYY-mm-dd HH:ii:ss (например 2024-10-01 12:32:00)</td></tr><tr><td><strong>errorMessage</strong></td><td>string</td><td>Детализация ошибки (только для метода error)</td></tr><tr><td><strong>test</strong></td><td>число</td><td>Признак тестового режима: 1 — тест, 0 — реальный платеж</td></tr><tr><td><strong>3ds</strong></td><td>число</td><td>Признак наличия 3-DS для операций по карте, флаг присутствует при PAY уведомлениях</td></tr><tr><td><strong>subscriptionId</strong></td><td>число</td><td>Идентификатор подписки, может приходить в <code>preauth</code> и <code>pay</code></td></tr><tr><td><strong>signature</strong></td><td>string</td><td>Цифровая подпись. Образуется как <code>sha256(method + "{up}" + params + "{up}" + secretKey)</code>, <br>где <strong>sha256</strong> - метод шифрования;<br><strong>"{up}"</strong> - разделитель параметров в хеш-функции;<br><strong>method</strong> - тип вызова (check, pay, error);<br><strong>params</strong> - значения параметров из массива params, объединенные разделителем "{up}". Все параметры должны быть предварительно отсортированы по ключу, в склейке не участвует параметр signature;<br><strong>secretKey</strong> - секретный ключ проекта (доступен в личном кабинете);<br><br>Пример расчета подписи для запроса <a href="http://partnerurl/?method=check%20&#x26;%20params[b]=bob&#x26;params[c]=sam&#x26;params[a]=tod"><strong>http://partnerUrl?method=check &#x26; params[b]=bob &#x26; params[c]=sam &#x26; params[a]=tod</strong></a> и секретного ключа <strong>"a1b1c1d1"</strong><br><br><strong><code>sha256</code></strong><code> ("check{up}tod{up}bob{up}sam{up}a1b1c1d1")</code></td></tr></tbody></table>

### Успешный ответ

Если запрос обработан успешно, верните:

```json
{
    "result": {
        "message": "Запрос успешно обработан"
    }
}
```

| Параметр    | Значение | Описание                             |
| ----------- | -------- | ------------------------------------ |
| **message** | string   | Текстовый статус выполнения запроса. |

### Ошибочный ответ

Если запрос не может быть обработан, верните:

```json
{
    "error": {
        "message": "Описание ошибки"
    }
}
```

<table data-header-hidden><thead><tr><th width="200.44441731770831">Парамтер</th><th width="186.3333740234375">Значение</th><th>Описание</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>string</td><td><p>Информация с описанием ошибки формирования платежа.</p><p>При использовании формы оплаты текст из параметра "message" будет показан плательщику. </p></td></tr><tr><td><strong>locale</strong></td><td>string</td><td><p>Настраивает язык вводной части. </p><p><strong>Возможные значения</strong>: "en" или "ru". По умолчанию "ru"</p><p></p><p>Например: "Магазин отклонил платеж: <em>причина блокировки</em>", где "Магазин отклонил платеж:" - вводная часть. "<em>Причина блокировки</em>" - значение параметра message</p></td></tr></tbody></table>

### Частые ошибки интеграции

Чаще всего проблемы возникают из-за того, что:

* не проверяется `signature`;
* не проверяются IP-адреса;
* не сверяются `orderSum` и `orderCurrency`;
* товар выдается на этапе `check`, а не на этапе `pay`;
* сервер возвращает некорректный JSON.


# Информация о платеже

```bash
GET https://unitpay.ru/api

method    = getPayment
paymentId = 2188481996
secretKey = sk_live_2YQt9m
```

#### Query Parameters

<table><thead><tr><th width="181.22216796875">Name</th><th width="137.4444580078125">Type</th><th>Description</th></tr></thead><tbody><tr><td>paymentId</td><td>integer</td><td>ID платежа в системе UnitPay<br>Например: 2188481996</td></tr><tr><td>secretKey</td><td>string</td><td>Секретный ключ проекта, доступен в настройках проекта</td></tr></tbody></table>

#### **Пример успешного ответа:**

```json
{
    "result": {
        "paymentId": "2188481996",
        "status": "success",
        "paymentType": "sbp",
        "date": "2025-05-13 09:39:43",
        "purse": "7ххххххххх",
        "account": "test_unitpay",
        "profit": "4.65",
        "projectId": 123456,
        "orderSum": "5.00",
        "orderCurrency": "RUB",
        "payerSum": "5.00",
        "payerCurrency": "RUB",
        "availableForRefund": "5.00",
        "isPreauth": 0,
        "refunds": [],
        "receiptUrl": "https://consumer.1-ofd.ru/v1?fn=9282000100367629&fp=2120704629&i=101164&t=20200216T092200&s=26&n=1"
    }
}

```

**Параметры успешного ответа:**

<table data-header-hidden><thead><tr><th width="180.44447835286456">Название</th><th width="105.22222900390625">Тип</th><th>Описание</th></tr></thead><tbody><tr><td><strong>status</strong></td><td>строка</td><td><code>success</code> —  успешный платеж;<br><code>wait</code> — ожидание оплаты;<br><code>error</code> — ошибка платежа;<br><code>error_pay</code> — ошибка/отказ магазина на стадии PAY, в статистике как "Не завершен";<br><code>error_check</code> — ошибка/отказ магазина на стадии CHECK, в статистике как "Отклонен";<br><code>refund</code> — возврат средств покупателю;<br><code>secure</code> — на проверке у службы безопасности банка.</td></tr><tr><td><strong>paymentId</strong> </td><td>число</td><td>ID платежа в системе UnitPay</td></tr><tr><td><strong>projectId</strong> </td><td>число</td><td>ID проекта в системе UnitPay</td></tr><tr><td><strong>account</strong> </td><td>строка</td><td>Идентификатор клиента (или заказа) в системе партнера</td></tr><tr><td><strong>purse</strong> </td><td>строка</td><td>Кошелек (номер счета) с которого производилась оплата</td></tr><tr><td><strong>profit</strong></td><td>число</td><td>Ваш доход с данного платежа, в рублях</td></tr><tr><td><strong>paymentType</strong></td><td>строка</td><td><a href="/pages/-M9y0PdOWFK4DxzzyaSC">Код платежной системы</a></td></tr><tr><td><strong>orderSum</strong></td><td>число</td><td>Сумма заказа.  Обязательно сверяйте данное значение с оригинальной суммой заказа</td></tr><tr><td><strong>orderCurrency</strong></td><td>строка</td><td>Валюта заказа (RUB, UAH, BYN, EUR, USD). Обязательно сверяйте данное значение с оригинальной валютой заказа</td></tr><tr><td><strong>date</strong></td><td>строка</td><td>Дата платежа в формате YYYY-mm-dd HH:ii:ss (например 2022-10-01 12:32:00)</td></tr><tr><td><strong>payerSum</strong></td><td>число</td><td>Сумма списания с лицевого счета абонента</td></tr><tr><td><strong>payerCurrency</strong></td><td>строка</td><td>Валюта списания с лицевого счета абонента по стандарту ISO 4217 (RUB, UAH, BYN, EUR, USD)</td></tr><tr><td><strong>receiptUrl</strong></td><td>строка</td><td><p>Ссылка на чек</p><p><strong>Примечание:</strong> возвращается, если подключена касса Юнит.Чеки, Атол или e-comm.<br></p><p>Например:  <a href="https://consumer.1-ofd.ru/v1?fn=9282000100367629&#x26;fp=2120704629&#x26;i=101164&#x26;t=20200216T092200&#x26;s=26&#x26;n=1">https://consumer.1-ofd.ru/v1?fn=9282000100367629&#x26;fp=2120704629&#x26;i=101164&#x26;t=20200216T092200&#x26;s=26&#x26;n=1</a></p></td></tr><tr><td><strong>errorMessage</strong></td><td>строка</td><td>Детализация ошибки (только для статуса <code>error</code>)</td></tr></tbody></table>

#### Пример неуспешного ответа

```json
{
    "error": {
        "message": "Неверный ключ secretKey",
        "code": -32000
    }
}

```

<table data-header-hidden><thead><tr><th width="173.77779134114581">name</th><th width="120.3333740234375">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>строка</td><td>Информация с описанием ошибки запроса.</td></tr></tbody></table>

{% hint style="warning" %}
Запрос можно выполнить в тестовом режиме. [Узнать подробнее](/other/test-api)
{% endhint %}


# Возврат платежа

Чтобы сделать возврат платежа, выполните GET-запрос:

```bash
GET https://unitpay.ru/api

method    = refundPayment
paymentId = 2154490981
secretKey = sk_live_2YQt9m
sum       = 100
```

#### Обязательные  параметры:

<table><thead><tr><th width="170.11114501953125">Name</th><th width="118.8887939453125">Type</th><th>Description</th></tr></thead><tbody><tr><td>paymentId</td><td>number</td><td>ID платежа в системе UnitPay<br>Например: 1234512345</td></tr><tr><td>secretKey</td><td>string</td><td>Секретный ключ проекта, доступен в настройках проекта</td></tr></tbody></table>

#### Необязательные параметры:&#x20;

<table><thead><tr><th width="170.111083984375">name</th><th width="114.6666259765625">type</th><th>description</th></tr></thead><tbody><tr><td>sum</td><td>number</td><td>Cумма возврата, если требуется совершить частичный возврат.<br>Если параметр не передан, будет произведен возврат полной суммы по платежу.</td></tr></tbody></table>

{% hint style="danger" %}
По одному платежу вы можете сделать только один полный или частичный возврат.
{% endhint %}

{% hint style="info" %}
Если вы подключили онлайн-кассу в ЛК, то для формирования чеков необходимо дополнительно передать [ряд параметров](/online-cash-register/receipt_parameters).
{% endhint %}

#### Успешный ответ

```json
{
    "result": {
        "message": "Возврат успешно произведен"
    }
}
```

<table data-header-hidden><thead><tr><th width="176.00002034505206">name</th><th width="135">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>string</td><td>Комментарий успешной операции, можно использовать как подсказку пользователю после выполнения запроса</td></tr></tbody></table>

#### Ошибочный ответ

```json
{
    "error": {
        "message": "Неверный ключ secretKey",
        "code": -32000
    }
}
```

<table data-header-hidden><thead><tr><th width="155.99995930989581">name</th><th width="127.11102294921875">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>string</td><td>Информация с описанием ошибки запроса</td></tr></tbody></table>


# Двухэтапные платежи (преавторизация)

**Преавторизация** — это двухэтапный платёж: сначала сумма на карте клиента **блокируется**, а затем **списывается отдельно** по подтверждению продавца. Такой подход используется, когда нужно гарантировать наличие средств, но списать их позже — например, после подтверждения заказа или услуги.

{% hint style="warning" %}
Метод оплаты СБП не поддерживает предавторизацию на уровне протокола НСПК. Если платёж создан с параметром `preauth=1` и пользователь выбирает СБП, средства списываются сразу — платёж автоматически проводится как одностадийный. Подробнее — в разделе [Особенности работы с СБП](#osobennosti-raboty-s-sbp).
{% endhint %}

**Как это работает:**

1. Блокировка средств — сумма замораживается на карте клиента, но не списывается.
2. Подтверждение или отмена — продавец может либо подтвердить списание, либо отменить платёж.
3. Автоматическая разблокировка — если платёж не подтверждён в течение установленного срока, средства автоматически разблокируются.

***

## Инициализация платежа с преавторизацией

Для создания платежа с преавторизацией необходимо передать дополнительный параметр **preauth**. Полный набор параметров описан на [странице создания платежа](https://help.unitpay.ru/payments/create-payment).

<mark style="color:blue;">`GET`</mark> `https://unitpay.ru/api?method=initPayment`

#### Path Parameters

<table><thead><tr><th width="186.6666259765625">Name</th><th width="111.2222900390625">Type</th><th>Description</th></tr></thead><tbody><tr><td>preauth</td><td>integer</td><td>Используйте этот флаг для создания платежа с преавторизацией. По умолчанию флаг выключен и значение равно 0, для включения необходимо передать 1.</td></tr><tr><td>preauthExpireLogic</td><td>integer</td><td>Поле для логики блокировки платежей с преавторизацией:<br>1 - при отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет подтвержден;<br>0 - при отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет отменен. <br><br>Если параметр не будет использован, платеж будет отменен по истечении срока.</td></tr></tbody></table>

```json
{
    "result": {
        "type": "redirect",
        "paymentId": 1234567890,
        "message": "Счет успешно выставлен, ожидается оплата",
        "receiptUrl": "https://unitpay.ru/pay/receipt/1234567890-454ac183ac",
        "statusUrl": "https://unitpay.ru/pay/receipt/1234567890-454ac183ac",
        "redirectUrl": "https://unitpay.ru/pay/redirect/1234567890-454ac183ac"
    }
}
```

## Подтверждение платежа с преавторизацией

Для подтверждения платежа с преавторизацией (списания заблокированных на карте плательщика средств) выполните этот запрос:

```bash
GET https://unitpay.ru/api

method    = confirmPayment
paymentId = 2142345678
secretKey = sk_live_2YQt9m
```

#### Обязательные параметры

<table><thead><tr><th width="159">Name</th><th width="196.2222900390625">Type</th><th>Description</th></tr></thead><tbody><tr><td>paymentId</td><td>integer</td><td>ID платежа в системе UnitPay</td></tr><tr><td>secretKey</td><td>string</td><td>Секретный ключ проекта, доступен в настройках проекта</td></tr></tbody></table>

{% tabs %}
{% tab title="Успешный ответ" %}

```json
{ "message": "Платеж успешно подтвержден" }
```

{% endtab %}

{% tab title="Ошибочный ответ" %}

```json
{
    "error": {
        "message": "Платеж не может быть подтвержден"
    }
}
```

{% endtab %}
{% endtabs %}

## Отмена платежа с преавторизацией

Для отмены платежа с преавторизацией (разблокировки средств на карте плательщика) выполните следующий запрос:

```bash
GET https://unitpay.ru/api

method    = confirmPayment
paymentId = 2142345678
secretKey = sk_live_2YQt9m
```

#### Path Parameters

<table><thead><tr><th width="203.4444580078125">Name</th><th width="155.3333740234375">Type</th><th>Description</th></tr></thead><tbody><tr><td>paymentId</td><td>integer</td><td>ID платежа в системе UnitPay</td></tr><tr><td>secretKey</td><td>string</td><td>Секретный ключ проекта, доступен в настройках проекта</td></tr></tbody></table>

{% tabs %}
{% tab title="Успешный ответ" %}

```json
{ "message": "Блокировка успешно отменена" }
```

{% endtab %}

{% tab title="Ошибочный ответ" %}

```json
{
    "error": {
        "message": "Платеж не может быть отменен"
    }
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Двухстадийные платежи можно использовать при создании [подписок](https://help.unitpay.ru/payments/recurring-payments/create-subscription).
{% endhint %}

#### Особенности работы с СБП

Метод СБП не поддерживает холдирование средств на уровне протокола НСПК. При создании платежа с `preauth=1` и выборе пользователем оплаты через СБП платёж автоматически понижается до одностадийного. Это поведение не является ошибкой — оно позволяет не ограничивать пользователей в выборе метода оплаты на форме.

**Отличия от стандартного двухэтапного платежа:**

|                       | Карта (preauth=1)  | СБП (preauth=1)                              |
| --------------------- | ------------------ | -------------------------------------------- |
| Средства после оплаты | Заблокированы      | Списаны сразу                                |
| Финальный статус      | Холдирован         | Оплачен                                      |
| `confirmPayment`      | Списывает средства | Возвращает ошибку                            |
| `cancelPayment`       | Снимает блокировку | Возвращает средства (refund). Доступен сразу |

**Ответы API**

При инициализации платежа с `preauth=1` и `paymentType=sbp` в поле `message` возвращается предупреждение:

```json
{
    "result": {
        "type": "redirect",
        "paymentId": 1234567890,
        "message": "Счёт успешно выставлен, ожидается оплата. СБП не поддерживает двухстадийную оплату: после оплаты деньги списываются сразу, без холдирования. Подтверждать платёж не нужно. Для возврата используйте метод refundPayment.",
        "receiptUrl": "https://unitpay.ru/pay/receipt/1234567890-454ac183ac",
        "statusUrl": "https://unitpay.ru/pay/receipt/1234567890-454ac183ac",
        "redirectUrl": "https://unitpay.ru/pay/redirect/1234567890-454ac183ac"
    }
}
```

При вызове `confirmPayment` для СБП-платежа:

```json
{
    "error": {
        "message": "Подтверждение недоступно: платёж проведён как одностадийный, так как метод СБП не поддерживает предавторизацию."
    }
}
```

При вызове `cancelPayment` для СБП-платежа поведение и все возможные ответы идентичны методу `refundPayment` — см. [документацию по возвратам](https://help.unitpay.ru/payments/payment-refund).

{% hint style="warning" %}
Для СБП-платежей с `preauth=1` параметр `preauthExpireLogic` игнорируется — срок жизни счёта соответствует стандартному таймауту СБП-платежей.
{% endhint %}


# Подписки API


# Создание подписки

**Функционал доступен только по согласованию со Службой безопасности.**\
Для подключения подписок обратитесь в [службу поддержки](https://help.unitpay.ru/support).

***

Механизм подписок позволяет автоматически списывать средства с карты клиента без его участия.\
Используется для **регулярных платежей**, например:

* аренда,
* интернет,
* мобильная связь,
* другие периодические услуги.

{% hint style="info" %}
На данный момент подписки поддерживаются **для методов `card`**  `tinkoffpay` (T-Pay) и sbp (СБП).
{% endhint %}

***

### Шаг 1. Создание установочного платежа

При инициации первого платежа необходимо передать параметр `subscription`, чтобы привязать карту к подписке:

* При создании через [форму](https://help.unitpay.ru/payments/create-payment-easy): `subscription=true`
* При создании через [API](https://help.unitpay.ru/payments/create-payment): `subscription=true`

📌 **Рекомендуется также передать параметр** `hideOtherMethods=true`, чтобы скрыть другие способы оплаты и зафиксировать метод `card`.

{% hint style="info" %}
На этом этапе вы можете добавить параметр `preauth=1`, чтобы сформировать платеж с преавторизацией. Для автоматической отмены платежа укажите в запросе `preauthExpireLogic=0`.

Подробнее [тут](/payments/pre-authorization-payments).
{% endhint %}

### Шаг 2. Получение идентификатора подписки

После успешного установочного платежа, ваш **обработчик должен получить параметр**:

```
subscriptionId = <значение>
```

Этот ID нужно сохранить — он будет использоваться для всех последующих автосписаний.

### Шаг 3. Списание по подписке

Чтобы провести автосписание:

* Убедитесь, что подписка имеет статус **`active`**;
* Используйте обычный метод [создания платежа через API](https://help.unitpay.ru/payments/create-payment);
* Передайте `subscriptionId` в параметре:

```
subscriptionId=<значение>
```

Сумма и периодичность автосписаний — **на вашей стороне**. Их задаёт ваша система.

***

{% hint style="warning" %}
**Списание по подписке несовместимо с двухстадийными платежами** (платежами с преавторизацией). Преавторизация возможна только на этапе создания установочного платежа (шаг 1).
{% endhint %}

### Возврат установочного платежа

Если вы продаёте подписку с бесплатным первым месяцем, может потребоваться сначала списать с клиента небольшую сумму, а затем вернуть её — например, для проверки карты или создания подписки.

Подписки в Unitpay не имеют автоматический возврат установочного платежа. Но вы можете вернуть установочный платёж сами через [метод возврата платежа](https://help.unitpay.ru/payments/payment-refund) передав ему в параметре `paymentId` значение `unitpayId`, полученного при установочном платеже.


# Получение списка активных подписок

<mark style="color:blue;">`GET`</mark>&#x20;

```bash
GET https://unitpay.ru/api

method    = listSubscriptions
projectId = 123456789
secretKey = sk_live_2YQt9m
```

#### Path Parameters

<table><thead><tr><th width="171.22222900390625">Name</th><th width="132.4444580078125">Type</th><th>Description</th></tr></thead><tbody><tr><td>projectId</td><td>integer</td><td>ID вашего проекта в системе UnitPay</td></tr><tr><td>secretKey</td><td>string</td><td>Секретный ключ, доступен в настройках проекта</td></tr></tbody></table>

#### Успешный ответ

```json
{
  "result": [
    {
      "subscriptionId":  5961196,
      "description":     "test_unitpay",
      "status":          "active",
      "startDate":       "2025-03-19 15:23:35",
      "successPayments": 1,
      "failPayments":    0,
      "lastPaymentId":   null,
      "lastUpdateDate":  null,
      "parentPaymentId": "2181234567",
      "totalSum":        "50.00"
    },
    {
      "subscriptionId":  5961466,
      "description":     "test_unitpay",
      "status":          "active",
      "startDate":       "2025-03-20 15:13:38",
      "successPayments": 2,
      "failPayments":    0,
      "lastPaymentId":   null,
      "lastUpdateDate":  null,
      "parentPaymentId": "2187654321",
      "totalSum":        "100.00"
    }
  ]
}
```

<table data-header-hidden><thead><tr><th width="192.66664632161456">name</th><th width="114.7777099609375">type</th><th>decription</th></tr></thead><tbody><tr><td><strong>subscriptionId</strong></td><td>число</td><td>ID подписки в системе Unitpay</td></tr><tr><td><strong>description</strong></td><td>строка</td><td>Текстовое описание подписки</td></tr><tr><td><strong>status</strong> </td><td>строка</td><td>Статус подписки: <br><code>new</code> — подписка создана, попыток списания по подписке еще не происходило;<br><code>active</code> — подписка активна;<br><code>close</code> — подписка закрыта.</td></tr><tr><td><strong>startDate</strong> </td><td>строка</td><td>Дата создания подписки в формате YYYY-mm-dd HH:ii:ss (например 2024-10-01 12:32:00)</td></tr><tr><td><strong>successPayments</strong></td><td>число</td><td>Количество успешных платежей по подписке</td></tr><tr><td><strong>failPayments</strong></td><td>число</td><td>Количество не успешных попыток списания по подписке</td></tr><tr><td><strong>lastPaymentId</strong></td><td>число</td><td>ID последнего платежа по подписке</td></tr><tr><td><strong>lastUpdateDate</strong></td><td>строка</td><td>Дата последнего платежа по подписке в формате dd.mm.yyyy hh:ii:ss (например 15.09.2017 19:30:00)</td></tr><tr><td><strong>parentPaymentId</strong></td><td>число</td><td>ID родительского платежа, который инициировал подписку</td></tr><tr><td><strong>totalSum</strong></td><td>число</td><td>Общая сумма, списанная с плательщика по подписке</td></tr><tr><td><strong>closeType</strong></td><td>строка</td><td>Причина закрытия подписки (передается только в случае status=close): <br><code>api</code> — подписка закрыта вами по API;<br><code>error</code> — подписка закрыта в связи с достижением лимита на количество ошибок при попытке списания средств;<br><code>abuse</code> — подписка закрыта в связи с жалобой абонента.</td></tr></tbody></table>

#### Ошибочный ответ

```json
{
    "error": {
        "message": "Описание ошибки"
    }
}
```

<table data-header-hidden><thead><tr><th width="197.888916015625">name</th><th width="108.22212727864581">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>строка</td><td>Информация с описанием ошибки</td></tr><tr><td></td><td></td><td></td></tr></tbody></table>

Для получения **списка всех подписок** добавьте параметр

| Name | Type    | Description |
| ---- | ------- | ----------- |
| all  | integer | 1           |

В ответе будет представлен список подписок во всех статусах: new, active, close

{% hint style="warning" %}
Запросы можно выполнить в тестовом режиме. [Узнать подробнее](/other/test-api)
{% endhint %}


# Получение информации о подписке

```bash
GET https://unitpay.ru/api

method         = getSubscription
subscriptionId = 123456789
secretKey      = sk_live_2YQt9m
```

#### Обязательные параметры

<table><thead><tr><th width="187.88885498046875">Name</th><th width="113.66656494140625">Type</th><th>Description</th></tr></thead><tbody><tr><td>subscriptionId</td><td>number</td><td>ID подписки в системе UnitPay</td></tr><tr><td>secretKey</td><td>string</td><td>Секретный ключ, доступен в настройках проекта</td></tr></tbody></table>

#### Успешный ответ

```json
{
    "result": {
        "subscriptionId": 123456,
        "description": "Описание подписки",
        "status": "active",
        "startDate": "2017-09-01 09:00:00",
        "successPayments": 4,
        "failPayments": 0,
        "lastPaymentId": 12345678911,
        "lastDateUpdate": "2017-09-15 19:30:00",
        "parentPaymentId": 12345678910,
        "totalSum": 50
    }
}

```

<table data-header-hidden><thead><tr><th width="180.44447835286456">name</th><th width="111.888916015625">type</th><th>description</th></tr></thead><tbody><tr><td><strong>subscriptionId</strong></td><td>число</td><td>ID подписки в системе Unitpay</td></tr><tr><td><strong>description</strong></td><td>строка</td><td>Текстовое описание подписки</td></tr><tr><td><strong>status</strong> </td><td>строка</td><td>Статус подписки: <br><code>new</code> — подписка создана, попыток списания по подписке еще не происходило;<br><code>active</code> — подписка активна;<br><code>close</code> — подписка закрыта.</td></tr><tr><td><strong>startDate</strong> </td><td>строка</td><td>Дата создания подписки в формате YYYY-mm-dd HH:ii:ss (например 2012-10-01 12:32:00)</td></tr><tr><td><strong>successPayments</strong></td><td>число</td><td>Количество успешных платежей по подписке</td></tr><tr><td><strong>failPayments</strong></td><td>число</td><td>Количество не успешных попыток списания по подписке</td></tr><tr><td><strong>lastPaymentId</strong></td><td>число</td><td>ID последнего платежа по подписке</td></tr><tr><td><strong>lastUpdateDate</strong></td><td>строка</td><td>Дата последнего платежа по подписке в формате YYYY-mm-dd HH:ii:ss (например 2012-10-01 12:32:00)</td></tr><tr><td><strong>parentPaymentId</strong></td><td>число</td><td>ID родительского платежа, который инициировал подписку</td></tr><tr><td><strong>totalSum</strong></td><td>число</td><td>Общая сумма, списанная с плательщика по подписке</td></tr><tr><td><strong>closeType</strong></td><td>строка</td><td>Причина закрытия подписки (передается только в случае <code>status=close</code>): <br><code>api</code> — подписка закрыта партнером по API;<br><code>error</code> — подписка закрыта в связи с достижением лимита на количество ошибок при попытке списания средств;<br><code>abuse</code> — подписка закрыта в связи с жалобой абонента.</td></tr></tbody></table>

#### Ошибочный ответ

```json
{
    "error": {
        "message": "Описание ошибки"
    }
}
```

<table data-header-hidden><thead><tr><th width="188.22224934895831">name</th><th width="114.55548095703125">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>строка</td><td>Информация с описанием ошибки</td></tr></tbody></table>

{% hint style="warning" %}
Запрос можно выполнить в тестовом режиме. [Узнать подробнее](/other/test-api).
{% endhint %}


# Закрытие подписки

```bash
GET https://unitpay.ru/api

method         = closeSubscription
subscriptionId = 123456789
secretKey      = sk_live_2YQt9m
```

#### Обязательные параметры

<table><thead><tr><th width="169">Name</th><th width="113.4444580078125">Type</th><th>Description</th></tr></thead><tbody><tr><td>subscriptionId</td><td>integer</td><td>ID подписки в системе UnitPay</td></tr><tr><td>secretKey</td><td>string</td><td>Секретный ключ, доступен в настройках проекта</td></tr></tbody></table>

#### Примеры ответов

{% tabs %}
{% tab title="Успешный ответ" %}

```json
{
    "result": {
        "message": "Подписка успешно закрыта"
    }
}
```

{% endtab %}

{% tab title="Ошибочный ответ" %}

```
{
   "error": {
      "message": "Описание ошибки"
   }
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Запрос можно выполнить в тестовом режиме. [Узнать подробнее](/other/test-api)
{% endhint %}


# Массовые выплаты

{% hint style="info" %}
Данный функционал доступен только по схеме неттинга.\
Для получения подробностей обратитесь, пожалуйста, в [службу поддержки](/support).
{% endhint %}


# Создание выплаты

Через API возможно настроить только массовые выплаты.

```bash
GET https://unitpay.ru/api

method        = massPayment
sum           = 10.00
purse         = 7951xxxxx71
login         = partner@gmail.com
transactionId = 1782
secretKey     = sk_live_2YQt9m
paymentType   = sbp
```

**Обязательные параметры:**

<table data-header-hidden><thead><tr><th width="153.77773030598956">name</th><th width="137.888916015625">type</th><th>description</th></tr></thead><tbody><tr><td><strong>login</strong></td><td>строка</td><td>Email партнера в системе UnitPay</td></tr><tr><td><strong>secretKey</strong></td><td>строка</td><td>Секретный ключ партнера, доступен в настройках профиля</td></tr><tr><td><strong>purse</strong></td><td>строка</td><td>Кошелек получателя, полный номер карты или номер телефона без "+" (для СБП выплат) </td></tr><tr><td><strong>transactionId</strong></td><td>текст</td><td>Уникальный ID выплаты на стороне партнера</td></tr><tr><td><strong>sum</strong></td><td>число</td><td>Сумма перевода в рублях, например: "100"</td></tr><tr><td><strong>paymentType</strong></td><td>строка</td><td><a href="/pages/-M9y0PdOWFK4DxzzyaSC">Код платежной системы</a><br>Поддерживаются: card, webmoney, sbp</td></tr><tr><td><strong>memberId</strong></td><td>строка</td><td>Идентификатор банка, который можно запросить по <a href="https://help.unitpay.ru/book-of-reference/poluchenie-spravochnika-bankov-uchastnikov-sbp-api">методу</a>. Требуется <strong>только</strong> для выплат СБП</td></tr></tbody></table>

**Дополнительные параметры:**

<table data-header-hidden><thead><tr><th width="151.55550130208331">name</th><th width="139.111083984375">type</th><th>description</th></tr></thead><tbody><tr><td><strong>projectId</strong></td><td>число</td><td>Уникальный ID проекта в системе UnitPay </td></tr><tr><td><strong>comment</strong></td><td>текст</td><td>Комментарий к выплате. Отображается только в вашем личном кабинете (разрешены только буквы, цифры, точки и запятые)</td></tr></tbody></table>

{% hint style="info" %}
**ВАЖНО:** всегда используйте уникальный **transactionId** для новых выплат, при получении существующего **transactionId** (вне зависимости от других параметров) возвращается текущий статус выплаты.&#x20;
{% endhint %}

{% hint style="success" %}
Если после создания выплаты вам требуется проверить ее статус, то необходимо использовать запрос ["Информация по выплате"](/payouts/payout_info)
{% endhint %}

#### Пример успешного ответа

```json
{
  "result": {
    "message":           "Выплата успешно проведена",
    "status":            "success",
    "payoutId":          "114233",
    "partnerBalance":    "15733.00",
    "createDate":        "2021-12-01 11:51:02",
    "completeDate":      "2021-12-01 11:52:02",
    "sum":               "300",
    "payoutCommission":  "6.00",
    "partnerCommission": "0.00"
  }
}
```

<table data-header-hidden><thead><tr><th width="190.8887939453125">name</th><th width="124.88887532552081">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>строка</td><td>Комментарий успешной операции можно использовать как подсказку пользователю после выполнения запроса</td></tr><tr><td><strong>status</strong></td><td>строка</td><td>success — успешная выплата<br>not_completed — выплата отправлена в платежную систему, но еще не получено подтверждение (временный статус)</td></tr><tr><td><strong>payoutId</strong></td><td>число</td><td>Уникальный ID выплаты в системе UnitPay</td></tr><tr><td><strong>partnerBalance</strong></td><td>число</td><td>Баланс партнера в системе доступный для выплат</td></tr><tr><td><strong>createDate</strong></td><td>текст</td><td>Дата создания выплаты</td></tr><tr><td><strong>completeDate</strong></td><td>текст</td><td>Дата завершения выплаты</td></tr><tr><td><strong>sum</strong></td><td>число</td><td>Сумма выплаты</td></tr><tr><td><strong>payoutCommission</strong></td><td>число</td><td>Комиссия выплаты</td></tr><tr><td><strong>partnerCommission</strong></td><td>число</td><td>Комиссия партнера</td></tr></tbody></table>

#### Пример ошибочного ответа:

```json
{
    "error": {
        "message": "Выплата в указанной валюте на указанные реквизиты невозможна",
        "code": 122
    }
}
```

<table data-header-hidden><thead><tr><th width="145.99995930989581">name</th><th width="107.66668701171875">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>string</td><td>Информация с описанием ошибки запроса</td></tr><tr><td><strong>code</strong></td><td>string</td><td>Код ошибки, подробная расшифровка в таблице ниже</td></tr></tbody></table>

#### **Описание возможных ошибок:**

<table data-header-hidden><thead><tr><th width="171.77777099609375">name</th><th>description</th></tr></thead><tbody><tr><td><strong>100</strong></td><td>Услуга "masspayment" отключена</td></tr><tr><td><strong>101</strong></td><td>Услуга "masspayment" для вас недоступна</td></tr><tr><td><strong>122</strong></td><td>Выплата в указанной валюте на указанные реквизиты невозможна</td></tr><tr><td><strong>1051</strong></td><td>Мы не смогли получить информацию о кошельке получателя средств. Проверьте номер кошелька и попробуйте повторить операцию снова или через некоторое время</td></tr></tbody></table>

**Технические ошибки:**

<table data-header-hidden><thead><tr><th width="174">name</th><th>description</th></tr></thead><tbody><tr><td><strong>-32000</strong></td><td>Неверные параметры авторизации (логин, секретный ключ)</td></tr><tr><td><strong>-32602</strong></td><td>Неверные параметры запроса</td></tr><tr><td><strong>-32603</strong></td><td>Внутренняя техническая ошибка</td></tr></tbody></table>

{% hint style="warning" %}
**ВАЖНО:** Если вы получили ошибку с кодом -**32603** воспользуйтесь запросом [информации о выплате](https://help.unitpay.ru/payouts/payout_info), поскольку выплата может изменить свой статус после перезапроса/
{% endhint %}


# Информация о выплате

Для получения с API используйте библиотеку [Unitpay PHP-SDK](https://github.com/unitpay/php-sdk).

```bash
GET https://unitpay.ru/api

method        = massPaymentStatus
login         = partner@gmail.com
transactionId = 1782
secretKey     = sk_live_2YQt9m
```

<table data-header-hidden><thead><tr><th width="151.6666259765625">name</th><th width="157.11104329427081">type</th><th>description</th></tr></thead><tbody><tr><td><strong>login</strong></td><td>строка</td><td>Email аккаунта  в системе UnitPay</td></tr><tr><td><strong>secretKey</strong></td><td>строка</td><td>Секретный ключ аккаунта, доступен в <a href="https://unitpay.ru/partner/profile/edit">настройках профиля</a></td></tr><tr><td><strong>transactionId</strong></td><td>текст</td><td>Уникальный ID выплаты на стороне партнера</td></tr></tbody></table>

#### Успешный ответ:

```json
{
  "result": {
    "message":           "Выплата успешно проведена",
    "status":            "success",
    "payoutId":          "114233",
    "partnerBalance":    "15733.00",
    "createDate":        "2016-10-01 11:51:02",
    "completeDate":      "2016-10-01 11:52:02",
    "sum":               "300",
    "payoutCommission":  "6.00",
    "partnerCommission": "0.00"
  }
}
```

<table data-header-hidden><thead><tr><th width="187.55556233723956"></th><th width="127.111083984375">Значение</th><th>Описание</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>строка</td><td>Комментарий успешной и неуспешной операции, можно использовать как подсказку пользователю после выполнения запроса</td></tr><tr><td><strong>status</strong></td><td>строка</td><td>success — успешная выплата<br>not_completed — выплата отправлена в платежную систему, но еще не получено подтверждение (временный статус)<br>error - ошибочная выплата</td></tr><tr><td><strong>payoutId</strong></td><td>число</td><td>Уникальный ID выплаты в системе UnitPay</td></tr><tr><td><strong>partnerBalance</strong></td><td>число</td><td>Баланс партнера в системе доступный для выплат</td></tr><tr><td><strong>createDate</strong></td><td>текст</td><td>Дата создания выплаты</td></tr><tr><td><strong>completeDate</strong></td><td>текст</td><td>Дата завершения выплаты</td></tr><tr><td><strong>sum</strong></td><td>число</td><td>Сумма выплаты</td></tr><tr><td><strong>payoutCommission</strong></td><td>число</td><td>Комиссия с выплаты</td></tr><tr><td><strong>partnerCommission</strong></td><td>число</td><td>Комиссия с партнера</td></tr></tbody></table>

#### Ошибочный ответ:

```json
{
    "error": {
        "message": "Выплата в указанной валюте на указанные реквизиты невозможна",
        "code": 104
    }
}

```

<table data-header-hidden><thead><tr><th width="164.88887532552081">name</th><th width="137.666748046875">type</th><th>description</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>строка</td><td>Информация с описанием ошибки запроса</td></tr><tr><td><strong>code</strong></td><td>строка</td><td>Код ошибки, подробная расшифровка в таблице ниже</td></tr></tbody></table>

#### **Ошибки:**

<table data-header-hidden><thead><tr><th width="118.4444580078125">name</th><th>description</th></tr></thead><tbody><tr><td><strong>100</strong></td><td>Услуга "масспеймент" отключена</td></tr><tr><td><strong>101</strong></td><td>Услуга "масспеймент" для вас недоступна</td></tr><tr><td><strong>122</strong></td><td>Выплата в указанной валюте на указанные реквизиты невозможна</td></tr><tr><td><strong>1051</strong></td><td>Мы не смогли получить информацию о кошельке получателя средств. Проверьте номер кошелька и попробуйте повторить операцию снова или через некоторое время.</td></tr></tbody></table>

#### **Технические ошибки:**

<table data-header-hidden><thead><tr><th width="141.77777099609375">name</th><th>description</th></tr></thead><tbody><tr><td><strong>-32000</strong></td><td>Неверные параметры авторизации (логин, секретный ключ)</td></tr><tr><td><strong>-32602</strong></td><td>Неверные параметры запроса</td></tr><tr><td><strong>-32603</strong></td><td>Внутренняя техническая ошибка</td></tr></tbody></table>

Запрос можно выполнить в тестовом режиме. [Узнать подробнее](/other/test-api#masspaymentstatus)


# Информация о карте по BIN

```bash
GET https://unitpay.ru/api

method    = getBinInfo
login     = partner@mail
bin       = 477964
secretKey = sk_live_2YQt9m
```

<table data-header-hidden><thead><tr><th width="124.88887532552081">name</th><th width="129.88885498046875">type</th><th>decription</th></tr></thead><tbody><tr><td><strong>login</strong></td><td>строка</td><td>Email аккаунта в системе UnitPay</td></tr><tr><td><strong>secretKey</strong></td><td>строка</td><td>Секретный ключ аккаунта, доступен в <a href="https://unitpay.money/partner/profile/edit">настройках профиля</a></td></tr><tr><td><strong>bin</strong></td><td>число</td><td>Первые 6 цифр номера карты</td></tr></tbody></table>

#### Успешный ответ

```json
{
  "result": {
    "bin":         "477964",
    "bank":        "Alfa Bank",
    "countryCode": "RU",
    "brand":       "VISA",
    "category":    "CLASSIC",
    "bankUrl":     "http://alfabank.com/russia/",
    "bankPhone":   "7 495 620-91-91"
  }
}
```

<table data-header-hidden><thead><tr><th width="163.77773030598956">name</th><th width="100.88885498046875">type</th><th>description</th></tr></thead><tbody><tr><td><strong>bin</strong></td><td>строка</td><td>Первые 6 цифр номера карты</td></tr><tr><td><strong>bank</strong></td><td>строка</td><td>Название банка, в котором была выпущена карта</td></tr><tr><td><strong>countryCode</strong></td><td>строка</td><td>Код страны в формате Alpha-2 (ISO 3166-1)</td></tr><tr><td><strong>brand</strong></td><td>строка</td><td>Название международной системы, в которой обслуживается карта.</td></tr><tr><td><strong>category</strong></td><td>строка</td><td>Категория карты</td></tr><tr><td><strong>type</strong></td><td>строка</td><td>Тип карты</td></tr><tr><td><strong>bankUrl</strong></td><td>строка</td><td>Url банка</td></tr><tr><td><strong>bankPhone</strong></td><td>строка</td><td>Телефон банка</td></tr></tbody></table>

#### Ошибочный ответ

```json
{
    "error": {
        "message": "По вашему запросу ничего не нашлось.",
        "code": 100
    }
}
```

<table data-header-hidden><thead><tr><th width="151.55556233723956">name</th><th width="122.44439697265625">type</th><th>decription</th></tr></thead><tbody><tr><td><strong>message</strong></td><td>строка</td><td>Информация с описанием ошибки запроса</td></tr><tr><td><strong>code</strong></td><td>строка</td><td>Код ошибки, подробная расшифровка в таблице ниже</td></tr></tbody></table>

**Ошибки:**

<table data-header-hidden><thead><tr><th width="170.66668701171875">name</th><th>decription</th></tr></thead><tbody><tr><td><strong>100</strong></td><td>По вашему запросу ничего не нашлось</td></tr></tbody></table>

**Технические ошибки:**

<table data-header-hidden><thead><tr><th width="169.55560302734375">name</th><th>decription</th></tr></thead><tbody><tr><td><strong>-32000</strong></td><td>Неверные параметры авторизации (логин, секретный ключ)</td></tr><tr><td><strong>-32602</strong></td><td>Неверные параметры запроса</td></tr><tr><td><strong>-32603</strong></td><td>Внутренняя техническая ошибка</td></tr></tbody></table>


# Информация о комиссии на выплаты

Узнать размер комиссии на вывод средств возможно по API.&#x20;

{% hint style="info" %}
В ответе от сервера будет отображена информация только по % комиссии; размер минимальной комиссии, лимиты на вывод можно посмотреть в личном кабинете во вкладке Массовые выплаты.&#x20;
{% endhint %}

Для взаимодействия с API рекомендуется использовать библиотеку [Unitpay PHP-SDK](https://github.com/unitpay/php-sdk)

```bash
GET https://unitpay.ru/api

method    = massPaymentCommissions
login     = partner@gmail.com
secretKey = sk_live_2YQt9m
```

|                                   | Значение | Описание                                                                                          |
| --------------------------------- | -------- | ------------------------------------------------------------------------------------------------- |
| <p><strong>login</strong><br></p> | строка   | Email партнера в системе UnitPay                                                                  |
| **secretKey**                     | строка   | Секретный ключ партнера, доступен в [настройках профиля](https://unitpay.ru/partner/profile/edit) |

**Успешный ответ**

```json
{
    "result": {
        "card_rf": {
            "name": "Банковская карта РФ",
            "commission": 6
        },
        "card_kz": {
            "name": "Банковская карта Казахстана",
            "commission": 6.5
        },
        "card_foreign": {
            "name": "Иностранная банковская карта (VISA, Mastercard)",
            "commission": 6
        }
    }
}
```

|                | Значение | Описание            |
| -------------- | -------- | ------------------- |
| **name**       | строка   | наименование метода |
| **commission** | число    | размер комиссии     |

**Ошибочный ответ**

```json
{
    "error": {
        "message": "Неверный секретный ключ",
        "code": -32000
    }
}
```

|            | Описание                      |
| ---------- | ----------------------------- |
| **-32000** | Ошибка авторизации            |
| **-32602** | Ошибочные параметры запроса   |
| **-32603** | Внутренняя техническая ошибка |


# Дополнительно: выплаты на основе CSV-реестра

Выплаты на основе CSV-реестра доступны всем партнерам Unitpay, для которых открыты массовые выплаты.&#x20;

Интерфейс загрузки CSV-реестра находится на странице "Массовые выплаты" и даёт возможность сформировать выплаты, загрузив в систему файл с расширением .csv.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5d663ea72c7d3a7a4d77bc0c/file-c8HWxz5x4q.png)

Количество выплат в одном файле ограничено 100 операциями.

Мы советуем скачать шаблон реестра, внести необходимые изменения, сохранить файл и загрузить его в систему.&#x20;

Допустимо использование в качестве разделителя как запятой, так и точки с запятой, а также наличие кавычек.&#x20;

После загрузки файла вам необходимо проверить реквизиты суммы выплат, нажать кнопку "Подтвердить"...

![Пример загруженного сsv-реестра](/files/kMkrAa1au5YM5NoGHgqh)

...и дополнительно разрешить операцию с помощью ввода кода из SMS, отправленного на мобильный телефон.&#x20;

**Дополнительные параметры:**&#x20;

|              |        | Описание                             |
| ------------ | ------ | ------------------------------------ |
| **memberId** | строка | заполняется только для выплат по СБП |

По вопросам подключения услуги "Массовые выплаты" вы можете обратиться к своему персональному менеджеру в мессенджере, а также по электронной почте <partners@unitpay.ru>


# Баланс, доступный к выплате (API)

С помощью этого запроса вы сможете узнать доступный к выплате баланс по конкретному методу выплаты.&#x20;

```bash
GET https://unitpay.ru/api

method            = massPaymentAvailableAmount
login             = unitpay-test@example.ru
secretKey         = sk_live_2YQt9m
sum               = 5
purse             = 79123456789
paymentType       = sbp
recipientCurrency = RUB
```

**Обязательные параметры:**

<table data-header-hidden><thead><tr><th width="195.111083984375">name</th><th width="138.22212727864581">type</th><th>description</th></tr></thead><tbody><tr><td><strong>login</strong></td><td>строка</td><td>E-mail аккаунта в системе UnitPay</td></tr><tr><td><strong>secretKey</strong></td><td>строка</td><td>Секретный ключ аккаунта, доступен в <a href="https://unitpay.ru/partner/profile/edit">настройках профиля</a></td></tr><tr><td><strong>sum</strong></td><td>число</td><td>Сумма выплаты (например, 10)</td></tr><tr><td><strong>purse</strong></td><td>строка</td><td>Реквизит для получения выплаты (например,  номер телефона, номер банковской карты)</td></tr><tr><td><strong>paymentType</strong></td><td>строка</td><td>Наименование метода выплаты</td></tr></tbody></table>

**Необязательные параметры:**&#x20;

<table><thead><tr><th width="197.88885498046875">name</th><th width="138.333251953125">type</th><th>description</th></tr></thead><tbody><tr><td><strong>recipientCurrency</strong></td><td>строка</td><td>Валюта выплаты (RUB - для всех выплат через банковские карты, СБП)</td></tr></tbody></table>

**Пример успешного ответа:**&#x20;

```json
{
    "result": {
        "availableAmount": 1057.36,
        "currency": "RUB"
    }
}
```

<table><thead><tr><th width="195.66668701171875">name</th><th width="134.8887939453125">type</th><th>description</th></tr></thead><tbody><tr><td><strong>availableAmount</strong></td><td>число</td><td>Баланс, доступный к выводу</td></tr><tr><td><strong>currency</strong></td><td>строка</td><td>Валюта запрашиваемого баланса</td></tr></tbody></table>

**Пример ошибочного ответа:**

```json
{
    "error": {
        "message": "Неверные параметры авторизации",
        "code": -32000
    }
}
```

<table data-header-hidden><thead><tr><th width="219.55548095703125">name</th><th>description</th></tr></thead><tbody><tr><td><strong>-32000</strong></td><td>Неверные параметры авторизации (логин, секретный ключ)</td></tr><tr><td><strong>-32602</strong></td><td>Неверные параметры запроса (некорректно составлен запрос)</td></tr><tr><td><strong>-32603</strong></td><td>Внутренняя техническая ошибка</td></tr></tbody></table>


# Получение справочника банков-участников СБП (API)

Для создания выплаты по методу СБП потребуется указать в [запросе](https://help.unitpay.ru/payouts/create_payout) идентификатор банка-участника СБП. Получить идентификатор можно с помощью этого API запроса:&#x20;

```bash
GET https://unitpay.ru/api

method    = getSbpBankList
login     = email аккаунта
secretKey = sk_live_2YQt9m
```

**Обязательные параметры:**

<table><thead><tr><th width="149.888916015625"> Имя</th><th width="166">Значение</th><th>Описание</th></tr></thead><tbody><tr><td><strong>login</strong></td><td>строка</td><td>Ваш Email в системе UnitPay</td></tr><tr><td><strong>secretKey</strong></td><td>строка</td><td>Секретный ключ партнера, доступен в настройках вашего  <strong>профиля</strong></td></tr></tbody></table>

**Пример успешного ответа:**

```json
{
    "result": [
        {
            "member_id": "100000000001",
            "name": "Газпромбанк",
            "name_en": "Gazprombank"
        },
        {
            "member_id": "100000000002",
            "name": "Золотая Корона (РНКО Платежный Центр)",
            "name_en": "Korona Pay (Credit Union Payment Center)"
        }
    ]
}
```

**Пример ошибочного ответа:**&#x20;

```json
{
    "error": {
        "message": "Неверные параметры авторизации",
        "code": -32000
    }
}
```

<table><thead><tr><th width="127"> Имя</th><th width="620.3333740234375">Описание</th></tr></thead><tbody><tr><td>3200</td><td>Неверные параметры авторизации. Проверьте корректность указываемых данных</td></tr></tbody></table>


# Автовыплаты

Данный функционал доступен только для неттинга.

В личном кабинете доступна возможность настроить автовыплату.&#x20;

Для этого в разделе Выплаты в колонке справа необходимо поставить галочку рядом с функционалом «*Выплачивать по расписанию*» и выбрать удобный период.

![](/files/aukuF1daG5wmwkDnBcmy)

В указанный период с баланса будет списана вся находящая на балансе сумма.&#x20;

Средства выплачиваются на банковскую карту, кошелек или номер телефона (СБП), указанные в личном кабинете в качестве приоритетных.

Минимальные и максимальные лимиты выплат такие же, как и на обычные/массовые выплаты — вы можете ознакомиться с ними во вкладке «Выплаты» справа, суммы меняются в зависимости от метода. Если сумма к выплате превышает максимальную, то выплачивается максимально возможная.


# Онлайн-кассы


# Юнит.Чеки

**Юнит.Чеки** - это альтернативный вариант онлайн-кассы от Unitpay. Наше решение максимально облегчает вам работу по отправке чеков: вы полностью отдаете ее в наши руки. Мы отправляем чеки вашим клиентам и в ОФД, откуда данные передаются в налоговую. Не нужно следить за переполнением фискального накопителя, отдельно регистрировать кассу в личном кабинете налоговой или арендовать ККТ - весь процесс подключения занимает несколько кликов.

**Способы отправки чеков**

Юнит.Чеки сейчас доставляются только на **электронную почту**. Отправка чеков в смс недоступна.

Юнит.Чеки подключаются после прохождения предыдущих этапов - [отправления анкет и учредительных документов](https://help.unitpay.ru/unitpay-management/instrukciya-po-interfeisu#vyplaty) и [модерации проекта](https://help.unitpay.ru/first_steps/moderation#okonchatelnaya-moderaciya-proekta).

1. Вам необходимо зайти в Управление - Онлайн-кассы - выбрать Юнит.Чеки.

![](/files/-Mg9o1Y31AicqXU7xTvB)

2\. Далее нужно выбрать свой тип налогообложения и способ расчета, ознакомиться с условиями [агентского договора](https://unitpay.ru/agent_offer_unit_receipts), нажать "Подключить".

![](/files/-Mi_rZmO2dnlOBV47diE)

3\. Готово! Онлайн-касса подключена:

![](/files/-Mi_s0OGDaZ_SpgBRuoV)

4\. Дополнительно вам также придет уведомление в личном кабинете:

![](/files/-Mg9rFRh5RMmjpGC4GCF)

{% hint style="warning" %}
После подключения Юнит.Чеков не забывайте про передачу нам [дополнительных параметров](https://help.unitpay.ru/online-cash-register/receipt_parameters), необходимых для корректной работы онлайн-кассы и платежного решения. **Без них платежное решение работать не будет!**
{% endhint %}


# Подключение Онлайн-кассы

Согласно требованию 54-ФЗ, необходимо отправлять чеки покупателю и в ФНС РФ.

Чтобы формировать чеки одновременно с созданием платежей, требуется подключить онлайн-кассу.

Вы можете:

* оформить кассу самостоятельно и интегрировать ее&#x20;
* подключить готовое решение - [**Юнит.Чеки**](https://help.unitpay.ru/online-cash-register/unit.receipts)

#### Как подключить?

1. Авторизуйтесь;
2. Перейдите на страницу онлайн-касс (Управление → Онлайн-кассы);<br>

   <figure><img src="/files/BPcikClcSmqUC7ZVX4hZ" alt=""><figcaption></figcaption></figure>
3. Нажмите *"Добавить кассу";*<br>

   <figure><img src="/files/aD3k8cEE8UUbL0NIMtZl" alt=""><figcaption></figcaption></figure>
4. Если подключаете кассу партнера (**не** Юнит.Чеки), необходимо заполнить поля;
5. Нажмите кнопку "Подключить"

Чтобы касса смогла сформировать чек, требуется передать несколько параметров при создании платежа.&#x20;

{% hint style="warning" %}
Если онлайн-касса подключена, а требуемые параметры не переданы, платежное решение работать не будет (платежи будут проходить с ошибкой).

Подробнее можно ознакомиться [здесь](/online-cash-register/receipt_parameters).
{% endhint %}

{% hint style="info" %}
Для касс "АТОЛ Онлайн" доступно использование версий ФФД 1.05 и 1.2. (для переключения нужно обратиться к поддержке "АТОЛ Онлайн".
{% endhint %}

{% hint style="danger" %}
Обратите внимание, что кассы KitOnline, ECOM, МодульКасса работают с ФФД 1.05. Если вы хотите подключить партнерскую кассу с ФФД 1.2, обратитесь, пожалуйста, в нашу [службу поддержки](https://help.unitpay.ru/support).\
\
Также предлагаем подключить вам наше бесплатное решение по 54-ФЗ: [Юнит.Чеки](https://help.unitpay.ru/online-cash-register/unit.receipts).
{% endhint %}


# Параметры для формирования чека

Чтобы сформировать чек требуется в [запросе на создание платежа](/payments/create-payment) указать дополнительные параметры:

<table data-header-hidden><thead><tr><th width="234.33333333333331"></th><th width="145">Тип</th><th>Описание</th></tr></thead><tbody><tr><td><strong>Параметр</strong></td><td><strong>Тип</strong></td><td><strong>Описание</strong></td></tr><tr><td>customerEmail</td><td>строка</td><td>Email плательщика</td></tr><tr><td>customerPhone</td><td>число</td><td>Телефон плательщика в международном формате без "+"</td></tr><tr><td>cashItems</td><td>строка</td><td><p><strong>Позиции заказа</strong><br><br>Получается путем кодирования base64 значения в формате json. Например: <br></p><p></p><p>Получившееся значение необходимо кодировать в URL формат, чтобы ссылка на оплату открылась корректно.</p><pre class="language-javascript"><code class="lang-javascript">const cashItems = [
  { name: 'Булочка', count: 1, 
    price: 10.00, type: 'commodity' 
  },
  { name: 'Кофе', count: 2, 
    price: 5.00, type: 'commodity' 
  },
]

const json = JSON.stringify(cashItems);

const bytes = new TextEncoder().encode(json);

const encodedCashItems = btoa(String.fromCharCode(...bytes));

// Дополнительный шаг для всех методов кроме виджета
const cashItemsForUrl = encodeURIComponent(encodedCashItems);

console.log(cashItemsForUrl); </code></pre><p></p></td></tr></tbody></table>

{% hint style="danger" %}
Для [Юнит.Чеков](/online-cash-register) отправка чеков сейчас доступна только по электронной почте. Отправка чеков в смс недоступна. Чтобы пользователю поступил чек обязательно передавайте параметр **customerEmail**.
{% endhint %}

{% hint style="info" %}
Для формирования чека [возврата](/payments/payment-refund) достаточно передать **cashItems. CustomerEmail** или **customerPhone** не требуются
{% endhint %}

{% hint style="warning" %}
С 1.02.2021 года в кассовом чеке нужно **обязательно указывать корректно номенклатуру** (наименование, количество, цену) за товары/услуги в cashItems.&#x20;
{% endhint %}

**Параметр cashItems формируется из:**

<table data-header-hidden><thead><tr><th width="237"></th><th width="167.33333333333331">Тип</th><th>Описание</th></tr></thead><tbody><tr><td><strong>Параметр</strong></td><td><strong>Тип</strong></td><td><strong>Описание</strong></td></tr><tr><td>name</td><td>string</td><td>Название позиции <em>(обязательный параметр): <strong>не более 128 символов для одной позиции</strong></em></td></tr><tr><td>count</td><td>number</td><td>Количество <em>(обязательный параметр): <strong>суммарно в чеке не может быть более 100 позиций</strong></em></td></tr><tr><td>price</td><td>number</td><td>Цена за единицу товара <em>(обязательный параметр)</em></td></tr><tr><td>currency</td><td>string</td><td>По умолчанию всегда RUB (если ваши товары/услуги в рублях, то currency отдельно можно не передавать). <br>Валюта заказа по стандарту ISO 4217 (UAH, BYN, EUR, USD и тд. <a href="/pages/-MIy12TsNMnyS0DEFjSW">Полный список валют</a>). <br>В чеке у пользователя всегда будут рубли, даже если вы передали валюту, отличную от RUB (конвертация происходит на стороне Unitpay).</td></tr><tr><td>nds</td><td>string</td><td><p><strong>Размер ставки НДС:</strong> </p><p>none</p><p>vat0<br>vat5<br>vat7</p><p>vat10</p><p>vat22<br><br>vat110 (ставка 10/110, применяется только для чеков с признаками способа расчета "Предоплата, Предоплата 100% и Аванс)<br>vat122 (ставка 22/122, применяется только для чеков с признаками способа расчета "Предоплата, Предоплата 100% и Аванс)<br>vat105 (ставка 5/105, применяется только для чеков с признаками способа расчета "Предоплата, Предоплата 100% и Аванс) <br>vat107 (ставка 7/107, применяется только для чеков с признаками способа расчета "Предоплата, Предоплата 100% и Аванс)</p></td></tr><tr><td></td><td></td><td></td></tr><tr><td>type</td><td>string</td><td>Список <strong>типов позиций</strong>:<br><a href="https://help.unitpay.ru/online-cash-register/types-for-online-cashbox">https://help.unitpay.ru/online-cash-register/types-for-online-cashbox</a></td></tr><tr><td>paymentMethod</td><td>string</td><td><p><strong>Признак способа расчета:</strong></p><p>full_payment - полный расчет (<em>Используется по умолчанию)</em></p><p>full_prepayment - предоплата 100% </p><p>prepayment - предоплата </p><p>advance - аванс </p></td></tr><tr><td>sum</td><td>number</td><td>Сумма <strong>(необязательный параметр):</strong> обязателен только при использовании <strong>промокодов, купонов и скидочных сертификатов</strong><br>(в sum передается значение после применения скидки на товары, sum всегда должен быть равен произведению price*count).</td></tr></tbody></table>

{% hint style="info" %}
Если в ссылку/запрос передается информация о нескольких товарах, то их нужно передать через запятую в виде массива: \[{...},{...},{...}].
{% endhint %}

{% hint style="info" %}
С 12.01.2026 параметр НДС `vat20` автоматически подменяется на параметр `vat22`. До конца I квартала 2026 года вам необходимо изменить параметр `nds` и передавать `vat22` в cashItems.
{% endhint %}

{% hint style="warning" %}
Параметр **paymentMethod** необязательный и может быть так же задан в настройках кассы в личном кабинете Unitpay. При этом приоритет выбора будет такой:\
1\) Данные из запроса **cashItems** на создание платежа\
2\) Данные из настройки кассы\
3\) Если не заданы пункты 1 и 2, то по умолчанию - full\_payment
{% endhint %}

{% hint style="info" %}
При продаже маркированного товара с 1 марта 2020 года должен отображаться признак маркировки: **markCode**. При формировании чека на маркированные товары должны быть переданы дополнительные параметры:
{% endhint %}

<table><thead><tr><th width="209.33333333333331"></th><th width="193"></th><th></th></tr></thead><tbody><tr><td><strong>Параметр</strong></td><td><strong>Тип</strong></td><td><strong>Описание</strong></td></tr><tr><td>markCode</td><td>string</td><td>Код маркировки товара в формате, соответствующем требованиям ФНС России </td></tr><tr><td>quantity</td><td>number</td><td>Количество товара. <strong>Суммарно в чеке не может быть более 100 позиций.</strong></td></tr><tr><td>measure</td><td>number</td><td><p>Единицы измерения количества предмета расчета. Может принимать одно из значений: <br>0 - применяется для предметов расчета, которые могут быть реализованы поштучно или единицами;<br>10 - грамм;<br>11 - килограмм; <br>12 - тонна;<br>20 - сантиметр.</p><p>Если продается штучный товар, то measure всегда = 0. <br>Если на одну конкретную единицу товара одна маркировка, то указывается quantity = 1, а mark_quantity не включается в запрос.</p></td></tr><tr><td>markQuantity</td><td>array</td><td><p>Объем товаров в маркированной партии.</p><p>Если в упаковке с единой маркировкой, например, 10 штук товара и вы продаете из коробки 2 штуки, то указывается quantity = 1, а в mark_quantity в числителе numerator = 2, в знаменателе denominator = 10.</p><p>Пример:</p><p><code>"mark_quantity":{"numerator":2,"denominator":10}</code></p></td></tr></tbody></table>

{% hint style="info" %}
**Важное замечание**:\
\
Сумма заказа (sum) должна быть **больше или равна** price\*count (из **cashItems**).\
\
Если сумма заказа **больше**, то в чек добавится дополнительное наименование "Корректировка итога".\
\
Если сумма заказа **меньше** price\*count, то при переходе на оплату по сформированной ссылке / при инициации такого запроса к API, ответ от сервера будет выглядеть так:\
\
"Сумма позиций больше стоимости заказа".
{% endhint %}


# Типы позиций для формирования чека

|                          |                                                                                                                                                                                                                                                        |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Тип позиции**          | **Описание**                                                                                                                                                                                                                                           |
| commodity                | товар (немаркированный, используется по умолчанию)                                                                                                                                                                                                     |
| job                      | работа                                                                                                                                                                                                                                                 |
| service                  | услуга                                                                                                                                                                                                                                                 |
| intellectual\_activity   | о предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации                                                                                                                                          |
| payment                  | платеж (аванс, задаток, предоплата, кредит)                                                                                                                                                                                                            |
| agent\_commission        | агентская комиссия                                                                                                                                                                                                                                     |
| payment\_2               | платеж (взнос в счет оплаты, пени, штрафа, вознаграждения)                                                                                                                                                                                             |
| another                  | другой                                                                                                                                                                                                                                                 |
| property\_right          | имущественные права                                                                                                                                                                                                                                    |
| non-operating\_gain      | внецентрализованный доход                                                                                                                                                                                                                              |
| insurance\_premium       | страхование                                                                                                                                                                                                                                            |
| sales\_tax               | налог с продаж                                                                                                                                                                                                                                         |
| resort\_fee              | курортный сбор                                                                                                                                                                                                                                         |
| deposit                  | залог                                                                                                                                                                                                                                                  |
| expense                  | расход. О суммах произведенных расходов в соответствии со статьей 346.16 Налогового кодекса Российской Федерации, уменьшающих доход                                                                                                                    |
| pension\_insurance\_ip   | взносы на ОПС ИП. О страховых взносах на обязательное пенсионное страхование, уплачиваемых ИП, не производящими выплаты и иные вознаграждения физическим лицам                                                                                         |
| pension\_insurance       | взносы на ОПС. О страховых взносах на обязательное пенсионное страхование, уплачиваемых организациями и ИП, производящими выплаты и иные вознаграждения физическим лицам                                                                               |
| medical\_insurance\_ip   | взносы на ОМС ИП. О страховых взносах на обязательное медицинское страхование, уплачиваемых ИП, не производящими выплаты и иные вознаграждения физическим лицам.                                                                                       |
| medical\_insurance       | взносы на ОМС. О страховых взносах на обязательное медицинское страхование, уплачиваемые организациями и ИП, производящими выплаты и иные вознаграждения физическим лицам.                                                                             |
| social\_insurance        | взносы на ОСС. О страховых взносах на обязательное социальное страхование на случай временной нетрудоспособности и в связи с материнством, на обязательное социальное страхование от несчастных случаев на производстве и профессиональных заболеваний |
| excise\_without\_mark    | о реализуемом подакцизном товаре, подлежащем маркировке средством идентификации, не имеющем кода маркировки                                                                                                                                            |
| excise\_mark             | о реализуемом подакцизном товаре, подлежащем маркировке средством идентификации, имеющем код маркировки                                                                                                                                                |
| commodity\_without\_mark | о реализуемом товаре, подлежащем маркировке средством идентификации, не имеющем кода маркировки, за исключением подакцизного товара                                                                                                                    |
| commodity\_mark          | о реализуемом товаре, подлежащем маркировке средством идентификации, имеющем код маркировки, за исключением подакцизного товара                                                                                                                        |


# Просмотр чека

{% hint style="warning" %}
Электронные чеки формируются, если у вас подключена онлайн-касса: Юнит.Чеки, Атол, МодульКасса, E-COM Kassa, Kit Online, Чек Онлайн
{% endhint %}

{% hint style="info" %}
Чтобы получить ссылку на электронный чек, воспользуйтесь запросом ["Информация о платеже"](/payments/payment-info)
{% endhint %}

Электронный чек можно просмотреть и из личного кабинета **(доступно только для касс Юнит.Чеки, АТОЛ, E-COM)**, для этого:

1. Авторизуйтесь
2. Зайдите в проект
3. Откройте таб "Статистика"
4. Кликните на иконку рядом с платежом

![](/files/-MBEIeD2VWvk19srXCEb)


# Чек зачета аванса

Если вы получили предоплату (аванс) и оказали услугу/отправили товар, то необходимо пробить 2-ой чек - чек зачета аванса.&#x20;

{% hint style="info" %}
Система не валидирует соответствие данных для чека прихода предоплаты и данных чека предоплаты. Будьте внимательны.

Обратите внимание на то, что зачет аванса по чекам, выбитым по ставкам 5/105 (vat5), 7/107 (vat7),  10/110 (vat110) и 20/120 (vat120) происходит по фактической ставке, т.е 5% (vat5), 7% (vat7), 10% (vat10) или 20% (vat20) соответственно.
{% endhint %}

{% hint style="warning" %}
Поддерживается только для следующих онлайн-касс: Юнит.Чеки и Атол
{% endhint %}

Для этого отправьте запрос:

```bash
GET https://unitpay.ru/api

method    = offsetAdvance
paymentId = paymentID
secretKey = sk_live_2YQt9m
login     = your_email
```

#### Query Parameters

| Name      | Type   | Description                                                                                                                                                |
| --------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| login     | string | email Партнера                                                                                                                                             |
| secretKey | string | секретный ключ Партнера                                                                                                                                    |
| paymentId | string | id платежа, по которому происходит зачет аванса. У платежа обязательно должны быть cashItems со способами расчёта “аванс“, “предоплата“, "предоплата 100%" |
| cashItems | string | Обязателен, если по платежу уже были произведены зачеты аванса. Если cashItems не передан, происходит зачет аванса всего платежа                           |

{% tabs %}
{% tab title="200 " %}

```json
{
  "result": {
    "message": "Запрос на создание чека сформирован и отправлен в ОФД"
  }
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Подробнее про формирование cashItems [здесь](/online-cash-register/receipt_parameters).
{% endhint %}

{% hint style="danger" %}
Если товар/услуга была продана в валюте отличной от RUB, то в для чека прихода предоплаты требуется передать сумму в RUB. В чеке предоплаты сумма всегда в рублях.
{% endhint %}

Чеки закрытия аванса также отображаются в личном кабинете в общей статистике платежей:<br>

![Корректное отображение чека с предоплатой/авансом и чека с зачетом аванса](/files/-MgGO2pI8LAhFON6gp2_)


# Готовые модули


# Unitpay SDK

Перечень готовых библиотек для быстрой интеграции Unitpay.

### Официальная библиотека

Проверенное решение, разработанное командой Unitpay (поддерживает методы initPayment и getPayment).

* **PHP:** [unitpay/php-sdk](https://github.com/unitpay/php-sdk)
* **Python**: [unitpay/python-sdk](https://github.com/unitpay/python-sdk)
* **Ruby:** [unitpay/ruby-sdk](https://github.com/unitpay/ruby-sdk)


# Базовый обработчик платежа

Подходит для большинства проектов. Для установки достаточно [скачать модуль](https://github.com/unitpay/base_module) и следовать инструкциям из файла readme.txt.

**Шаг 1.** Создайте в БД таблицу unitpay\_payments:

```sql
CREATE TABLE IF NOT EXISTS `unitpay_payments` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `unitpayId` varchar(255) NOT NULL,
  `account` varchar(255) NOT NULL,
  `sum` float NOT NULL,
  `itemsCount` int(11) NOT NULL DEFAULT '1',
  `dateCreate` datetime NOT NULL,
  `dateComplete` datetime DEFAULT NULL,
  `status` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
```

В таблицу unitpay\_payments будет логироваться информация о проводимых платежах

**Шаг 2.** Разместите скрипты в произвольной директории веб-сервера, в которую есть доступ из интернета. Убедитесь, что на сервере установлен php версии 5.x.x или выше, а также доступно расширение mysqli (для работы с БД mysql).

**Шаг 3.** Укажите в config.php параметры соединения с БД, стоимость одной единицы товара (предмета), секретный ключ (его можно найти в настройках проекта в личном кабинете unitpay.ru), а также таблицу с пользователями и поле в этой таблице, которое необходимо обновить после оплаты.

**Шаг 4.** В личном кабинете unitpay.ru, в настройках проекта укажите адрес обработчика. В данном случае это абсолютный URL, по которому доступен index.php текущего модуля.


# CMS модули


# 1C Bitrix

### Инструкция по настройке и установке модуля.

Простое и удобное решение для подключения к нашей платформе клиентов CMS 1С-Битрикс. Для установки модуля достаточно [воспользоваться сервисом](https://marketplace.1c-bitrix.ru/solutions/unitpay.paymodule/) Маркетплейс.

{% hint style="info" %}
Если при установке модуля из маркетплейса Битрикс, у вас возникли проблемы с кодировкой, установите, пожалуйста, файлы модуля [напрямую из GitHub](https://github.com/unitpay/bitrix-module).
{% endhint %}

**Установка и настройка**

Настройки решения можно задать в меню "Настройка"-> "Настройка продукта"-> "Настройки модулей"-> "Платежная система UnitPay".  \
\
В настройках модуля необходимо заполнить следующие обязательные параметры:&#x20;

* Домен unitpay.ru;
* № проекта (указан в заголовке названия проекта личного кабинета UnitPay);&#x20;
* публичный ключ проекта (указан в настройках проекта (параметр "PUBLIC KEY"));
* секретный ключ проекта (указан в настройках проекта (параметр "SECRET KEY"));&#x20;
* описание заказа (например, "Оплата заказа из магазина цветов");&#x20;
* валюта (валюта, в которой выставляется сумма к оплате);&#x20;
* язык формы оплаты.&#x20;
* передавать содержимое заказа для чека - если вы используете кассу в системе UnitPay.
* Редирект на оплату *(появилось с обновлением 9.06.21)* - после нажатия на оформить заказ, клиент сразу будет перенаправлен платежную форму без промежуточного этапа подтверждения заказа.

Создав новую платежную систему, выберите в качестве обработчика "UnitPay" для необходимых типов плательщиков. Дополнительной настройки платежной систем не нужно.&#x20;

В обработчике платежей в настройках проекта на сайте UnitPay нужно указать *<http://имя\\_вашего\\_сайта/unitpay\\_processor/result.php?UNITPAY\\_HANDLER=UNITPAY>*

#### Обновление с czebra.unitpay

Для обновления модуля вам необходимо:

* удалить старый модуль;
* установить и настроить модуль, согласно инструкции выше;
* поменять url обработчика в личном кабинете на *<http://имя\\_вашего\\_сайта/unitpay\\_processor/result.php?UNITPAY\\_HANDLER=UNITPAY>*

{% hint style="info" %}
В модуле поддерживается мультидоменность и промокоды.
{% endhint %}


# Amiro CMS

### Инструкция по настройке и установке модуля.

{% hint style="success" %}
Настроить модуль можно простым способом, установив его напрямую из [маркетплейса Amiro.CMS.](https://www.amiro.ru/market/catalog/shop/priem-oplaty-cherez-unitpay)
{% endhint %}

1\. Скачайте  [архив](https://github.com/unitpay/amiro-module/archive/master.zip) с модулем.

{% hint style="info" %}
Особенность Amiro: после скачивания архива с модулем его необходимо переархивировать в формат tag.gz, иначе модуль не добавится в корень.
{% endhint %}

2\. Перейдите по ссылке  [**http://ваш\_сайт/\_admin/engine.php?mod\_id=ami\_market\&upload=1**](http://xn--_-7sbbf2b7bj7b/_admin/engine.php?mod_id=ami_market\&upload=1)

3\. Выберите в качестве файла дистрибутива архив в формате tag.gz с модулем и загрузите его.

![](/files/-MNxJDp6xLwGLhWiOMXe)

4\. Перейдите в "Сервис"-> "Настройка системы"-> "Способы оплаты".

5\. Найдите в списке драйверов Unitpay и нажмите "Установить".

6\. Нажмите кнопку "Редактировать" в строке Unitpay и заполните поля DOMAIN (unitpay.ru), PUBLIC KEY и SECRET KEY, которые вы можете взять в личном кабинете unitpay.money. Далее нажмите на кнопку сохранить.

![](/files/-MNxJLaYT5hmxd1NIl19)

7\. Переходим в Сервис->Настройка системы и в выпадающем списке выбираем "Каталог товаров"-> "Заказы".

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/589319b72c7d3a784630896a/file-gK9kaw5I6F.png)

8\. В строке "Доступные способы оплаты" нажимаем "Редактировать".

![](/files/-MNxJY_dFWzi9Q5sYhyC)

9\. Выбираем необходимые способы, включая Unitpay и в самом низу жмем кнопку "Применить изменения".

<div align="left"><img src="/files/-MNxJdRNxe3mETkZjnC5" alt=""></div>

10\. В личном кабинете Unitpay.ru введите адрес обработчика платежей http\://<адрес вашего сайта>/drivers/gate\_unitpay.php. Из-за особенностей модуля будет гореть красным "Ошибка формата", это нормально.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/58931dfd2c7d3a7846308987/file-yzfMRJS7QE.png)


# AmoCRM

### Инструкция по настройке и установке модуля

{% stepper %}
{% step %}
Во вкладке **amoМаркет** в поисковой строке введите Unitpay --> Установить

<figure><img src="/files/nXh6fIcPgzkXOHyXKZFo" alt=""><figcaption></figcaption></figure>

Модуль использует функциональность **Списков**, которые доступны с Расширенного тарифа в AmoCRM.
{% endstep %}

{% step %}

Добавьте: домен (unitpay.ru), Public Key, Secret Key (их можно взять в настройках проекта в личном кабинете Unitpay). Если у вас подключены "Юнит.Чеки", то задайте НДС и "Тип товаров" ([подробнее о параметрах в чеках](https://help.unitpay.ru/online-cash-register/receipt_parameters)).

<figure><img src="/files/UC8H0ImZWe4hK7m5v7PN" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

###

Если вы хотите отправлять ссылку на оплату на email из Сделки, то вам нужно добавить настройки smtp.

{% hint style="info" %}
**Важно:** данные, указываемые в этом разделе зависят от почтового сервиса, которым вы пользуетесь.&#x20;
{% endhint %}

<figure><img src="/files/yYna2qHPZWrWqW1BUg74" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

###

Скопируйте "Обработчик" из настроек модуля и установите его в настройках проекта в личном кабинете Unitpay.

<figure><img src="/files/GEw0PIWv7DmFs67VjYIC" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

###

Включите функционал Товаров в AmoCRM ([как это сделать](https://www.amocrm.ru/support/lists/products)). Задайте товары.
{% endstep %}

{% step %}

###

Перейдите в сделку на вкладку Unitpay. Добавьте счет.

![](/files/-MSNkWvNkyF6fyD3Ar27)

{% endstep %}

{% step %}

###

Выберите нужные товары и их количество. Если вам не нужна доставка, то оставьте "0" в стоимости доставки (она не будет учитываться).<br>

![](/files/-MSNku03H0srp3MtWT9h)

{% endstep %}

{% step %}

###

После создания счет отобразится в Сделке, а также ссылка на оплату уйдет на первую почту клиента (если вы настроили smtp).&#x20;
{% endstep %}

{% step %}

###

Успешная оплата отобразится в сделке. Также вы можете настроить смену этапов воронки после успешной оплаты (делается это в настройках модуля).
{% endstep %}
{% endstepper %}


# BILLmanager

### Инструкция по настройке приема платежей через сервис BILLmanager.

{% hint style="info" %}
Подробная инструкция и поддерживаемые возможности описаны [в документации BILLmanager](https://docs.ispsystem.ru/billmanager/finansy/podklyuchenie-modulej-oplaty/unitpay#UnitPay-НастройканасторонеBILLmanager)
{% endhint %}

### Настройка на стороне платежной системы <a href="#unitpay-nastroikanastoroneplatezhnoisistemy" id="unitpay-nastroikanastoroneplatezhnoisistemy"></a>

На стороне Unitpay необходимо указать настройки:

* **PUBLIC KEY** — Параметр необходим для идентификации получателя платежа. Используется в настройках метода оплаты на стороне BILLmanager.
* **Направить клиента на специальные страницы проекта** — флаг должен быть включен.
* **Success URL** — URL адрес взаимодействия с биллинговой системой для успешных платежей. Необходимо указать URL вида: 'https\://<адрес\_BILLmanager>/billmgr?func=payment.success'.
* **Fail URL** — URL адрес взаимодействия с биллинговой системой для неуспешных платежей. Необходимо указать URL вида: 'https\://<адрес\_BILLmanager>/billmgr?func=payment.fail'.
* **Обработчик платежей** — URL адрес взаимодействия с биллинговой системой. Необходимо указать URL вида: 'https\://<адрес\_BILLmanager>/mancgi/unitpayresult'.&#x20;
* **SECRET KEY** — ключ для проверки подписей платежей. Используется в настройках метода оплаты на стороне BILLmanager.

### Настройка на стороне BILLmanager <a href="#unitpay-nastroikanastoronebillmanager" id="unitpay-nastroikanastoronebillmanager"></a>

Подключение модуля оплаты выполняется в разделе **Провайдер** → **Методы оплаты**.  Мастер подключения состоит из трех шагов:

* **Шаг 1. Выбор метода оплаты**. В качестве метода оплаты необходимо выбрать "Unitpay".
* **Шаг 2. Настройка интеграции**. Ввод информации, необходимой для интеграции с платежной системой.
* **Шаг 3. Настройка метода оплаты**. Настройка внутренних (в пределах BILLmanager) параметров метода оплаты.

#### Настройка интеграции <a href="#unitpay-nastroikaintegracii" id="unitpay-nastroikaintegracii"></a>

### [![](https://docs.ispsystem.ru/billmanager/files/16548599/16548601/1/1519229905000/unit.png)](https://docs.ispsystem.ru/billmanager/files/16548599/16548601/1/1519229905000/unit.png) <a href="#unitpay-unit.pngeffects-drop-shadow400" id="unitpay-unit.pngeffects-drop-shadow400"></a>

**PUBLIC KEY** — публичный ключ магазина. Указан в личном кабинете Unitpay в настройках вашего проекта.\
**SECRET KEY** — секретный ключ магазина. Указан в личном кабинете Unitpay в настройках вашего проекта.


# Bitrix24

Инструкция по настройке и установке модуля.

{% hint style="info" %}
Ссылка на маркетплейс <https://www.bitrix24.ru/apps/?app=unitpay.unitpay>
{% endhint %}

**Возможности:**&#x20;

* Интеграция и выставление счета на оплату в CRM (как для компаний, так и для контактов)
* Размещение на сайтах и магазинах формы оплаты&#x20;
* Возможность выставления ссылок на оплату через «Центр продаж»&#x20;
* Возможность фискализации по 54-ФЗ через собственное решение «Юнит.Чеки»&#x20;
* Смена статусов сделок и заказов после успешной оплаты

**Установка:**

1\. Необходимо установить приложение Unitpay через Маркет в разделе Приложения в боковом меню Битрикс24.

<figure><img src="/files/oEiDzzTFZyxx3jLRCHwp" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/u3YCIAxATu19UHp0ID0L" alt=""><figcaption></figcaption></figure>

2\. В настройках установленного приложения укажите Public Key, Secret Key – их можно взять в настройках проекта в личном кабинете Unitpay.\
**Важно:** в поле Домен обязательно должно быть указано unitpay.ru

Если у вас подключены "Юнит.Чеки", то задайте % НДС, НДС доставки и "Тип позиции" (подробнее о[ параметрах в чеках](https://help.unitpay.ru/online-cash-register/receipt_parameters)).

<figure><img src="/files/h9TJJXvOvizNUpMsSRO9" alt=""><figcaption></figcaption></figure>

3\. Скопируйте и добавьте обработчик в настройки вашего проекта в личном кабинете Unitpay.

<div align="left"><img src="/files/-MT5wvvNZzRGoqHUtQGr" alt=""></div>

4\. Для добавления платежной системы перейдите в CRM (боковое меню) и выберите Настройки → Настройки CRM

<figure><img src="/files/luwhkCyBZVwMwRXpcuM2" alt=""><figcaption></figcaption></figure>

5\. В настройках необходимо выбрать раздел Способы оплаты → Способы оплаты → Создать платежную систему

<figure><img src="/files/xq3Fb1Gr9ckE0Rwt8ayf" alt=""><figcaption></figcaption></figure>

6\. В настройках Способа оплаты установите название (например, Unitpay), далее выберите обработчик с названием unitpay\_handler. После этого необходимо задать тип клиента: контакт или компания; в зависимости от того, с кем вы будете работать. \
Можно добавить 2 модуля и для каждого клиента выбирать свой тип при выставлении счета. \
**Важно:** Проверьте, чтобы в настройках была установлена галка Активность.

<figure><img src="/files/stNgn9FsFzSF20x8XQFE" alt=""><figcaption></figcaption></figure>

7\. Для того, чтобы выставить счет, перейдите в CRM → Сделки. Теперь необходимо создать сделку любым из способов – Быстрая сделка / Обычная сделка<br>

<figure><img src="/files/LBNHE3eZEmem19UGf0EV" alt=""><figcaption></figcaption></figure>

8\. В созданной сделке необходимо выбрать Принять оплату, откроются настройки выставления счета. В шаге 3 будет отображаться платежная система Unitpay.

<figure><img src="/files/XE2e7XBn5ZbStUJpj28j" alt=""><figcaption></figcaption></figure>

Заполните информацию по товарам, выберите онлайн кассу, а также сервис для доставки. После того, как все нужные поля будут заполнены, вы сможете отправить клиенту ссылку на оплату по смс или Whatsapp.

Пример отправки сообщения:

<figure><img src="/files/AST7TCcPuYtcILjEqiGi" alt=""><figcaption></figcaption></figure>

\
При повторной генерации ссылки на оплату **для одной и той же сделки** сумма первоначального заказа не меняется, но CRM меняет состав корзины ==> при переходе на оплату получим ошибку 400.

{% hint style="danger" %}
Для корректного закрытия сделок рекомендуется использовать **первоначальную** ссылку на оплату (или создавать сделку заново).
{% endhint %}


# CMS-S3

### Инструкция по настройке и установке модуля.

{% hint style="info" %}
Подробная [инструкция на сайте Megagroup](https://help.megagroup.ru/unitpay#)
{% endhint %}

1\)Перейдите в CMS-S3 в панель управления, в разделе "Платежные системы" выберите Unitpay.

<div align="left"><img src="/files/-MKFIM44MdfZ1lF6M4-U" alt=""></div>

**PROJECT\_ID** - id вашего проекта в личном кабинете Unitpay. \
**PUBLIC KEY** - вы можете узнать в личном кабинете Unitpay. \
**SECRET KEY** - вы можете узнать в личном кабинете Unitpay. \
\
**Success URL** - адрес, который используется на странице настроек Unitpay в поле Success URL. Скопируйте и вставьте его. \
**Fail URL** - адрес, который используется на странице настроек Unitpay в поле Fail URL. Скопируйте и вставьте его.&#x20;

<div align="left"><img src="/files/-MKFIjb_ygItisC-R4x0" alt=""></div>

**Notify\_URL** - адрес, который используется на странице настроек Unitpay в поле "Обработчик платежей". Скопируйте и вставьте его.

<div align="left"><img src="/files/-MKFJ2UIdNpCEyAUSl35" alt=""></div>

Не забудьте выбрать валюту, указать наименование и активировать модуль.

<div align="left"><img src="/files/-MKFJckr_RSb_Qu4Vx3q" alt=""></div>

<div align="left"><img src="/files/-MKFJckr_RSb_Qu4Vx3q" alt=""></div>


# CS-Cart

### Инструкция по настройке и установке модуля

{% hint style="info" %}
Модуль также можно скачать из [маркетплейса CS-Cart](https://marketplace.cs-cart.com/priem-oplaty-cherez-unitpay.html) из Attachments.
{% endhint %}

1\. Скачайте [архив](https://github.com/unitpay/cscart-module/releases/tag/3.0.0) с модулем.

2\. Скопируйте содержимое папки “**unitpay-addon**” из архива в корень вашего сайта.

3\. Зайдите в административную панель в раздел “**Модули → Управление модулями**”, найдите модуль “**unitpay**” и установите его нажав на кнопку “**Установить**”. Дождитесь установки.

4\. Зайдите в “**Администрирование → Способы оплаты**” и нажмите на кнопку “**+**”.

<div align="left"><img src="/files/-MIKKMfOwqz0xoFVIgvD" alt=""></div>

5\. В первое поле “Название” введите произвольное название на ваш выбор. Во втором поле “**Процессор**” найдите и выберите “**unitpay**”.

<div align="left"><img src="/files/-MIKL2K31grAbMqXEi0J" alt=""></div>

6\. Появится дополнительная вкладка “**Настроить**”. Вбейте в соответствующие поля данные от вашего проекта в Unitpay.&#x20;

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e69080d2c7d3a7e9ae905c3/file-NuCjKo9cBV.png)

7\. После этого нажмите кнопку "**Создать**".

9\. В личном кабинете unitpay введите путь к обработчику платежей по шаблону:  \
[ ](https://ваш.сайт/unitpay_callback”.)[ https://ваш.сайт/unitpay\_callback](< https://ваш.сайт/unitpay_callback>)

<div align="left"><img src="/files/-MIKNDXCykAp5USn8-Tf" alt=""></div>


# DIAFAN.CMS

### Инструкция по настройке и установке модуля.

{% hint style="info" %}
Модуль также можно установить напрямую, выбрав его в модуле "Дополнения" прямо в админке CMS.

Также архив с модулем можно скачать напрямую из [маркетплейса DIAFAN.CMS](https://addons.diafan.ru/modules/platezhi/priem-oplaty-cherez-unitpay647/)
{% endhint %}

1\. Скачайте [архив](https://github.com/unitpay/diafan-module/archive/master.zip) с модулем.

2\. Скопируйте содержимое директории "unitpay" из архива в корень вашего сайта.

3\. Перейдите в "Оплата"->"Методы оплаты" и добавьте новый метод оплаты, при выборе платежной системы укажите "Unitpay".

4\. Введите DOMAIN (unitpay.ru), PUBLIC KEY и SECRET KEY, которые вы можете взять в личном кабинете Unitpay.ru.

5\. В личном кабинете Unitpay.ru введите адрес обработчика платежей  [http://](http://diafan.app/payment/get/unitpay)<адрес вашего сайта>[/payment/get/unitpay](http://diafan.app/payment/get/unitpay)

<div align="left"><img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/583ffc2dc6979106d3738e1d/file-cDEUFxJ665.png" alt=""></div>

{% hint style="info" %}
НДС выставляется внутри настроек модуля в поле "НДС": none (без НДС), vat0 (НДС 0%), vat10 (НДС 10%), vat20 (НДС 20%)
{% endhint %}

<div align="left"><img src="/files/-MNOpfnI0mFy_H4ulHSC" alt=""></div>


# Drupal 8, 9 (commerce)

### Инструкция по настройке и установке модуля.

{% hint style="info" %}
Модуль поддерживает работу с 8 и 9 версией Drupal (commerce)
{% endhint %}

1\. Скачайте  [архив](https://github.com/unitpay/drupal/archive/main.zip) с модулем.

2\. Установите модуль. Для этого перейдите в Extend -> Install new module. Выбираете архив с модулем и далее "Сохранить".

![](/files/-MOax6uViREeY5BtpJvb)

3\. Перейдите в Commerce -> Configuration -> Payment gateway. PAYMENT GATEWAY: "Unitpay" Нажмите "Edit".В поле DOMAIN вставьте значение unitpay.ru, в поля PUBLIC KEY и SECRET KEY скопируйте публичный и секретный ключ из личного кабинета Unitpay.

![](/files/-MOaxzDsKs5dv4RG83oS)

4\. Включите модуль и сохраните.

![](/files/-MOayDJQhQdZmNxzqxGV)

5\. В личном кабинете Unitpay добавьте адрес обработчика в формате **http\://<имя вашего сайта>/commerce-unitpay/callback**

<div align="left"><img src="/files/-MOaz1kGx_bgWIOimwQp" alt=""></div>

6\. НДС устанавливается внутри настроек модуля Commerce -> Configuration -> Payment gateway

<div align="left"><img src="/files/-MOb-1RtPRjSEDF0Hgs4" alt=""></div>

7\. Валюта задается в двух местах. Commerce -> Configuration -> Currencies

![](/files/-MOb-dxsz70S3R1R60Td)

8\. И далее, чтобы появилась возможность менять в товарах, нужно добавить в "Product types". Commerce -> Configuration -> Product types -> Edit Default -> Manage fields

![](/files/-MOb02bwVRPtpnsbwbjr)

![](/files/-MOb0GOxjd84N11UN3M0)

![](/files/-MOb0UIICNTh39Xrhjq6)

![](/files/-MOb0X3KnzvZCz6QMfpC)

9\. Аналогично требуется проделать для "variation types". Commerce -> Configuration -> Product variation types -> Edit Default -> Manage fields

{% hint style="info" %}
В модуле поддерживаются промокоды, доставку необходимо устанавливать через дополнительный внешний модуль.
{% endhint %}


# Drupal 7 (ubercart 3)

### Инструкция по настройке и установке модуля.

1\. Скачайте  [архив](https://github.com/unitpay/ubercart-module/archive/v2.0.1.zip) с модулем.

2\. Установите модуль. Для этого скопируйте содержимое директории unitpay из архива по адресу <папка с вашим сайтом>/sites/all/modules После этого нажмите в меню "Модули", поставьте галочку напротив Unitpay и нажмите на кнопку "Save configuration".

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57923ac390336029360386d1/file-O5Vt7DjtCv.png)

3\. Перейдите в Store -> Payment methods и нажмите на ссылку "settings" напротив графы UnitPay.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57923b6290336029360386da/file-5jB6c0fieW.png)

4\. В поле DOMAIN вставьте значение unitpay.ru. В поля PUBLIC KEY и SECRET KEY скопируйте публичный и секретный ключ, которые вы можете взять из личного кабинета UnitPay. Нажмите на кнопку "Save configuration".

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e68cab52c7d3a7e9ae9018c/file-m8YLlh7FLN.png)

5\. Введите в личном кабинете Unitpay.ru обработчик платежей по шаблону http\://<имя\_вашего\_сайта>/unitpay/callback

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5790eaed9033602936037f10/file-d5eQvOskcg.png)


# Drupal 7 (commerce)

### Инструкция по настройке и установке модуля.

1\. Скачайте  [архив](https://github.com/unitpay/commerce-module/archive/master.zip) с модулем.

2\. Установите модуль. Для этого скопируйте содержимое директории unitpay из архива по адресу <папка с вашим сайтом>/sites/all/modules. После этого нажмите в меню "Модули", поставьте галочку напротив Unitpay и нажмите на кнопку "Save configuration".

<div align="left"><img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5790e6dac6979160ca145f87/file-sI2HHz5cfy.png" alt=""></div>

3\. Затем пройдите к Store -> Configure store -> Payment methods -> edit Unitpay и нажмите на кнопочку "Edit" напротив пункта "Enable payment method: Unitpay". В поле DOMAIN вставьте значение unitpay.ru, в поля PUBLIC KEY и SECRET KEY скопируйте публичный и секретный ключ из личного кабинета Unitpay.

<div align="left"><img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e68c38e2c7d3a7e9ae90120/file-ZT3pa1HeMz.png" alt=""></div>

4\. Введите в личном кабинете Unitpay.ru обработчик платежей по шаблону http\://<имя\_вашего\_сайта>/unitpay/callback

<div align="left"><img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5790eaed9033602936037f10/file-d5eQvOskcg.png" alt=""></div>


# HostCMS

1\. Скачайте [модуль](https://github.com/unitpay/hostcms-module/archive/master.zip)

2\. Перейдите в административную панель вашего сайта

3\. Перейдите в Контент->Интернет-магазины, выберите ваш магазин и затем перейдите в справочники->платежные системы.

![](/files/-MOqSEUM7x23iDOmqG9e)

4.Добавьте новую платежную систему, в названии напишите Unitpay, в описание допустим "платежная система Unitpay" и нажмите применить.

5\. Нажмите кнопку редактировать напротив платежной системы Unitpay, далее перейдите на вкладку "дополнительные" и запомните число в поле "Идентификатор"

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5836d65c9033600698172453/file-AlNALyI8nn.png)

6\. Далее перейдите на вкладку "основные" и в поле "обработчик" скопируйте содержимое файла модуля handlerXX.php

![](/files/-MOqVHYOvLigBNhAB8T2)

7\. В названии класса Shop\_Payment\_System\_HandlerXX вместо XX введите запомненный ранее идентификатор.

8\. В обработчике же введите значения переменных $domain = 'unitpay.ru', $public\_key и $secret\_key которые вы можете взять в личном кабинете unitpay.ru

9\. По необходимости значению переменной $currency\_name нужно присвоить код валюты(которая присутствует в магазине), в которой вы хотите принимать платежи, по умолчанию стоит RUB

10\. В личном кабинете Unitpay.ru введите адрес обработчика платежей http\://<адрес вашего сайта>/shop/cart/

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5836d9a3c6979106d373617d/file-WigCbE6rTX.png)

11\. Для того чтобы установить НДС нужно перейти в Контент -> Интернет-магазины выберите ваш магазин и затем найдите нужный товар, нажмите редактировать

![](/files/-MOqVSM-jDaBovaPckhU)

&#x20;В редактировании будет **налог** и **валюта.**

![](/files/-MOqVeDmhChBCd628WDo)

12\. Для того чтобы изменить валюту во всем магазине перейдите в Контент -> Интернет-магазины, нажмите редактировать.

![](/files/-MOqVmAoQcZx4i045hwm)

![](/files/-MOqVq_xDml3y2yyG4Nk)


# InSales

**Добавление проекта:**

1. На шаге 2 "Подтверждение и завершение" рекомендуем выбрать вариант мета-тег&#x20;

   ![](/files/-MFFD3_Y8r81f1D4A0Rw)<br>
2. В ЛК insales зайти в “Настройки“ => “Настройки сайта” => “Счётчики и коды” <br>
3. Добавить код в поле “JavaScript-код для вывода на всех страницах магазина“

   ![](/files/-MFFDfkhR_BKdAd5-FY8)

   &#x20;

{% hint style="warning" %}
НДС ставится в настройках вашего аккаунта в личном кабинете Unitpay, при заполнение данных об организации на странице [/partner/contract](https://unitpay.ru/partner/contract). Настройки НДС в самом Insales не передаются.
{% endhint %}

**Инструкция для интеграции оплаты через систему Unitpay.**

1\. Зайдите на страницу "Настройки" в панели администратора InSales.

2\. Выберите в меню пункт "Оплата".

3\. На странице "Виды оплаты" создайте новый вид оплаты, выбрав в выпадающем списке пункт "Внешний способ оплаты" и нажав кнопку "Добавить".

4\. В поле "Идентификатор магазина" введите PUBLIC KEY вашего проекта в Unitpay.

5\. В поле "Пароль" введите SECRET KEY вашего проекта в Unitpay.

6\. В поле "URL" внешнего сервиса введите <https://unitpay.ru/insales>.

{% hint style="warning" %}
Не используйте url из полей "**URL для перехода при успешной оплате/ошибке**" внутри Insales для перенаправления пользователей после успешной/ошибочной оплаты. Это технические адреса, при переходе по ним будет 404 ошибка.
{% endhint %}

7\. Если подключена онлайн-касса через Unitpay, то для формирования чеков требуется поставить галку напротив "Передавать детальную информацию о заказе"

8\. Сохраните страницу.

9\. Перейдите в панель управления проектом в Unitpay.

10\. В поле "URL" раздела "Обработчик платежей" введите <https://unitpay.ru/insales/handler>

11\. Сохраните настройки проекта.

**Интеграция завершена.**


# Joomshopping 4 (joomla 3)

### Инструкция по настройке и установке модуля.

1\. Скачайте [архив](https://github.com/unitpay/jshopping-module/releases/download/v2.0.1/jshopping-module-2.0.1.zip) с модулем. Модуль тестировался на Joomla 3.9.11 + Joomshopping 4.18.3

2\. Зайдите в админпанель сайта.

3\. Установите модуль. Для этого перейдите в Компоненты-> Joomshopping-> Установка и обновление. Затем нажмите на кнопку "Выбрать файл" и после выбора нажмите кнопку "Загрузить".

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57adaabf90336059d4edf119/file-FjzztGj3fN.png)

4\. После этого перейдите в Компоненты-> Joomshopping-> Опции. Далее выберите "Список оплаты" и в появившемся списке найдите unitpay и кликните по ссылке. В открывшемся окне настроек перейдите на вкладку "Конфигурация". В поле DOMAIN вставьте значение unitpay.ru. Также впишите PUBLIC KEY и SECRET KEY, которые вы можете взять в личном кабинете на сайте unitpay.ru. Также здесь вы можете установить статусы, которые будут выдаваться в случае успешной и неудавшейся оплат. Для сохранения изменений нажмите на кнопку "Сохранить".

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e6765ff2c7d3a7e9ae8ee07/file-AnBcZbLs31.png)

5\. Введите в личном кабинете Unitpay.ru обработчик платежей по шаблону http\://<имя вашего сайта>/components/com\_jshopping/payments/pm\_unitpay/callback.php


# LogicBoxes

### Инструкция по настройке и установке модуля.

1\. Скачайте [архив](https://github.com/unitpay/logicboxes-module) с модулем.

2\. Скопируйте содержимое директории unitpay из архива на какой-либо ваш хостинг.

3\. Перейти в панели LogicBoxes в меню settings->finance & billing->payment gateway->list/add.4. Нажать на кнопку "Аdd a gateway", в открывшемся окне внизу нажать "Add it now".

5\. В gateway url ввести  [http://<](http://xn--%26lt%3B-e6dsg7e/)домен привязанный к вашему хостингу>/unitpay/paymentpage.php

6\. Остальные поля настроить по вашему усмотрению и нажать "Save settings".

7\. Заполнить поля в config.php на вашем хостинге. $domain = 'unitpay.ru', $secret\_key и $public\_key вы можете взять в личном кабинете unitpay. \
$Key вы можете увидеть в настройках панели logicboxes, для этого вам нужно будет пройти в меню settings -> finance & billing -> payment gateway -> list/add и напротив платежной системы unitpay, которую вы только что настроили, нажмите кнопку "Manage". В одном из полей открывшегося окна вы увидите значение key.

8\. В личном кабинете unitpay пропишите адрес обработчика платежей&#x20;

[`http://<`](http://xn--%26lt%3B-e6dsg7e/)`домен привязанный к вашему хостингу>/unitpay/postpayment.php`

<div align="left"><img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/580a3a8290336070ba247d08/file-UvUDQyRVRR.png" alt=""></div>


# MODX (miniShop2)

### Инструкция по настройке и установке модуля.

1\. Скачайте [архив с модулем.](https://github.com/unitpay/modx/archive/main.zip)

2\. Скопируйте содержимое директории unitpay из архива в корень вашего сайта.

3\. Запустите скрипт ВАШ ДОМЕН/unitpay\_setup.php

4\. Перейдите в Пакеты -> Minishop 2 -> Настройки -> Способы оплаты. Убедитесь что модуль UnitPay присутствует в списке и включен, если нет то добавьте

![](/files/-MOXPE6Yfp4X-SfeqZiv)

5\. Перейдите в "Системные настройки & События" в панеле управления MODX.&#x20;

<div align="left"><img src="/files/-MOXPYkCmh7KdP8iy6ps" alt=""></div>

Отфильтруйте по типу настроек - "minisho2" и типу "Платежи". Установите UnitPay Domain, UnitPay Public Key, UnitPay Secret Key (их можно взять в настройках проекта в личном кабинете Unitpay)

![](/files/-MOXQRqfpDJDofMNxKLl)

Тут же задаются настройки НДС (none, vat0, vat10, vat20) и валюта.

6\. Доставка задается в Пакеты -> miniShop2 -> Настройки Варианты доставки

![](/files/-MOXRDmQf77wLWZgWcAq)

7\. В личном кабинете Unitpay введите адрес обработчика платежей http\://<адрес вашего сайта>//assets/components/minishop2/payment/unitpay.php

<div align="left"><img src="/files/-MOXRqzePaQWEPKb6paN" alt=""></div>


# Magento

### Инструкция по настройке и установке модуля.

1\. Скачайте   [архив](https://github.com/unitpay/magento-module/archive/master.zip) с модулем.

2\. Скопируйте содержимое директории unitpay из архива в корень вашего сайта.

3\. Отключите кеширование, для этого перейдите в меню System -> Cache management, кликните на Select all и в выпадающем списке справа выберите Actions Disable и нажмите Submit

.![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57a211f490336040e83796a8/file-pX5wIKG4z1.png)

4\. Теперь перейдите в меню System->Configuration и в меню слева выберите Payment Methods. Среди методов оплаты вы увидите графу Unitpay. Щелкните на нее и в открывшихся параметрах введите DOMAIN (unitpay.ru), PUBLIC KEY и  SECRET KEY, которые вы можете взять в личном кабинете на сайте Untipay.ru. После ввода нажмите  Save Config.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e68ef1704286364bc968b03/file-ejVLWAJnED.png)

5\. Теперь вы снова можете включить кеширование.

6\. Введите в личном кабинете Unitpay.ru обработчик платежей по шаблону http\://<имя\_вашего\_сайта>/index.php/unitpay/index/callback

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57a21630c697916efaadfc1b/file-oo4XvLeN3M.png)

7\. Модуль тестировался на Magento версии 1.9.2.4


# Magento 2

### Инструкция по настройке и установке модуля. <a href="#instrukciya-po-nastroike-i-ustanovke-modulya" id="instrukciya-po-nastroike-i-ustanovke-modulya"></a>

1.Скачать [архив модуля](https://github.com/unitpay/magento2/archive/main.zip) и загрузить в корень сайта.<br>

2\. В консоли из корня сайта запустить команду php bin/magento setup:upgrade для установки модуля<br>

3\. php bin/magento setup:di:compile для компиляции конфигурационных файлов<br>

4\. Заходим в админ панель. Stores -> Configuration

<div align="left"><img src="/files/-MNxOI9jiZuBD2fxW-5n" alt=""></div>

5\. В левом меню выбираем Sales -> Payment Methods

<div align="left"><img src="/files/-MNxOXwjbMdjFoDzH8RO" alt=""></div>

6\. Находим модуль unitpay и задаем настройки Domain (**unitpay.ru**), Public Key, Secret Key (можно взять в настройках проекта в личном кабинете Unitpay)

<div align="left"><img src="/files/-MNxOelndkA2xsfqEQgo" alt=""></div>

7\. НДС можно задавать для каждого товара. Catalogs -> Products, жмём на товар, выбираем ему Tax Class

![](/files/-MNxST4vb0VpxFEsc76e)

Tax Class настраивается в Stores -> Tax Rules

![](/files/-MNxSYF2CUryqr7Tk0wd)

А зона действия в Stores -> Tax Zones and Rates

![](/files/-MNxSe4gepfuRM4kKQfz)

8\. По умолчанию доставка действует на каждый товар (3 товара = тройная стоимость доставки). Чтобы это настроить, идём в Stores -> Configuration . Потом в раскрывающимся списке Sales ищем Shipping methods

![](/files/-MNxSOlEewBSrMHlgiqZ)

9\. Введите в личном кабинете Unitpay.ru в настройках проекта обработчик платежей по шаблону [http://](http://m2.unitmodulestest.ru/unitpay/payment/callback)<имя\_вашего\_сайта>[/unitpay/payment/callback](http://m2.unitmodulestest.ru/unitpay/payment/callback)

![](/files/ty1rz7bJAVt8v1zLbmCG)

10\. Также доступно использование промокодов. Чтобы их настроить, идем во вкладку Marketing - Promotion - Cart Price Rules - Add new rule.

![](/files/-MflWR4yIMa6pBMo--oW)

1\) Rule name - название правила для промокода (**не само наименование промокода**);\
2\) Websites - зона применения (можно установить для определенных разделов сайта;\
3\) Customer groups - группы пользователей, для которых открывается данный промокод;\
4\) Coupon - выбираем Specific coupon;\
5\) Uses per Customer - максимальное количество использований промокода для одного **авторизованного** покупателя;\
6\) Uses per Coupon - общее максимальное количество использований данного промокода;

Ниже открываем вкладку Actions и проставляем действия для промокода:

![](/files/-MflZgLHMK9KM5A4q5_Q)

Варианты промокодов:\
\
1\. **Cкидка на всю корзину в %**\
Apply - Percent of product price discount, Discount Amount - размер скидки, %

2\. **Скидка на всю корзину на определенную сумму**\
Apply - Fixed amount discount for whole cart, Discount Amount - размер скидки

3\. **Скидка на каждый товар из корзины на определенную сумму**\
Apply - Fixed amount discount, Discount Amount - размер скидки\
*Примечание: скидка на товар должна быть меньше стоимости товара из каталога, иначе промокод сработает с ошибкой - нельзя пробивать товары с нулевой суммой.*

4\. Также для каждого промокода можно указать **бесплатную доставку**\
Free shipping - Select - For matching items only


# Netcat CMS

### Инструкция по настройке и установке модуля.

1\. Скачайте [архив](https://github.com/unitpay/netcat-module/archive/v2.0.1.zip) с модулем.

2\. Скопируйте содержимое директории "unitpay" из архива в корень вашего сайта.

3\. В базе данных сайта выполните запрос из unitpay.sql.

4\. Перейдите в "Настройки"->"Прием платежей" и далее во вкладку "Прием платежей".

5\. Поставьте галочку напротив "Unitpay" и нажмите "Сохранить".

6\. Кликните на шестеренку напротив "Unitpay" и введите DOMAIN (unitpay.ru), PUBLIC KEY и SECRET KEY, которые вы можете посмотреть в личном кабинете unitpay.ru, нажмите "Сохранить".

7\. Перейдите в "Настройки"-> "Интернет-магазин"-> "Настройки"-> "Оплата" и нажмите кнопку "Добавить".

8\. Укажите название (например Unitpay), описание по желанию и выберите платежную систему Unitpay, после чего нажмите "Сохранить".

7\. В личном кабинете Unitpay.ru введите адрес обработчика платежей  [http://](http://diafan.app/payment/get/unitpay)<адрес вашего сайта>[/netcat/modules/payment/callback.php?paySystem=nc\_payment\_system\_unitpay](http://netcat.app/netcat/modules/payment/callback.php?paySystem=nc_payment_system_unitpay)

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5873d94190336009736c4526/file-ODZ3kc59bF.png)


# OpenCart

**Инструкция по настройке и установке модуля**

Мы рекомендуем пользоваться последней версией платформы. Если ваша версия устарела, то ее можно обновить. Подробнее [тут](http://docs.opencart.com/en-gb/upgrading/).

{% hint style="info" %}
Для каждой версии OpenCart разработан свой модуль Unitpay. [Список модулей](https://github.com/unitpay/opencart-module)
{% endhint %}

#### Настройки проекта

1\. В личном кабинете ( <https://unitpay.ru/partner>), в верхнем главном меню выберите пункт "Проекты" и нажмите "Добавить проект". Выполните все шаги для [создания нового проекта](/first_steps/adding-project).

2\. На странице нового проекта заполните поле « **Обработчик платежей**» и введите значение:&#x20;

[http://ваш\_сайт/index.php?route=extension/payment/unitpay/callback](http://xn--_-7sbbf2b7bj7b/index.php?route=extension/payment/unitpay/callback), где «ваш\_сайт» - адрес сайта вашего интернет-магазина.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5829cba8c697916f5d04fb92/file-Ldqa4uZ3Ee.png)

Для версии OpenCart 2.0.x-2.2.x требуется ввести **другой** **URL** для обработчика платежей: <http://ваш\\_сайт/index.php?route=payment/unitpay/callback/>

3\. Если желаете, чтобы после удачной или неудачной оплаты переадресовывало на определенную страницу, то поставьте галочку в пункте «Переадресация» и введите адреса ваших страниц.&#x20;

#### Установка модуля:

1. Скачайте модуль (последняя версия [здесь](https://github.com/unitpay/opencart-module/tree/opencart-3.0))
2. Распакуйте архив.
3. Возьмите папку “admin” и “catalog” и поместите её через FTP или SSH в «корневая\_директория\_сайта».&#x20;
4. Авторизуйтесь под учетной записью с правами администратора.
5. Перейдите в раздел "Extensions/Payment".
6. В списке возле Unitpay нажимаем \[Install].

#### Настройка модуля

1. Убедитесь в том, что вы авторизованы на сайте под учетной записью с правами администратора.
   1. Перейдите в раздел Extensions / Payment.
2. В списке платёжных систем найдите Unitpay, нажмите кнопку \[Edit] и введите Домен (unitpay.ru), Публичный ключ (числовой код вида XXX-XXX, доступен на странице “Форма оплаты”) и Секретный ключ. Включите модуль.
3. Сохраняем настройки, нажимая кнопку \[Save].

{% hint style="info" %}
В модуле поддерживаются промокоды, кроме подарочных сертификатов и бонусов.
{% endhint %}


# osCommerce

### Инструкция по настройке и установке модуля.

1\. Скачайте  [архив](https://github.com/unitpay/oscommerce-module/archive/master.zip) с модулем.

2\. Скопируйте содержимое директории unitpay из архива в корень вашего сайта.

3\. Перейдите в "Modules->Payment".

4\. Выберите "Unitpay" и нажмите "Install Module".

6.Нажмите кнопку "Edit" для "unitpay".

<div align="left"><img src="/files/-MNhvm34SxBQg-rSUQfs" alt=""></div>

7\. Введите домен (DOMAIN) - unitpay.ru, публичный ключ (PUBLIC KEY) и секретный ключ (SECRET KEY ), их вы можете взять из личного кабинета unitpay.ru.

8\. Если необходимо также введите порядок сортировки (в каком порядке будут выводиться платежные системы на странице выбора платежных систем), статус заказа, на который будет сменяться статус при удачной оплате (по умолчанию это "Paid\[Unitpay]" и статус заказа, на который будет меняться статус при ошибке оплаты (по умолчанию это Error\[Unitpay]).

9\. Нажмите на кнопку "Save".

10\. В личном кабинете Unitpay.ru введите адрес обработчика платежей http\://<адрес вашего сайта>/unitpay.php

<div align="left"><img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/583307d8903360645bfa6b08/file-yFI7WfJudH.png" alt=""></div>

11\. НДС для товаров задается на странице "Locations / Taxes" -> "Tax Rates"

<div align="left"><img src="/files/-MNhwk86qRRpaqNHkQal" alt=""></div>

12\. В новом товаре задаете нужный Tax Class&#x20;

![](/files/-MNhwtghRihbdG8gGrbK)


# PHPShop

### Инструкция по настройке и установке модуля.

1\. Скачайте [архив](https://github.com/unitpay/phpshop-module/archive/master.zip) с модулем.

2\. Распакуйте содержимое архива в корень сайта.

3\. В файле phpshop/inc/config.php добавьте следующие строчки:

```
[unitpay]

domain = "unitpay.ru";

public_key = "<Ваш публичный ключ из личного кабинета unitpay.ru>";

secret_key = "<Ваш секретный ключ из личного кабинета unitpay.ru>";
```

4\. В админпанели перейти в "Заказы"-> "Способы оплаты" и добавить способ оплаты "Unitpay". Проверьте, чтобы стояла галка "Показывать".

![](/files/-MOqPE9ieA1vMx85l1W9)

5\. В личном кабинете unitpay.ru введите адрес обработчика платежей http\://<адрес вашего сайта>/payment/unitpay/result.php

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/58cc04892c7d3a79f5f8d4f5/file-8ygNqAPAqM.png)

6\. НДС и валюта задаются в "Настройках" -> "Основных настройках". Если вам нужно выбрать "БЕЗ НДС", то снимите галку "Учитывать НДС в счете".

![](/files/-MOqPVqCkszcQnQRPEyc)


# Prestashop

#### Инструкция по настройке и установке модуля.

{% hint style="success" %}
Модуль поддерживается в версиях Prestashop 1.6 и 1.7
{% endhint %}

1\. Скачайте  [архив](https://github.com/unitpay/prestashop-module/archive/master.zip) с модулем (.zip). Переименуйте папку "prestashop-module-master" в "unitpay"

2\. Откройте панель управления сайтом.&#x20;

3\. Нажмите кнопку «Модули» в левом меню панели управления, затем кнопку «Добавить модуль» в правом верхнем углу. Выберите скачанный файл модуля и нажмите «Загрузить этот модуль».

![Загрузка в версии 1.6](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/577e81f19033605a6aa4da52/file-27BZaodXr1.png)

![Загрузка в версии 1.7](/files/-MNi2Uo1DBg0utLv4jtp)

4\. После успешной загрузки наберите в строке быстрого поиска слово unitpay, и вы найдете установленный модуль (в версии 1.7 модуль будет находиться внизу страницы).

![Загрузка в версии 1.6](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/577e82afc697911739f9876d/file-YcqYyKP4G4.png)

![Загрузка в версии 1.7](/files/-MNi2qtnwDjoePUF3SX9)

5\. Нажмите на зеленую кнопку «Установить», которая находится справа от модуля.

6\. После успешной установки вы попадете на страницу настроек модуля. Здесь вам нужно ввести домен (unitpay.ru), secret key и public key, которые нужно взять на странице проекта в личном кабинете учетной записи unitpay. После ввода нажмите кнопку «Сохранить».

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e68aa7d2c7d3a7e9ae8ffa2/file-BSMM0EhgdA.png)

7\. Для корректной работы модуля необходимо, чтобы были включены ЧПУ. Для этого перейдите в Настройки-> SEO-> URLs и включите ЧПУ.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/577e82d6c697911739f98770/file-qM3aPbwFKz.png)

8\. Также рекомендуем добавить округление стоимости товаров. Перейдите в "Настройки" -> "Общие настройки" и установите параметр "Тип округления = Округление каждого элемента"

9\. Зайдите на страницу проекта в личном кабинете Unitpay и пропишите обработчик платежей по шаблону <http://адрес\\_вашего\\_сайта/module/unitpay/callback>

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/577e82e4c697911739f98772/file-sK2wsdJu63.png)


# RetailCRM

### Инструкция по настройке и установке модуля.

1\) Для работы с модулем необходимо удалить демо-данные (если у вас подключен новый аккаунт в RetailCRM)

2\) Создайте в системе API-ключ и скопируйте его Настройки → Интеграция → Ключи доступа к API → Создайте новый ключ (в блоке "Разрешенные методы API" откройте доступ ко всем методам).

<div align="left"><img src="/files/-MUczTgB4QxFN_M09Cxy" alt=""></div>

Проверьте, чтобы в настройках API обязательно были выбраны данные методы: \
/api/integration-modules/{code} \
/api/integration-modules/{code}/edit \
/api/payment/(updateInvoice|check) \
/api/reference/sites

3\) Установите модуль Unitpay из маркетплейса (Настройки → Интеграция → Маркетплейс → Unitpay)

4\) После этого обратитесь в [службу поддержки Unitpay](https://help.unitpay.ru/support) **<manager@unitpay.ru>**\
\
В запросе укажите:\
\- id вашего проекта в Unitpay\
\- тип позиций, если у вас подключена онлайн-касса в Unitpay ([подробнее про параметр](https://help.unitpay.ru/online-cash-register/receipt_parameters))\
\- URL под которым у вас открывается RetailCRM\
\- API-ключ из пункта (2)\
\
Мы сами добавим настройки в установленный модуль и на стороне Unitpay.

5\) Перейдите в Настройки → Справочники → Типы оплат → Добавить "Новый тип оплаты":\
\- Установите название и символьный код\
\- Выберите "Интегрировать с" Unitpay\
\- Установите статусы заказов\
\- Установите "Внешняя фискализация", если вам нужно выбивать чеки.\
\- Не забудьте установить "Активность"&#x20;

![](/files/-MUd0PBft30i0TKxVIqq)

6\) Добавление доставки \
Перейдите в Настройки → Справочники → Типы доставок \
Выберите нужный тип, в настройках перейдите на вкладку "Способы оплаты" и поставьте галку "Разрешить использовать" напротив Unitpay

![](/files/-MUd-3wzBz2rEdiAs6HY)

7\) Выставление ссылки на оплату \
Заказы → Новый заказ → Заполните данные для формирования нового заказа → Скопируйте "Ссылка на оплату" из блока Unitpay

![](/files/-MUd-MYDDB99sZrfDoyG)


# ReadyScript

### Инструкция по настройке и установке модуля.

1\. Скачайте  [архив](https://github.com/unitpay/readyscript-module/archive/master.zip) с модулем.

2\. Распакуйте содержимое архива в корень сайта.

3\. Перейдите в админпанель сайта.

4\. Перейдите в меню "Веб-сайт"-> "Настройка модулей".

5\. Нажмите на кнопку "Очистить кэш".

6\. Установите модуль "Unitpay" для этого нажмите на кнопку "Не установлен" напротив модуля.

7\. Перейдите в "Магазин"-> "Способы оплаты".

8\. Нажмите "Добавить способ оплаты" и настройте новую платежную систему. Не забудьте указать DOMAIN (unitpay.ru), а также PUBLIC KEY и SECRET KEY, которые вы можете взять в личном кабинете unitpay.ru.

![](/files/-MPJReRifRRAM4wlj3lX)

9\. В личном кабинете unitpay.ru введите адрес обработчика платежей  \
http\://<адрес вашего сайта>[/onlinepay/unitpay/result/](http://ttestt.ru/onlinepay/unitpay/result/)

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/58dced772c7d3a52b42f0f2a/file-3ICMy8RBWB.png)

p.s. В обработчике платежей высветится сообщение "Ошибка формата", не обращайте на это внимания.

10\. НДС задается на странице "Магазин" -> "Налоги". Задайте соответствующий вашему налогу идентификатор: vat0, vat10, vat20&#x20;

![](/files/-MPJSdEIbKDlV_iEFYMb)


# SellerGames

Продвинутый онлайн-модуль для интеграции платежных систем в digiseller

### Инструкция по настройке и установке модуля

[Seller](https://seller.games/) - облачный модуль для интеграции платежных систем в Digiseller.

1. Для установки платежного модуля Unitpay в Seller [добавьте ваш сайт](https://unitpay.ru/partner/project/add) в качестве проекта, [по примеру](https://help.unitpay.ru/first_steps/adding-project) из документации.
2. Далее перейдите в настройки вашего проекта из раздела **“Текущие проекты”.**

![](/files/AxonlLioXdGCVFtNO5K8)

3\. Убедитесь, что ваш проект прошел модерацию и имеет статус **“Активен”**. Скопируйте **номер проекта**, и **секретный ключ (secret key),** а затем вставьте данные в соответствующее поле в seller.

![](/files/jEGD2y27rrbZElTKDvHr)

4\. В поле “**Обработчик платежей**” укажите <https://seller.games/unitpay/notification/> и нажмите **“Сохранить”** внизу страницы.

![](/files/PkOWtYF4Ou5l31wWxbhP)

{% hint style="warning" %}
При возникновении ошибки "**Домен первого уровня в Billing URL не должен отличаться от домена Project URL**” обратитесь в нашу [поддержку](https://help.unitpay.ru/support).
{% endhint %}

5\. Если вам необходимо использовать Онлайн-кассу для формирования чеков, то перейдите в раздел "[Онлайн-кассы](https://unitpay.ru/partner/cashbox)" в личном кабинете и укажите необходимые настройки.\
После этого перейдите в Seller и активируйте переключатель “**Формировать чеки**”.\
Настройка завершена!

{% hint style="info" %}
Если при настройке модуля возникли проблемы, не связанные с отличием Billing URL от Project URL, обратитесь, пожалуйста, в поддержку Seller:\
\
Email: <hello@seller.games>\
Telegram: [@sellergames\_bot](https://t.me/sellergames_bot)
{% endhint %}


# Senler

[Senler](https://senler.ru/) - удобный сервис массовых и автоматических рассылок. [Здесь вы можете ознакомиться с подробной документацией](https://help.senler.ru/integracii/unitpay) по интеграции Unitpay с Senler.

{% hint style="warning" %}
**Внимание!** Для настройки интеграции необходимо иметь права руководителя или администратора в Senler.
{% endhint %}

После того, как Вы [зарегистрируетесь](https://help.unitpay.ru/first_steps/registration), для создания проекта необходимо выполнить следующие шаги:

### Шаг 1. Подготовка <a href="#shag-1.-podgotovka" id="shag-1.-podgotovka"></a>

В настройках приема платежей в личном кабинете Senler необходимо:

1. скопировать **URL проекта**
2. указать информацию для клиентов

Обязательно удостоверьтесь, что ваш проект удовлетворяет [требованиям к добавляемым проектам](https://help.unitpay.ru/first_steps/moderation#trebovaniya-k-dobavlyaemym-saitam).

![](https://780815397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_IF5Te3IJsAOAjS0Js%2Fuploads%2FpaugOm7qeI0CDppe1U4t%2Fimage.png?alt=media\&token=f73d180a-7ca0-4aa7-8631-70a362b03cfc)

### Шаг 2. Создание проекта

При создании нового проекта необходимо ввести название и указать **URL проекта**. Это значение нужно взять из личного кабинет в Senler в разделе **Настройки - Прием платежей** (ссылка вида **<https://g123456.senler.store>**).

![Добавление нового проекта в Unitpay](https://780815397-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_IF5Te3IJsAOAjS0Js%2F-Mej1VG8Qm_0sAaBWQIT%2F-Mej66TRXCKO-Uk5cHG3%2Fimage.png?alt=media\&token=908c7a2a-7db1-4b7e-837f-202d308a006b)

### Шаг 3. Подтверждение <a href="#shag-3.-podtverzhdenie" id="shag-3.-podtverzhdenie"></a>

Для подтверждения проекта необходимо скопировать **Код верификации** и сохранить его в личном кабинете Senle&#x72;**.**

![Код верификации](https://780815397-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L_IF5Te3IJsAOAjS0Js%2F-Mej1VG8Qm_0sAaBWQIT%2F-Mej6-k0DEzfW62RqN3I%2Fimage.png?alt=media\&token=9d7e0411-968e-41c2-8fe9-39a2ef78deed)

### Шаг 4. Настройки в Senler <a href="#shag-4.-nastroiki-v-senler" id="shag-4.-nastroiki-v-senler"></a>

После создания проекта в личном кабинете Senler необходимо будет сохранить **Публичный ключ** (PUBLIC KEY) и **Секретный ключ** (SECRET KEY).

![Сохранение данных Unitpay в Senler](https://780815397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_IF5Te3IJsAOAjS0Js%2Fuploads%2FiBNc5w7ukFuYGl1aBsdy%2Fimage.png?alt=media\&token=1d43bdca-dd41-4b41-8b19-8e48549ad1ed)

### Шаг 5. Настройки в Unitpay <a href="#shag-5.-nastroiki-v-unitpay" id="shag-5.-nastroiki-v-unitpay"></a>

В Личном кабинете Senler необходимо скопировать адрес для HTTP-уведомлений, вставить в поле **Обработчик платежей** в Unitpay и нажать **Сохранить**.

![Технические настройки проекта в сервисе Unitpay](https://780815397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_IF5Te3IJsAOAjS0Js%2Fuploads%2FoDAZMF0PyaPwfpjKsC4W%2Fimage.png?alt=media\&token=8340d58e-9a7e-4acf-8702-cdfb1dffab36)

{% hint style="info" %}
По всем вопросам данной интеграции следует обратиться напрямую к поддержке Senler.
{% endhint %}


# Simpla

### Инструкция по настройке и установке модуля.

{% hint style="info" %}
В Simpla нет возможности задать НДС для конкретных товаров. По умолчанию ставится "без НДС" или ставка, которую вы выберите при заполнение реквизитов в "**Выплатах**" в личном кабинете Unitpay.
{% endhint %}

1\. Скачайте [архив](https://github.com/unitpay/simpla-module/archive/master.zip) с модулем.

2\. Скопируйте содержимое директории unitpay из архива в <корень вашего сайта>/payment.

3\. Войдите в админпанель сайта и перейдите Настройки->Оплата.

4\. Нажмите "Добавить способ оплаты".

5\. В способах оплаты выберите Unitpay, а также введите DOMAIN (unitpay.ru), PUBLIC KEY и SECRET KEY, которые вы можете взять в личном кабинете на сайте Unitpay.ru.&#x20;

![](/files/-MMGFwOgIZsyIQYHVbMC)

<div align="left"><img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e68f24f2c7d3a7e9ae9043c/file-0mVe14P1jr.png" alt=""></div>

После настройки способа оплаты нажмите "Сохранить".&#x20;

5\. Введите в личном кабинете Unitpay.ru обработчик платежей по шаблону http\://<имя вашего сайта>/payment/unitpay/callback.php


# ShopCMS

### Инструкция по настройке и установке модуля.

1\. Скачайте [архив](https://github.com/unitpay/shopcms-module/archive/master.zip) модуля.

2\. Скопируйте содержимое директории "unitpay" из архива в корень вашего сайта.

3\. Перейдите в "Модули" -> "Модули оплаты" и нажмите "Инсталлировать".

4\. Нажмите "Редактировать" напротив установленного модуля "Unitpay".

5\. Введите DOMAIN - unitpay.ru, PUBLIC KEY и SECRET KEY, которые вы можете взять из личного кабинета Unitpay.ru.

![](/files/-MOb9Gd5yuUeTUmMzicq)

6\. Выберите статусы, в которые будет устанавливаться заказ после успешной оплаты либо ошибки.

7\. Сохраните изменения.

8\. Перейдите в "Настройки"->"Варианты оплаты" и добавьте новый вариант оплаты "Unitpay".

9\. В файл core/includes/helper.php добавьте следующий код:

```
// Helper for Unitpay
// Result Url - index.php?unitpay=yes
if(isset($_GET["unitpay"])){
    $data = $_GET;
    $params = $data['params'];
    $orderID = (int)$params['account'];
    $q = db_query( "select paymethod  from ".ORDERS_TABLE." where orderID=".$orderID);
    $order = db_fetch_row($q);
    if ( $order )
    {
        $paymentMethod = payGetPaymentMethodById( $order["paymethod"] );
        $currentPaymentModule = modGetModuleObj( $paymentMethod["module_id"], PAYMENT_MODULE );
        if ( $currentPaymentModule != null ) $result = $currentPaymentModule->after_payment_php( $_GET );
    }else{
        header('Content-Type: application/json');
        $result = array('error' =>
            array('message' => 'Order not present')
        );
        $result = json_encode($result);
        die($result);
    }
}

<br>
```

10\. Очистите кеш, для этого удалите содержимое папки cache.

11\. В личном кабинете Unitpay.ru введите адрес обработчика платежей  http\://<адрес вашего сайта>/index.php?unitpay=yes

12\. НДС задается внутри настроек модуля Модули - > Модули оплаты -> Unitpay\
Отдельно для товаров и отдельно для доставки, возможные варианты: vat0, vat10, vat20, none


# Tilda

Инструкция по подключению платежей на конструкторе сайтов Tilda через Unitpay

### Добавление проекта на Tilda

При [добавлении проекта](https://help.unitpay.ru/first_steps/adding-project) на Tilda в Unitpay, нужно выбрать подтверждение с помощью мета-тега.

В личном кабинете Tilda заходим в настройки сайта и на вкладке "Еще" выбираем пункт "HTML-код для вставки внутрь HEAD" **(данный функционал доступен только на платных тарифах Tilda),** затем вставляем туда мета-тег, сгенерированный в личном кабинете Unitpay.&#x20;

![](/files/-MfCHaH1De5PFb9-5oJ4)

После внесения изменений не забываем "Опубликовать все страницы".

![](/files/-MfCIhQNYYwnxnkJOKMi)

### Инструкция по настройке и установке модуля

1\) В личном кабинете Tilda перейдите в *Настройки* → *Платежные системы* → *Универсальная платежная система.* Выберите шаблон "**Unitpay**"

2\) Задайте ПУБЛИЧНЫЙ КЛЮЧ *(PUBLIC KEY)* для поля "Логин";\
и СЕКРЕТНЫЙ КЛЮЧ *(SECRET KEY)* для поля "Секрет для подписи заказа" из настроек вашего проекта в UNITPAY

![](/files/-MX_cqu_qT9fy3Io0knT)

3\) Установите валюту и язык платежной формы.&#x20;

![](/files/-MX_cxeSB1JkltIcRso7)

4\) Проверьте корректность дополнительных параметров в настройках модуля:\
\- "*ФФД: ПРИЗНАК СПОСОБА РАСЧЁТА"* - должно стоять "**Выключено**".\
\- *"Тип товара"* задайте из параметров "Тип позиции" <https://help.unitpay.ru/online-cash-register/receipt_parameters> \
\- *"Способ расчета"* задается в настройках вашей кассы в ЛК Unitpay

5\) Выберите ставку НДС (если требуется)

![](/files/-MX_dETKUj4kVe-Lt252)

6\) В настройках проекта Unitpay установите обработчик в формате: \
<https://tilda.unit-pay.ru/_**PUBLIK> KEY из настроек Unitpay\*\*\_/callback

![](/files/-MX_dhpFMzCd4BR8iFOQ)

{% hint style="warning" %}
Далее обратитесь **в** [**службу поддержки Unitpay**](https://help.unitpay.ru/support) для окончательной настройки и включения модуля.&#x20;
{% endhint %}

7\) На странице вашего проекта в Tilda добавьте корзину (блок **ST100** "Корзина с формой заказа"). Модуль корректно работает только с данным типом корзины.

**Внимание**! Если у вас подключена онлайн-касса в Unitpay, то вам необходимо добавить в корзине поле с email или телефоном (обязательный параметр для формирования чека).

{% hint style="danger" %}
Если вы генерируете новый секретный ключ в настройках проекта, вам необходимо повторно обратиться в службу поддержки для новой активации, иначе на форме оплаты будет возникать ошибка "Secret key is required".
{% endhint %}


# Taplink

<details>

<summary>Добавление проекта Taplink в систему Unitpay</summary>

Для добавление проекта необходимо обязательно приобрести домен третьего уровня.\
Для этого, после внесения основных изменений на ваш сайт, в разделе Страница необходимо нажать "Установить" для получения ссылки на вашу страницу. Далее вам необходимо выбрать третий вариант - своё доменное имя:&#x20;

<img src="/files/yM0fAZLcn1YYxUS3iEiO" alt="" data-size="original">

Вы можете воспользоваться инструкцией от Taplink по созданию собственного домена: <https://taplink.ru/help/faq/settings/domain/>

Когда вы будете добавлять проект в систему, вам необходимо воспользоваться одним из трех способов для добавления проекта. Для сайтов на Taplink подходит способ **Указать Мета-тэг:**&#x20;

<img src="/files/oGgpLxJDjioB85UY1RCM" alt="" data-size="original">

Этот мета-тэг необходимо скопировать и указать в графу **Вставка HTML кода** в разделе Настройки -> Общие:&#x20;

<img src="/files/pAKcOGe3gjUcu2q6ptnL" alt="" data-size="original">

</details>

### Инструкция по настройке приема платежей через сервис Taplink

Для подключения приема оплат через taplink необходимо иметь доступ с планом «[бизнес-тариф](https://taplink.ru/tariffs/)»

1. Перейдите в taplink в «Настройки» во вкладку «Прием платежей». Нажмите «Добавить платежную систему».<br>

   <figure><img src="/files/dUrE1LCvvMiVin4E6MBS" alt=""><figcaption></figcaption></figure>
2. В строке поиска введите Unitpay и выберите модуль. Далее заполните пустые поля:

<figure><img src="/files/EPWnNywy3kgQ0FIVMxwO" alt=""><figcaption></figcaption></figure>

Скопируйте URL «Обработчик платежей» (формат `https://your_site.ru/payments/unitpay/result.html`) и вставьте его в поле «Обработчик платежей» в личном кабинете Unitpay:<br>

<figure><img src="/files/-MDE_V8ZPZ-oN4tMIDRO" alt=""><figcaption></figcaption></figure>

Укажите id проекта в Unitpay. Скопировать его можно тут:<br>

<figure><img src="/files/-MDE_xxU5Vy07bLDqBnj" alt=""><figcaption></figcaption></figure>

Добавьте секретный ключ. Скопировать его можно в личном кабинете Unitpay:

<figure><img src="/files/-MDEeM0Lv9qI7RPQVGrx" alt=""><figcaption></figcaption></figure>

Укажите доступные вам методы оплаты.\
\
После проверки оплаты переведите чекбокс из «Тестовый режим» в «Рабочий».

{% hint style="info" %}
Подробные инструкции по подключению оплат описаны в [данном разделе taplink](https://taplink.ru/guide/payments-configuration.html). При возникновении вопросов вы можете обратиться в нашу поддержку или в поддержку taplink.
{% endhint %}


# UMI.CMS

### Инструкция по настройке и установке модуля.

Перед следующими манипуляциями советуем сделать бекап базы данных и сайта.

1\. Скачайте [архив](https://github.com/unitpay/umi-module/archive/v2.0.1.zip) с модулем.

2\. Скопируйте содержимое директории unitpay из архива в корень вашего сайта.&#x20;

Обратите внимание что, стандартной папкой для модуля будет templates/**demodizzy**/php/emarket/payment/, если у вас другой шаблон магазина, то копируйте в соответствующую директорию. Например, templates/**demomarket**/php/emarket/payment/

3\. Зайдите в браузере по адресу http\://<адрес\_вашего\_сайта>/unitpay.php>/unitpay.php. Вы должны увидеть слово "Готово".\
\
Велика вероятность что, ничего не получится из-за настроек доступа. Временно обойти их можно, например, поменяв имя файла .htaccess на .htaccess\_old , перейти по ссылке [http://<адрес\_вашего\_сайта>](about:blank)/unitpay.php , а потом поменять имя файла обратно. Конкретный способ зависит от вашей панели управления.

![](https://lh5.googleusercontent.com/Cn3w2Yj6EWu1Wgr99QSt5-sH_KpHbfmVKeBQBGDlyOGskER_YHRxnT65EIMz1heNSymVWJUqWPTXUtOd401gw7zRcFRZf_ozZaLM8dbQ-hT0lKgSlaVUwW4fUF2iIIx4zVr2wEE3)

4\. Если в п.3 прошло все как надо, удалите файл <корень\_вашего\_сайта>/unitpay.php.

5\. Зайдите в админку вашего сайта и перейдите в "Шаблоны данных", далее выберите в способах оплаты Unitpay и нажмите кнопку "Редактировать".

<div align="left"><img src="/files/-MMGETjwR_vpSe3wKFIP" alt=""></div>

6\. В открывшемся окне нажмите "Добавить группу"&#x20;

<div align="left"><img src="/files/-MMGEitovM8mrY9cff-w" alt=""></div>

и в ней создайте три поля:

\- с названием "Домен" и идентификатором "unitpay\_domain",

<div align="left"><img src="/files/-MMGExykQLjU-MC2JNF1" alt=""></div>

\- с названием "Публичный ключ" и идентификатором "public\_key",

\- с названием "Секретный ключ" и идентификатором "secret\_key",

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/58121340c697915f88a393a3/file-oMZCf61KU1.png)

7\. Далее нажмите "Сохранить и выйти".

8\. Перейдите в меню "Интернет-магазин" во вкладку "Оплата".

9\. В выпадающем списке "Добавить способ" выберите "Unitpay".

![](/files/-MMGFRVSWVn5RQ1l1Voe)

10\. В открывшемся окне введите название способа оплаты, домен (unitpay.ru), а также публичный и секретный ключи, которые вы можете взять в личном кабинете Unitpay.ru. После чего нажмите на кнопку "Добавить" для сохранения изменений.

![](/files/-MMGFuHyz45bM3MmlSXx)

![](/files/-MMGFwOgIZsyIQYHVbMC)

11\. В личном кабинете unitpay.ru в поле обработчик платежа введите http\://<имя\_вашего\_сайта>/>/emarket/gateway. Не пугайтесь появления надписи "Ошибка формата!" Из-за особенностей реализации в данном случае это нормально.![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5812118ac697915f88a3938b/file-ZP86eZKgB3.png)


# UCoz

### Инструкция по настройке и установке модуля.

{% hint style="info" %}
Подробная [инструкция на сайте UCoz](https://www.ucoz.ru/help/online-shop/payments/unitpay).
{% endhint %}

Перейдите в UCoz в панель управления интернет-магазином, выберите раздел «Оплата, доставка, валюта и курсы» и добавьте в нем новый способ оплаты:

![](/files/-MDFAuLOcVRO7FyWvSof)

Укажите название способа оплаты, установите галочку «Использовать модуль электронных платежей» и выберите в списке «Unitpay»:

![](/files/-MDFB9gTlRBNxYJI6fVA)

Нажмите на ссылку «Настройки модуля». Появится окно настроек:

![](/files/-MDFBIDu86Glk_STPFdP)

* [**PUBLIC KEY**](https://www.ucoz.ru/help/online-shop/payments/unitpay#key) - вы можете узнать в личном кабинете Unitpay.
* [**SECRET KEY**](https://www.ucoz.ru/help/online-shop/payments/unitpay#key) - вы можете узнать в личном кабинете Unitpay.
* **Курс валюты магазина к валюте в Unitpay** - 1 USD = xx.xxx USD в Unitpay. Обязательно указывайте в своих валютах их коды: RUB, UAH, BYR, EUR, USD.
* **Метод оплаты по умолчанию** - указание данного поля позволяет сделать так, что покупатель на платформе Unitpay не будет направляться на страницу выбора метода оплаты, а сразу будет попадать на нужный метод.
* **Строка "Назначение платежа"** - можно использовать метку $INVOICE\_ID$ - она автоматически будет заменена на номер оплачиваемого заказа.
* **URL** - адрес, который используем на странице настроек Unitpay в поле URL - Обработчик платежей.
* **Fail URL** - адрес, который используем на странице настроек Unitpay в поле Fail URL.
* **Success URL** - адрес, который используем на странице настроек Unitpay в поле Success URL.

{% hint style="info" %}
Данная инструкция взята с сайта UCoz, при возникновении проблем обратитесь в поддержу конструктора или в поддержку Unitpay.
{% endhint %}


# VamShop 2

### Инструкция по настройке и установке модуля.

1\. Скачайте [архив](https://github.com/unitpay/vamshop-module/archive/master.zip) с модулем.

2\. Скопируйте содержимое директории "unitpay" из архива в корень вашего сайта.

3\. Зайдите в админпанель сайта. Перейдите в "Настройки"-> "Способы оплаты".

4\. Нажмите "Установить" напротив Unitpay.

5\. После установки перейдите в настройки платежной системы, для этого кликните на названии Unitpay.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5878dd6890336009736c65ee/file-LjPUS1IVso.png)

6\. Выберите статус заказа, в который установится статус после оплаты заказа. Введите DOMAIN (unitpay.ru), PUBLIC KEY и SECRET KEY, которые вы можете посмотреть в личном кабинете Unitpay.ru.

7\. В личном кабинете Unitpay.ru введите адрес обработчика платежей  [http://](http://diafan.app/payment/get/unitpay)<адрес вашего сайта>/payment/Unitpay/callback

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5878dfd390336009736c6611/file-c5YN9i11tC.png)

8\. НДС задается внутри настроек модуля: Настройки -> Способы оплаты -> Редактирование способа оплаты

![](/files/-MP-0EOA6sMFMX74uWkU)


# Virtuality CMS

### Инструкция по настройке и установке модуля

{% hint style="info" %}
Простое и удобное решение для подключения к платформе клиентов Virtuality CMS.\
На официальном сайте доступна [подробная инструкция](https://vicms.ru/article/unitpay) по установке и настройке модуля.
{% endhint %}

1\. Зайти в раздел “Настройки” в админпанели VirtualityCMS.

2\. Открыть вкладку “Способ оплаты” и нажать кнопку ДОБАВИТЬ СПОСОБ ОПЛАТЫ.\
Выбрать Unitpay.

![Выбор Unitpay в способах оплаты в админпанели ViCMS](/files/1AB2GJYWKp96sUvMIr7L)

3\. В открывшемся окне:

\- указать любое название, например "Оплата банковскими картами";

\- поставить флаг “Активен”;

\- добавить иконку при необходимости;

\- выбрать основную валюту (выбрана по умолчанию);

\- обязательно отметить "Возможные способы доставки"

\- можно указать минимальное "Описание"

4\. В настройках платежного сервиса необходимо указать PUBLIC и SECRET ключи из настроек проекта в Unitpay, в качестве DOMAIN прописать unitpay.ru:

![Заполнение ключей Unitpay в админпанели ViCMS](/files/e06WIObEmB3LsnPGbBk3)

5\. После заполнения ключей обязательно заполните поле "Обработчик платежей" в настройках проекта Unitpay в формате: \
http(s)://ДОМЕН\_САЙТА/app/payment/Unitpay/callback.php

![Обработчик платежей в настройках проекта ViCMS](/files/2gj0t7NP7l0ElIkNBqNN)

6\. Настройки онлайн-кассы выставляются внутри ЛК Unitpay при ее [подключении к проекту](https://help.unitpay.ru/online-cash-register/add-cash-register), дополнительные параметры при установке готового модуля CMS передавать не нужно.&#x20;

{% hint style="warning" %}
При возникновении проблем с интеграцией данного модуля Unitpay обратитесь, пожалуйста, в [поддержку Virtuality CMS](https://vicms.ru/contact).
{% endhint %}


# VirtueMart 3 (joomla 3)

### Инструкция по настройке и установке модуля.

1\. Скачайте  [архив](https://github.com/unitpay/virtuemart-module/archive/master.zip) с модулем. Модуль тестировался на VirtueMart 3 с Joomla 3.5.1

2\. Зайдите в админпанель сайта.

3\. Установите модуль. Для этого перейдите в Расширения->Менеджер расширений->Установить. Затем нажмите на кнопку "Выбрать файл" и после выбора нажмите кнопку Upload & Install

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57891cbdc697912dee72b9bd/file-ZnqxZL1aUp.png)

4\. Далее перейдите в верхнем меню в VirtueMart->Методы оплаты

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57891ce4c697912dee72b9be/file-Ca3lNwEm7r.png)

5\. Нажмите на кнопку создать и введите требуемые данные такие как имя метода оплаты и т.п. В методе оплаты выберите Unitpay. Затем нажмите кнопку Сохранить

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57891cf8c697912dee72b9bf/file-8LMiJ7nHUN.png)

6\. Затем перейдите на вкладку "Конфигурация" настроек данного модуля и введите в поле DOMAIN значение unitpay.ru. В поля PUBLIC KEY и SECRET KEY вы можете взять в личном кабинете на сайте Unitpay.ru, затем нажмите на кнопку сохранить.

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e674e902c7d3a7e9ae8ed2a/file-OhmvJJMNF3.png)

7\. Введите в личном кабинете Unitpay.ru обработчик платежей по шаблону http\://<имя вашего сайта>/index.php?option=com\_virtuemart\&view=pluginresponse\&task=pluginnotification\&tmpl=component\&format=json

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/57891d68c697912dee72b9c2/file-yUsASL61kJ.png)


# Webasyst Shop Script 7 (8)

#### Инструкция по установке и настройке модуля.

1\. Скачайте [архив](https://github.com/unitpay/shopscript-module/releases/tag/v2.1.0) с модулем (.zip).

2\. Копируем папку unitpay в wa-plugins/payment *(ещё wa-plugins/payment есть внутри wa-sources - это не та директория что нужна, не перепутайте).*

![](/files/-MINcNamOEgRfXne5TRI)

3\. Переходим в панель управления магазином "**Настройки → Оплата → Добавить способ оплаты → Unitpay**"

![](/files/-MINcRZK6ScZ9gWf3JUs)

4\. Поля DOMAIN (unitpay.ru), PUBLIC KEY и SECRET KEY можно взять со страницы вашего проекта на unitpay. Проверьте, чтобы у модуля стояла галочка "**Включен**".

![](/files/-MINcWqgyBvKhq-Pz5Uf)

<div align="left"><img src="/files/-MINcYsWBJSiQYuIhQNh" alt=""></div>

5\. На странице проекта в личном кабинете unitpay пропишите обработчик платежей по шаблону:[ http://адрес\_вашего\_сайта/payments.php/unitpay](http://xn--__-6kcbbakjfkd5c8cvaqht4h/payments.php/unitpay) и нажмите enter.&#x20;

Если не ошиблись, то в обработчике платеже будет написано **ОК!**

![](/files/-MINcbsg55vLLZl8SlNe)

6\. ДОПОЛНЕНИЕ: чтобы в магазине можно было оплачивать товар нужно включить этот шаг. "**Магазин → Настройки → Оформление заказа → включите шаг Оплаты**".

![](/files/-MINcfp9HaETZsbPfvol)

{% hint style="info" %}
В модуле поддерживаются промокоды, мультивалютность, НДС и разные [types](https://help.unitpay.ru/online-cash-register/receipt_parameters).
{% endhint %}


# Zen Cart

### Инструкция по настройке и установке модуля.

1\. Скачайте [архив](https://github.com/unitpay/zencart) с модулем.

2\. Скопируйте содержимое директории "unitpay" из архива в корень вашего сайта.

3\. Перейдите в "Modules"-> "Payment".

4\. Нажмите "Install Module".

5\. Выберите Unitpay и нажмите "Install Module".

6\. Введите в настройках модуля домен (DOMAIN) - unitpay.ru, публичный ключ (PUBLIC KEY) и секретный ключ (SECRET KEY ), их вы можете взять из личного кабинета unitpay.ru.

7\. При необходимости введите порядок сортировки (в каком порядке будут выводиться платежные системы на странице выбора платежных систем), статус заказа, на который будет сменяться статус при удачной оплате (по умолчанию это Paid\[Unitpay]) и статус заказа, на который будет меняться статус при ошибке оплаты (по умолчанию это Error\[Unitpay]).

8\. В личном кабинете Unitpay.ru введите адрес обработчика платежей  http\://<адрес вашего сайта>/unitpay.php

![](https://s3.amazonaws.com/helpscout.net/docs/assets/551a91dbe4b0221aadf24410/images/588722e1dd8c8e73b3e8f083/file-HdckvhNBxs.png)


# Личный кабинет


# 2FA: Telegram бот

Двухфакторная аутентификация позволяет эффективно обезопасить ваш аккаунт от несанкционированного входа, тем самым защитить персональные данные - доступ к истории транзакций, настройкам проектов и финансовой информации.&#x20;

У нас есть три варианта двухфакторной аутентификации: вход по одноразовому паролю, отправленному по e-mail, подтверждение входа через Telegram и использование кода из приложения Google Authenticator или другого приложение для кодов.

{% hint style="info" %}
Возможности Telegram бота:

* подтверждение авторизации в ЛК
* получение уведомлений об успешных платежах
* получение уведомлений об ошибках обработчика (по платежам в статусах "Не завершен" и "Отклонен"). Срабатывает при появлении >=5 ошибочных GET-запросов CHECK или PAY.
* По платежам в статусе "Отклонен" уведомления приходят только в том случае, если от обработчика был получен "Некорректный либо пустой ответ сервера магазина".
  {% endhint %}

#### Подключение Telegram бота

1\) Запустите бота по ссылке <https://t.me/unitpaybot> или найдите в Telegram *@UnitPayBot.*

![](/files/vxqa7C2GmaoBzUV4uStp)

2\) Нажмите кнопку "СТАРТ / ЗАПУСТИТЬ" ("START").

![](/files/DTJIqt10ssFExiN0LF9J)

3\) Бот предложит поделиться своим номером телефона.&#x20;

![](/files/IPDFcnsEAvtUrvv6LX4z)

4\) При нажатии "Поделиться своим номером", номер телефона не раскрывается без разрешения владельца.

Нажмите **"Поделиться своим номером"** и далее подтвердите намерение, нажав на **"ПОДЕЛИТЬСЯ КОНТАКТОМ"**.&#x20;

![](/files/EHsGRSLisgkEeBKLvVB8)

5\) Ваш номер будет сохранен.

![](/files/Z9pWrOfl5pbcN3HmqMfb)

#### Как сделать подтверждение действий через Telegram-бота основным?

1. Авторизуйтесь
2. Войдите в настройки своего аккаунта
3. Привяжите ваш номер телефона в разделе "Настройки безопасности"
4. Выберите способ подтверждения действий Telegram
5. Нажмите "Cохранить изменения"&#x20;

<figure><img src="/files/twIsLBBYEoZjaiy897CP" alt=""><figcaption></figcaption></figure>

#### **Как происходит подтверждение действий в Telegram**

В интерфейсе Unitpay вы увидите уведомление о том, что в аккаунт Telegram, привязанный к номеру телефона, был отправлен запрос.&#x20;

![](https://d33v4339jhl8k0.cloudfront.net/docs/assets/551a91dbe4b0221aadf24410/images/5e5936f504286364bc960139/file-n89853c8Po.png)

Так запрос выглядит в приложении Telegram для мобильных устройств.&#x20;

![](/files/zALZmx97JVzZ8Xn7wCWf)

#### Как получать уведомления о платежах в Telegram?

*Убедитесь, что UnitPayBot подключен.*

1. зайдите в настройки проекта&#x20;
2. поставьте галочку "Уведомлять в Telegram"

![](/files/T1GZnlIs9NNs8cZBnvhs)

3\. Нажмите "Сохранить"

#### **Как подтвердить регистрацию или вход через Telegram-бота?**

Уже **во время регистрации** или **при входе** в аккаунт вы или ваш сотрудник можете выбрать альтернативный способ подтверждения действий или переключиться обратно. **Предварительно добавив бота UnitPayBot** (см. выше), нажмите "Подтвердить в Telegram".&#x20;

Вы всегда сможете изменить канал уведомлений на прием кодов по email, нажав "Получить код по e-mail".

<figure><img src="/files/pp8g8QOVEOZuaB7pBhzP" alt=""><figcaption></figcaption></figure>


# 2FA: Google Authenticator

Двухфакторная аутентификация позволяет эффективно обезопасить ваш аккаунт от несанкционированного входа, тем самым защитить персональные данные - доступ к истории транзакций, настройкам проектов и финансовой информации.&#x20;

У нас есть три варианта двухфакторной аутентификации: вход по одноразовому паролю, отправленному по e-mail, подтверждение входа через Telegram и использование кода из приложения Google Authenticator или другого приложение для кодов.

#### Как сделать подтверждение действий через Google Authenticator основным?

1. Авторизуйтесь
2. Войдите в настройки своего аккаунта
3. Выберите способ подтверждения действий Google Authenticator
4. Отсканируйте QR-код или скопируйте секретный ключ в приложение Google Authenticator или другое приложение для кодов
5. Введите 6-значный код в поле "Введите код"
6. Нажмите "Cохранить изменения"

<figure><img src="/files/nIFNbzyqz6afbMkpcwQn" alt=""><figcaption></figcaption></figure>

После ввода кода вы получите сообщение&#x20;

<figure><img src="/files/VDdzeIZwFVGn9Koy808A" alt=""><figcaption></figcaption></figure>

Теперь при авторизации и других действиях с подтверждением вам потребуется вводить 6-значный код. Срок действия сессии с кодом - 30 секунд.

Если доступ к приложению с кодами был утрачен, вы всегда сможете изменить канал уведомлений на прием кодов по email, нажав "Получить код по e-mail". После этого потребуется заново настроить Google Authenticator в Личном кабинете.

<figure><img src="/files/3KWRfV6OssulthAD62xk" alt=""><figcaption></figcaption></figure>


# Инструкция по интерфейсу


# Регистрация юридических лиц

Перейдите на форму регистрации <https://unitpay.ru/signup/legal>[\ <br>](https://unitpay.ru/signup/legal)Введите ИНН и почту (на нее придет письмо с подтверждением регистрации, может упасть в папку «Спам»). Задайте пароль. Согласитеcь с офертами и нажмите кнопку «Продолжить».

<figure><img src="/files/T9bxiK2QNKl1wVnjLgnd" alt=""><figcaption></figcaption></figure>

### **Подтверждение регистрации**

После этого на указанную почту придет письмо с подтверждением регистрации (может упасть в папку «Спам»). Перейдите по ссылке из письма для подтверждения регистрации.&#x20;

<figure><img src="/files/pJlqbauvWC2TRHRaz86u" alt=""><figcaption></figcaption></figure>


# Новый проект и модерация

### **Добавление нового проекта и подтверждение**

После подтверждения регистрации вам будет предложено добавить ваш первый проект.

<figure><img src="/files/CWcEI5COknlUTsQA1TXM" alt=""><figcaption></figcaption></figure>

Вы можете добавить сайт, ссылку на группу VK (у вас должна быть роль «Владелец» в данной группе), телеграм-бота или  телеграм- канал.

<figure><img src="/files/1UtMiRGPjf9LsDX7q0ws" alt=""><figcaption></figcaption></figure>

После этого вы попадете на страницу подтверждения проекта.&#x20;

* Для добавления VK группы потребуется предоставить доступ к вашей странице для подтверждения.&#x20;
* Подтвердить владение сайтов вы можете несколькими способами на выбор: через txt-файл, мета-тег или запись TXT
* Для подтверждения телеграм-бота или телеграм-канала следуйте инструкции на странице.<br>

  <figure><img src="https://lh4.googleusercontent.com/Byckrf7VDcm0x2OXzuX2ZLMrDXujUa3NRrHhEgY_c0F9fecgCA7DtDuLIHT-fkYOgIgtViipjR88RiXpX02n4gAxFOHe5wgHimzY9W6Szae7fUCcpMb5uKKaVOeBf7Cjqt9_tM45" alt=""><figcaption></figcaption></figure>

### **Модерация проекта**

После подтверждения ваш проект попадет на первичную проверку в службу поддержки Unitpay. [Подробней про модерацию](https://help.unitpay.ru/first_steps/moderation).

Как только первичная модерация будет пройдена, вы получите уведомление в личном кабинете Unitpay, а также письмо на почту.

<figure><img src="/files/7q62asWZpmG4v88gXzpq" alt=""><figcaption></figcaption></figure>


# Настройка проекта и прием платежей

После модерации вы можете подключить прием платежей на своем ресурсе. В Unitpay это можно сделать несколькими способами:

* [С помощью готовых модулей для популярных cms/saas-систем ](https://help.unitpay.ru/modules/cms-modules)
* [form](https://help.unitpay.ru/payments/create-payment-easy)
* [С помощью SDK ](https://help.unitpay.ru/modules/unitpay-sdk)
* [По API](https://help.unitpay.ru/payments/create-payment-easy)&#x20;
* Также вы можете [сгенерировать ссылку на оплату](https://help.unitpay.ru/payments/payment-links) в личном кабинете Unitpay в проекте в разделе «Товары»

Не забудьте:

* в настройках проекта включить необходимые методы оплаты, которые будут необходимы вам на платежной форме;
* указать «[Обработчик платежей](https://help.unitpay.ru/payments/payment-handler)»;

<figure><img src="/files/OMWOZxLq5VbO8L9nzo9S" alt=""><figcaption></figcaption></figure>

* опционально:  добавить ссылку, по которой необходимо будет перенаправлять пользователя в случае успешной / неуспешной оплаты принудительно или по кнопке "Вернуться на сайт магазина"

<figure><img src="/files/Vq9kwxL8HYDYe1FHzTW0" alt=""><figcaption></figcaption></figure>


# Подключение стран

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

<figure><img src="/files/sg2h2BIg7JJYhe0dlC1S" alt=""><figcaption></figcaption></figure>

Если вам необходимо подключить дополнительные страны для приема платежей на проекте, сначала он должен пройти [окончательную модерацию](https://help.unitpay.ru/first_steps/moderation#okonchatelnaya-moderaciya-proekta). После этого в настройках вашего проекта появится вкладка "Страны":

<figure><img src="/files/wtMgtYbb81704UGEMVLa" alt=""><figcaption></figcaption></figure>

Вам необходимо выбрать, какие страны нужно подключить для приема платежей, приложить подтверждающие документы и отправить заявку.&#x20;

{% hint style="warning" %}
Заявку на подключение дополнительных стран можно отправлять **1 раз в месяц**, поэтому рекомендуем к заявке сразу прикладывать документы, подтверждающие трафик. Это значительно увеличивает вероятность их подключения.
{% endhint %}

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

![](/files/-Mg9zoAp4kDKbHscDi8-)

Если вы отправили корректные подтверждающие документы, то заявка будет одобрена и статус во вкладке "Страны" изменится:

![](/files/-MgA-vItCrmdTbsYorRU)

Если же необходимые подтверждения трафика не были приложены к заявке, то заявка, скорее всего, будет отклонена, а статус во вкладке "Страны" изменится:

![](/files/-MgA0Qqb99Cp3uhqo18L)


# Выплаты

### Выплаты

Чтобы открыть доступ к выплатам, перейдите на вкладку **«Главная»**, нажмите кнопку **«Заполнить анкеты»** и следуйте инструкциям ниже.\
Обратите внимание: для активации выплат должен быть создан и одобрен хотя бы один проект, а также отправлены и подписаны документы.

<div data-full-width="true"><figure><img src="/files/1jSVgoT2MlWqpEDktG2q" alt=""><figcaption></figcaption></figure></div>

Сначала вам необходимо ознакомиться и согласиться с офертами:

<figure><img src="/files/fOyXN6ibQMCFkxixkK35" alt=""><figcaption></figcaption></figure>

На **Шаге 1 «Основные сведения»** заполните данные для формирования анкет. Затем скачайте, подпишите документы и прикрепите их на **Шаге 2 «Документы»**.

<figure><img src="/files/rU354XRx1h89n3Ns6xxn" alt=""><figcaption></figcaption></figure>

Если на этапе заполнения анкеты у вас возникли сложности, вы можете направить запрос в нашу службу поддержки, используя кнопку **«Нужна помощь».** В течение дня с вами свяжется представитель поддержки и ответит на все возникшие вопросы.

<figure><img src="/files/LH24g9RBV09Rbgcrqezw" alt=""><figcaption></figcaption></figure>

На вкладке Шаг 2 **«Документы»** необходимо загрузить учредительные документы для заключения договора.\
Выберите нужные файлы и прикрепите их к форме — сканы должны быть заверены подписью и печатью (если она есть), нотариальное заверение не требуется.

![](/files/-Mffmw-JuyhOxOtO458X)

После загрузки анкеты и документов мы отправляем их вендору для согласования.\
Вендор создаёт индивидуальный лицевой счёт, с которого будет производиться автоматическая выплата средств на ваш расчётный счёт на следующий банковский день.


# Онлайн-кассы и «Юнит.Чеки»

После отправки документов и согласования проекта вам откроется функционал подключения онлайн-касс. Перейдите во вкладку «Управление» → «Онлайн-кассы»

С подробным руководством по включению Юнит.Чеков можно ознакомиться [здесь](https://help.unitpay.ru/online-cash-register/unit.receipts).

Если у вас уже есть своя онлайн-касса, то вы можете подключить ее в интерфейсе Unitpay. Система поддерживает интеграцию с Атол.Онлайн, МодульКассой, E-COM кассой, Kit.Online и Чек Онлайн.\
\
Подробнее о подключении и формировании чеков вы можете [прочитать в документации.](https://help.unitpay.ru/online-cash-register)


# Документы и отчетность

### Отчетные документы

Ежемесячные закрывающие документы формируются на 5-й рабочий день месяца по производственному календарю. Вы можете скачать их в разделе «Управление» -> «Отчетность».<br>

Помимо ежемесячных реестров, по части операций формируются ежедневные реестры за прошлый день. Реестры приходят на почту, на которую зарегистрирован аккаунт, вы можете отключить эту функцию, сняв этот чек-бокс и сохранив изменения:

![](/files/-MgG_YRZ_ZZ-8Ts4qbOO)

В данном разделе доступно скачивание отчетности за конкретный период по разным поставщикам:

<figure><img src="/files/ShW6SoSxoaCjNejy2NVc" alt=""><figcaption></figcaption></figure>

Для того, чтобы скачать архив с документами, необходимо поставщика в выпадающем списке справа, далее выбрать необходимый период и нажать «Скачать».

<div align="center"><img src="/files/-Mf6oZR0gck3ZMbVW5b1" alt=""></div>

Сформировать и скачать архив с реестрами можно, задав временной период (максимум - 31 день), дефолтным значением служит период в 31 день до сегодняшней даты включительно.&#x20;

По некоторым поставщикам скачивается Информационный отчет: внутри подсчет общей суммы заработанного за указанный период, общая сумма комиссии, а также общая сумма, выплаченная на расчетный счет.&#x20;

Важно: Такой отчет носит информационный характер, фактически перечисленную сумму от Банка необходимо отслеживать на основании реестров, размещаемых в личном кабинете в этом разделе.


# Подписки

После подключения рекуррентных платежей (подписок) по [API](/payments/recurring-payments/create-subscription) вам станет доступен раздел подписок.

<figure><img src="/files/aTWl2xp7zpCBoGsu1X4T" alt=""><figcaption></figcaption></figure>

Доступны следующие данные:

* ID подписки
* Описание
* Статус: создана, активна, закрыта
* Дата создания подписки
* Количество успешных платежей
* Количество неуспешных платежей
* Дата последнего платежа
* Доход по подписке

<figure><img src="/files/JthkFG7mzEP2XRlO974Y" alt=""><figcaption></figcaption></figure>

Для управлением подписками используйте [API](/payments/recurring-payments).


# Роли и сотрудники

Вы можете добавить новых сотрудников через вкладку «Управление» → [«Сотрудники»](https://unitpay.ru/partner/staff/list) и настроить доступы к конкретным проектам.

Доступные варианты ролей:

* Администратор  — ваш аккаунт;
* Партнер — обладает теми же правами, что доступны и Администратору;
* Поддержка — только просмотр статистики по платежам;
* Программист — просмотр статистики по платежам и управление настройками проекта;
* Менеджер — просмотр статистики по платежам, списка выплат, а также управление настройками проекта;
* Бухгалтер — просмотр статистики по платежам, создание выплат и просмотр их списка, создание выгрузок, просмотр списка проектов.

{% hint style="success" %}
При добавлении новых сотрудников на аккаунте рекомендуем использовать вход по одноразовому паролю через код на e-mail.&#x20;

Двухфакторная аутентификация позволяет эффективно обезопасить ваш аккаунт от несанкционированного входа, тем самым защитить персональные данные - доступ к истории транзакций, настройкам проектов и финансовой информации. Особенно рекомендуется при добавлении сотрудников с ролью "Бухгалтер" и "Партнер".
{% endhint %}


# Пакет документов для ИП

На этапе отправки документов мы просим вас собрать качественный пакет документов.

{% hint style="success" %}
Скан-копии принимаются в формате .pdf. При возможности, пожалуйста, избегайте отправку фото .jpg / .jpeg. Мы не примем документы, если они будут в плохом качестве: размытые нечитаемые изображения, на документах будут видны ваши пальцы, вотермарки или любые посторонние надписи, на фоне будут присутствовать посторонние люди или предметы.
{% endhint %}

Ниже опубликованы наглядные примеры документов **для ИП.**

## Паспорт ИП (первый разворот + регистрация)

![Первый разворот паспорта РФ (пример)](/files/-MiRqn-JrhXLCVPI449u)

![Страница с регистрацией (пример)](/files/-MiRr5PmSpnQAS1DKxqc)

{% hint style="info" %}
В качестве документа, удостоверяющего личность, также можно отправить сканы вида на жительство / паспорта иностранного государства.
{% endhint %}

<figure><img src="/files/k8Q0L1xhWdTk4SWh2H4T" alt=""><figcaption><p>Первый разворот вида на жительство (пример)</p></figcaption></figure>

<figure><img src="/files/SwSCgpDKMkYEduqFgLs4" alt=""><figcaption><p>Страница с регистрацией (пример)</p></figcaption></figure>

<figure><img src="/files/DzqHMtNh9X56Lgbl0s8J" alt=""><figcaption><p>Первый разворот паспорта иностранного государства (пример)</p></figcaption></figure>

<figure><img src="/files/z5uOxDpeMhtKDfblxban" alt=""><figcaption><p>Страница с регистрацией (пример)</p></figcaption></figure>

<figure><img src="/files/x2Os3nSBp9EbbYOF0CHA" alt=""><figcaption><p>Страница с датой выдачи ВНЖ (пример)</p></figcaption></figure>


# Пакет документов для ООО

На этапе отправки документов мы просим вас собрать качественный пакет документов.&#x20;

{% hint style="success" %}
Скан-копии принимаются в формате .pdf. При возможности, пожалуйста, избегайте отправку фото .jpg / .jpeg. Мы не примем документы, если они будут в плохом качестве: размытые нечитаемые изображения, на документах будут видны ваши пальцы, вотермарки или любые посторонние надписи, на фоне будут присутствовать посторонние люди или предметы.
{% endhint %}

Ниже опубликованы наглядные примеры документов **для ООО.**

## **1.** Паспорт (первый разворот + регистрация руководителя юридического лица/лица, действующего по доверенности)

![Первый разворот паспорта РФ (пример)](/files/-MiRqn-JrhXLCVPI449u)

![Страница с регистрацией (пример)](/files/-MiRr5PmSpnQAS1DKxqc)

{% hint style="info" %}
В качестве документа, удостоверяющего личность, также можно отправить сканы вида на жительство / паспорта иностранного государства.
{% endhint %}

<figure><img src="/files/k8Q0L1xhWdTk4SWh2H4T" alt=""><figcaption><p>Первый разворот ВНЖ (пример)</p></figcaption></figure>

<figure><img src="/files/SwSCgpDKMkYEduqFgLs4" alt=""><figcaption><p>Страница с регистрацией (пример)</p></figcaption></figure>

<figure><img src="/files/DzqHMtNh9X56Lgbl0s8J" alt=""><figcaption><p>Первый разворот паспорта иностранного государства (пример)</p></figcaption></figure>

<figure><img src="/files/z5uOxDpeMhtKDfblxban" alt=""><figcaption><p>Страница с регистрацией (пример)</p></figcaption></figure>

<figure><img src="/files/x2Os3nSBp9EbbYOF0CHA" alt=""><figcaption><p>Страница с датой выдачи ВНЖ (пример)</p></figcaption></figure>

## 2. Устав и список изменений к нему

## 3. Протокол / выписка из протокола (решение) об избрании руководителя юридического лица


# Смена расчётного счета для выплат

1\. Для внесения правок в реквизитах расчётного счета, на который вы получаете выплаты, вам нужно перейти на страницу [*«*&#x41C;ой аккаун&#x442;*»*](https://unitpay.ru/partner/profile/edit) в ЛК и нажать *«*&#x421;качать уведомлени&#x435;*»*.

![](/files/tV51XIYJHoclIp4V9sbS)

2\. После этого вы перейдете на форму для скачивания и отправления уведомления.

![](/files/NjqO36i2DcnhtaFGiZeA)

3\. Если данные, которые вы ввели, точно соответствуют новому р/с, скачайте уведомление.

![](/files/GMDL8gIOK75l3oRAe8aW)

4\. Далее в скаченном уведомлении в docx. вам необходимо поставить свою подпись и печать (если она есть) и загрузить скан/фото документа в форму ниже:

<figure><img src="/files/HNiQDi32m2xHn2pWTQ6h" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**Обязательно убедитесь, что вы поставили подпись в уведомлении, в противном случае заявка не будет одобрена.**
{% endhint %}

**5**. После отправки заявки вы получите уведомление, статус смены реквизитов можно отслеживать в разделе "Мой профиль".

<figure><img src="/files/V1514NmuQT9RdyzwCtdW" alt=""><figcaption></figcaption></figure>

**6.** В течение рабочего дня с 9 по 18, если заявка была отправлена в будний день, мы сменим расчетный и на следующий банковский день вы будете получать выплаты уже на новый р/с.\
\
После фактической смены реквизитов расчетного счета р/с вы увидите следующее уведомление:

![](/files/52z2BYQdYQJpg61zpSZq)


# Подключение PayPal

При работе с PayPal мы предоставляем только иконку на форме оплаты и статистику в личном кабинете, беря за это 1% комиссии от платежа, денежные средства поступают напрямую на счет партнера, минуя баланс Unitpay.\
\
Вам следует использовать инструкцию по подключению:&#x20;

{% file src="/files/-MMGWkMw8BjSOtW1ggEK" %}


# Текущий баланс (API)

Узнать сумму баланса на вашем аккаунте, доступного к выплате, можно по API.\
В ответе сервера выводится информация о балансе по неттинг-схеме, доступном для выплаты.

```bash
GET https://unitpay.ru/api

method    = getPartner
login     = partner@gmail.com
secretKey = sk_live_2YQt9m
```

<table data-header-hidden><thead><tr><th width="157.11110432942706">name</th><th width="183.888916015625">type</th><th>description</th></tr></thead><tbody><tr><td><strong>login</strong></td><td>строка</td><td>E-mail аккаунта в системе UnitPay</td></tr><tr><td><strong>secretKey</strong></td><td>строка</td><td>Секретный ключ аккаунта, доступен в <a href="https://unitpay.ru/partner/profile/edit">настройках профиля</a></td></tr></tbody></table>

#### Пример  успешного ответа:

```
{
    "result": {
        "email": "unitpay-test@site.ru",
        "accounts": {
            "rub": {
                "balance": "1060.76",
                "availableBalance": "1060.76"
            },
        }
    }
}
```

<table data-header-hidden><thead><tr><th width="197.22222900390625">name</th><th width="137.11104329427081">type</th><th>description</th></tr></thead><tbody><tr><td><strong>email</strong> </td><td>e-mail</td><td>E-mail аккаунта в системе UnitPay</td></tr><tr><td><strong>balance</strong></td><td>число</td><td>Общий баланс аккаунта</td></tr><tr><td><strong>availableBalance</strong></td><td>число</td><td>Баланс аккаунта, доступный для вывода</td></tr></tbody></table>

#### Ошибочный ответ

```
{"error": {
    "message": "Неверные параметры авторизации",
    "code": -32000
}}
```

<table data-header-hidden><thead><tr><th width="199.5555419921875">name</th><th>description</th></tr></thead><tbody><tr><td><strong>-32000</strong></td><td>Неверные параметры авторизации (логин, секретный ключ)</td></tr><tr><td><strong>-32602</strong></td><td>Неверные параметры запроса</td></tr><tr><td><strong>-32603</strong></td><td>Внутренняя техническая ошибка</td></tr></tbody></table>

Часть средств на балансе может быть недоступна для выплаты на некоторое время, в зависимости от холда.

**Типы холдов:**

1. *Статический холд - н*а вашем балансе холдируется определенная сумма, которую вы не можете вывести пока холд не будет снят.
2. *Динамический холд* - холд на дни. Все принятые средства от ваших клиентов блокируются на определенное количество дней, по истечению которых вы сможете вывести средства. \
   Например, если динамический холд установлен на 3 дня, то средства, полученные в этот понедельник, будут доступны к выводу в четверг. Полученные в этот вторник - в пятницу и т.д.
3. *Холд по платежам* - аналогично "Статистическому холду", но в рамках конкретных платежей.


# Комиссии проекта (API)

Вы можете уточнить комиссии конкретного проекта с помощью API запроса:

```bash
GET https://unitpay.ru/api

method    = getCommissions
projectId = 123456
login     = partner@example.com
secretKey = sk_live_2YQt9m
```

<table data-header-hidden><thead><tr><th width="211.7777099609375"></th><th width="135.99995930989581">Значение</th><th>Описание</th></tr></thead><tbody><tr><td><strong>projectId</strong></td><td>число</td><td>ID проекта в системе  UnitPay</td></tr><tr><td><strong>login</strong></td><td>строка</td><td>Email аккаунта в системе UnitPay</td></tr><tr><td><strong>secretKey</strong></td><td>строка</td><td>Секретный ключ партнера, доступен в <strong>настройках аккаунта</strong> Unitpay</td></tr></tbody></table>

#### Пример успешного ответа:

```
{
    "result": {
        "webmoney": 2,
        "card": 3.5,
        "card_not_rf": 10,
        "sbp": 0.7
    }
}
```

<table data-header-hidden><thead><tr><th width="226.55560302734375"></th><th width="184.88887532552081">Значение</th><th>Описание</th></tr></thead><tbody><tr><td>name</td><td>текст</td><td>Наименование метода оплаты</td></tr><tr><td>commission</td><td>число</td><td>Полная комиссия за проведение платежа</td></tr></tbody></table>

#### Пример ошибочного ответа:

```
{
    "error": {
        "message": "Неверные параметры авторизации",
        "code": -32000
    }
}
```

**Описание возможных ошибок:**

<table data-header-hidden><thead><tr><th width="251.77783203125"></th><th>Описание</th></tr></thead><tbody><tr><td><strong>-32000</strong></td><td>Неверные параметры авторизации (логин, секретный ключ)</td></tr><tr><td><strong>-32602</strong></td><td>Неверные параметры запроса</td></tr><tr><td><strong>-32603</strong></td><td>Внутренняя техническая ошибка</td></tr></tbody></table>




---

[Next Page](/llms-full.txt/1)

