> For the complete documentation index, see [llms.txt](https://docs.payanyway.ru/marketplace/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payanyway.ru/marketplace/fz-54/primenenie-kontrolno-kassovoi-tekhniki-pri-osushestvlenii-raschetov/formirovanie-cheka-v-kkt-ooo-peienivei/oplata-invoice.md).

# Оплата invoice

Покупатель оплачивает invoice удобным ему способом, например, банковской картой.

После успешной оплаты на адрес электронной почты покупателя приходит ссылка на фискальный документ с номенклатурой, которая была передана при создании invoice.

API ПА  ООО "ПЭЙ ЭНИ ВЭЙ" сгруппирует номенклатуру по продавцам и сделает операции перевода, полученных от покупателя денежных средств, на бизнес-счета продавцов. Операций перевода будет создано столько, сколько продавцов было передано с номенклатурой при создании invoice.

Если invoice был создал с холдированием (параметр **hold** при создании invoice был передан в значении **1**), то после успешного холдирования денег, будет отправлено URL-уведомление в формате:

```
{"type": "authorise", "operation": "ID операции"}
```

Получив уведомление, маркетплейс, исходя из своей логики, решает, проводить данную операцию или отменить.

Для проведения операции необходимо отправить запрос в API БПА ПА PayAnyWay на url:

<https://bpa.payanyway.ru/api/confirmoperation?key=***>

где confirmoperation - это имя метода

key - ключ партнера, выданный сервисом БПА ПА "ПЭЙ ЭНИ ВЭЙ" (bpa.payanyway.ru)

через json POST следует передать данные:

```
{
  "signature": "***",
  "operation": "***"
}
```

где:

* **signature** - подпись запроса - должна быть равна md5(operation + secret). Символ "+" - это конкатенация строк, "secret" - секретный код партнера, который будет выдан сервисом БПА ПА "ПЭЙ ЭНИ ВЭЙ" (bpa.payanyway.ru).
* **operation** - ID операции (было получено при создании invoice).

В операцию подтверждения можно отправить данные о номенклатуре, которая подтвердилась. Если эти данные не переданы, подтверждается вся номенклатура, переданная при создании инвойса.

Формат передачи номенклатуры в запросе confirmoperation полностью аналогичен данным запроса [invoice](/marketplace/fz-54/primenenie-kontrolno-kassovoi-tekhniki-pri-osushestvlenii-raschetov/formirovanie-cheka-v-kkt-ooo-peienivei/sozdanie-invoice.md), за исключением атрибута sourceTariffMultiplier, который при подтверждении операции поменять уже нельзя.

**Для отмены ранее холдированной операции** необходимо отправить запрос на url:

<https://bpa.payanyway.ru/api/canceloperation?key=***>

Все передаваемые параметры аналогичны предыдущему методу.

После успешной оплаты или подтверждения холдирования, API ПА ООО "ПЭЙ ЭНИ ВЭЙ" направит маркетплейсу URL - уведомление с ссылкой на фискальный документ:

```
{"operation":12345678+ссылка на чек}
```

Для настройки URL - уведомления необходимо отправить URL обработчика маркетплейса на <mp@payanyway.ru>

Если подтверждена лишь часть товаров из первоначального invoice, следует отправить запрос, содержащий данные по товарам с учетом изменений:

<https://bpa.payanyway.ru/api/confirmoperation?key=***>

Данные, принимаемые в запросе:

```
{
  "signature": "***",
  "operation": "***",
  "paymentAmount": 100,
  "inventory": [
    {
      "sellerAccount": "30990009", 
      "sellerInn": "1234", 
      "sellerName": "ООО Название 1", 
      "sellerPhone": "71234567890",
      "productName": "test1",
      "productQuantity": 1, 
      "productPrice": 0.20,
      "productVatCode": 1105,
      "po": "***",
      "pm": "***"
    },
    ...
  ] 
}
```

Для отмены инвойса, по которому еще не производилось оплаты, необходимо отправить запрос на url:

<https://bpa.payanyway.ru/api/cancelinvoice?key=***>

При вызове этого метода не осуществляются какие-либо возвраты по уже оплаченным invoice.

Данные, принимаемые в запросе:

```
{
  "signature": "***",
  "operation": "***",
  "description": "***"
}
```

где:

* **operation** - ID операции (было получено при создании invoice),
* **description** - сообщение при попытке оплаты отмененного инвойса,
* **signature** - подпись запроса - должна быть равна md5(operation + secret).
