# Инвойсбокс 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/)
---