# Инвойсбокс API — Партнёрское API > Раздел документации целиком. Полное оглавление: https://docs.invoicebox.ru/llms.txt ## Партнёрское API - [Банки, PSP и агрегаторы](https://docs.invoicebox.ru/raw/partner/payment-service-provider.md) (раздел «Партнёрское API») - [Партнёрское API](https://docs.invoicebox.ru/raw/partner/partner.md) - [Интеграция магазина](https://docs.invoicebox.ru/raw/partner/integration/integration.md) (раздел «Партнёрское API») - [Отправка приглашения](https://docs.invoicebox.ru/raw/partner/integration/invite.md) (раздел «Интеграция магазина») - [Активация магазина по коду](https://docs.invoicebox.ru/raw/partner/integration/activation.md) (раздел «Интеграция магазина») --- # Банки, PSP и агрегаторы ## Банки, PSP и агрегаторы приёма платежей Банки, PSP и агрегаторы, предоставляющие своим клиентам возможность принимать оплату от физических лиц, могут интегрировать систему Инвойсбокс для приёма платежей от юридических лиц. Схема интеграции схожа с подключением типового торгово-сервисного предприятия в эквайринге, она делится на два этапа: 1. Создание и получение доступа к магазину клиента в системе Инвойсбокс 2. Создание заказа и подтверждение оплаты ### Получение доступа к магазину клиента в системе Инвойсбокс
sequenceDiagram autonumber participant Магазин participant Партнёр participant Инвойсбокс rect rgba(43, 170, 93, 0.13) Магазин->>Партнёр: Желание принимать платежи от юр. лиц Партнёр-->>Инвойсбокс: Заявка на подключение к Инвойсбокс Партнёр->>Инвойсбокс: Запрос на предоставление доступа к магазину Инвойсбокс->>Магазин: Запрос на предоставление доступа к магазину Магазин->>Инвойсбокс: Подтверждение запроса, разрешение доступа Инвойсбокс->>Партнёр: Предоставление доступа Партнёру к Магазину end
1. Магазин в системе партнёра выбирает услугу приёма платежей от юридических лиц через систему Инвойсбокс 1. Если магазин не зарегистрирован, Партнёр отправляет заявку на подключение в систему Инвойсбокс 1. Если магазин зарегистрирован, Партнёр отправляет запрос в систему Инвойсбокс на предоставление доступа к магазину 1. Система Инвойсбокс направляет магазину запрос на предоставление доступа 1. Магазин либо разрешает доступ (принимает запрос), либо отклоняет его 1. В случае, если магазин принял запрос, система Инвойсбокс предоставляет Партнёру доступ к магазину для создания в нём заказов и оформления счетов ### Создания заказа и подтверждение оплаты
sequenceDiagram autonumber participant Покупатель participant Магазин participant Партнёр participant Инвойсбокс rect rgba(43, 170, 93, 0.13) Покупатель->>Магазин: Оформление заказа Магазин->>Партнёр: Заказ с корзиной Партнёр->>Покупатель: Выбор способа оплаты Покупатель->>Партнёр: Оплата от юрлица Партнёр->>Инвойсбокс: Создание заказа Инвойсбокс-->>Покупатель: Счёт в приложении Инвойсбокс->>Партнёр: Ссылка на оплату Партнёр->>Покупатель: Ссылка или QR-код Покупатель->>Инвойсбокс: Подтверждение оплаты Инвойсбокс->>Партнёр: Уведомление об оплате Инвойсбокс->>Магазин: Выплата Партнёр->>Магазин: Уведомление об оплате Партнёр->>Покупатель: Уведомление об оплате end
1. Покупатель оформляет заказ у магазина — на сайте, в приложении или на кассе. 1. Магазин передаёт заказ в систему партнёра вместе с корзиной: без состава корзины счёт юрлицу не выставить, потому что в закрывающих документах нужны позиции, количество и ставки НДС. 1. Партнёр показывает покупателю способы оплаты — привычные ему (карта, QR, POS-терминал) и оплату от организации через Инвойсбокс. 1. Покупатель выбирает оплату от юрлица. 1. Партнёр [создаёт заказ](/docs/merchant/order/create/) в Инвойсбоксе от имени магазина, доступ к которому получен на первом этапе. 1. Если покупатель зарегистрирован в Инвойсбоксе, счёт приходит ему в приложение — платить по ссылке не обязательно. 1. В ответе на создание заказа Инвойсбокс возвращает `paymentUrl`. 1. Партнёр передаёт ссылку покупателю: сообщением, письмом или [QR-кодом](/docs/merchant/payment-page/) на экране кассы. 1. Покупатель подтверждает оплату — способ и скорость зависят от [платёжного инструмента](/docs/merchant/payment-instruments/): от секунд при гарантийном фонде до банковского перевода. 1. Инвойсбокс сообщает партнёру [об оплате](/docs/merchant/notification/status/). 1. Принятые оплаты перечисляются магазину — [сроки и условия](/docs/terms/). 1. Партнёр сообщает магазину, что заказ оплачен, и магазин отдаёт товар или оказывает услугу. 1. Партнёр сообщает об оплате покупателю в своём интерфейсе. > [!NOTE] > Заказы можно создавать и по реквизитам продавца — ИНН и КПП вместо идентификатора магазина > ([агентский режим](/docs/merchant/order/agent-create/)). Схема этого метода не входит в публикуемый > набор, поэтому консоли «Выполнить» на его странице нет: контракт сверяется с технической поддержкой. --- # Партнёрское API # Партнёрское API ## Вознаграждение партнёра Вознаграждение считается от оборота привлечённых магазинов — без порога, с любого оборота. Статистика по привлечённым магазинам доступна партнёру в личном кабинете: сколько подключено, какой оборот и что начислено. Размер вознаграждения и порядок выплаты определяет договор. ## Что в разделе - [Интеграция магазина](/docs/partner/integration/) — как партнёр подключает магазин к Инвойсбоксу своими методами. - [Приглашение магазина](/docs/partner/integration/invite/) — отправка приглашения будущему магазину. - [Активация интеграции](/docs/partner/integration/activation/) — включение подключённого магазина. - [Банки и платёжные провайдеры](/docs/partner/payment-service-provider/) — сценарий для тех, кто предоставляет платёжные сервисы своим клиентам. ## Как получить доступ Партнёрский идентификатор и токен выдаются при заключении партнёрского договора; они видны в личном кабинете партнёра. Токен передаётся так же, как в остальных методах — см. [авторизацию](/docs/api/auth/). --- # Интеграция магазина # Интеграция магазина Партнёр может реализвовать в своей системе механизм автоматической регистрации и настройки интеграции магазина. Схема взаимодействия выглядит следующим образом:
sequenceDiagram autonumber participant Магазин participant Партнёр participant Инвойсбокс rect rgba(43, 170, 93, 0.13) Магазин->>Партнёр: Выбор услуги приёма платежей через Инвойсбокс Партнёр->>Инвойсбокс: Вызов [метода отправки приглашения](/docs/partner/integration/) в систему Инвойсбокс Инвойсбокс->>Магазин: Отправка инструкций и документов для подключения Магазин->>Инвойсбокс: Предоставление необходимых документов, подтверждение подключения Инвойсбокс->>Магазин: Отправка кода активации Магазин->>Партнёр: Завершение подключения услуги приёма платежей через Инвойсбокс, ввод кода активации Партнёр->>Инвойсбокс: Вызов [метода активации магазина](/docs/partner/integration/activation/) Инвойсбокс->>Партнёр: Предоставление параметров интеграции магазина end
1. Магазин в системе партнёра выбирает услугу приёма платежей через систему «Инвойсбокс» 1. Партнёр отправляет приглашение [через метод API](/docs/partner/integration/) в систему «Инвойсбокс» 1. Система «Инвойсбокс» направляет магазину необходимые данные для регистрации в системе 1. Магазин предоставляет необходимые сведения системе «Инвойсбокс», подтверждает подключение 1. Система «Инвойсбокс» направляет магазину код активации 1. Магазин в системе партнёра завершает подключение услуги приёма платежей через систему «Инвойсбокс» указывая полученный код активации 1. Партнёр отправляет запрос на активацию магазина [через метод API](/docs/partner/integration/activation/) 1. Партнёр получает от системы «Инвойсбокс» необходимые для работы с API параметры интеграции - идентификатор магазина и токен ## Читайте также - [Партнёр отправляет приглашение через метод API (сейчас ссылка ведёт на саму страницу)](/docs/partner/integration/invite/) --- --- # Отправка приглашения # Отправка приглашения Партнёр может инициировать отправку приглашения для регистрации в системе Инвойсбокс. При успешном выполнении запроса на указанный адрес электронной почты будет отправлена ссылка для регистрации в системе Инвойсбокс. После успешной регистрации и оформления договора, пользователь получит код для активации для настройки своего магазина. Для отправки приглашения, отправьте следующий запрос: - метод: `POST` - ресурс: `/v3/notification/api/invite` - тело запроса - объект [InviteRequest](#inviterequest) - тело ответа - объект [InviteResponse](#inviteresponse) - Возможные [ошибки](/docs/dictionary/error/) #### Пример запроса и ответа ``` json POST /v3/notification/api/invite Authorization: Bearer b37c4c689295904ed21eee5d9a48d42e Content-Type: application/json User-Agent: MyApp 1.0 Accept: application/json { "identifier": "shop@shop.com", "type": "email", "partnerId": "ffffffff-ffff-ffff-ffff-ffffffffffff" } ``` ``` json { "data":{ "id":"d5490c3d-e2f8-4f90-aa8b-87b1cd2956af" } } ``` Ответ (по схеме): ``` json { "data": { "id": "01771534-1a57-f184-dee3-ebeb91dded75" }, "metaData": { "totalCount": 1, "pageSize": 1, "page": 1 }, "extendedData": [ { "type": "string", "data": {} } ] } ``` ## InviteRequest | Свойство | Обязательное | Тип | Описание | Пример значения | |-----------------|--------------|-----------------|---------------------------------------------------------------------|----------------------------------------| | partnerId | да | string(36) | Идентификатор партнёра (интегратора) | `01771534-1a57-f184-dee3-ebeb91dded76` | | type | да | enum | Тип приглашения | `email` | | identifier | да | string(100) | Значение приглашения | `shop@shop.com` | ## InviteResponse | Свойство | Обязательное | Тип | Описание | Пример значения | |---------------------------|--------------|-------|------------------------------|-----------------| | id | да | int | Идентификатор приглашения | `123` | --- --- # Активация магазина по коду # Активация магазина по коду Партнёр может активировать магазин и его интеграцию по специальному коду. Для активации магазина и получения параметров интеграции, отправьте следующий запрос: - метод: `POST` - ресурс: `/v3/security/api/api-user-group/activation` - тело запроса - объект [ActivationRequest](#activationrequest) - тело ответа - объект [ActivationResponse](#activationresponse) - Возможные [ошибки](/docs/dictionary/error/) #### Пример запроса и ответа ``` json POST /v3/billing/api/merchant/merchant-integration-setting/activation Authorization: Bearer b37c4c689295904ed21eee5d9a48d42e Content-Type: application/json User-Agent: MyApp 1.0 Accept: application/json { "activationCode":"111222333", "partnerId":"dda90c3d-e2f8-4f90-aa8b-87b1cd2956a1" } ``` ``` json { "data":{ "merchantId":"ffffffff-ffff-ffff-ffff-ffffffffffff", "token":"T1RBMFpXKOAY8W45072Wa09XRTBPR1EwTW1V" } } ``` Ответ (по схеме): ``` json { "data": { "merchantId": "01771534-1a57-f184-dee3-ebeb91dded75", "token": "string", "notificationSetting": {} }, "metaData": { "totalCount": 1, "pageSize": 1, "page": 1 }, "extendedData": [ { "type": "string", "data": {} } ] } ``` ## ActivationRequest | Свойство | Обязательное | Тип | Описание | Пример значения | |-----------------|--------------|-----------------|--------------------------------------|----------------------------------------| | partnerId | да | string(36) | Идентификатор партнёра (интегратора) | `01771534-1a57-f184-dee3-ebeb91dded76` | | activationCode | да | string(36) | Код активации магазина | `143232423434` | ## ActivationResponse | Свойство | Обязательное | Тип | Описание | Пример значения | |-----------------|--------------|--------------|-----------------------------------|----------------------------------------| | merchantId | да | string(36) | Идентификатор магазина | `01771534-1a57-f184-dee3-ebeb91dded76` | | token | да | string(512) | [Токен магазина](/docs/api/auth/) | `T1RBMFpXKOAY8W45072Wa09XRTBPR1EwTW1V` | ## Читайте также - [С полученными merchantId и token можно создавать заказы](/docs/merchant/order/create/) ---