> For the complete documentation index, see [llms.txt](https://docs-ru.martpay.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-ru.martpay.net/readme.md).

# Workflow payment

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

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

### Предлагаемый процесс обхода ограничений

Для снижения рисков, связанных с возможной отменой транзакций, применяется поэтапная схема подтверждения платежей.

1. #### **Создание платёжной ссылки**

При формировании платёжной ссылки ордер в нашей системе не создаётся при вызове метода:\
POST `https://api.martpay.net/api/mc/payment`

На данном этапе заказ отсутствует в системе и имеет статус **NOT\_FOUND**.

***

2. #### **Инициация платежа**

После того как пользователь переходит в платёжную систему, транзакция получает статус <mark style="color:$warning;">**IN\_PROGRESS**</mark>.

***

3. #### **Частичное подтверждение платежа**

После получения уведомления от Банка об успешном прохождении транзакции устанавливается статус <mark style="color:$success;">**ACCEPTED\_SETTLEMENT\_IN\_PROCESS**</mark><mark style="color:$primary;">**.**</mark> Одновременно с этим отправляется webhook с информацией об обновлении статуса транзакции.

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

❗ <mark style="color:$success;">**ACCEPTED\_SETTLEMENT\_IN\_PROCESS**</mark> — транзакция может перейти в <mark style="color:red;">**CANCELED**</mark>, при этом средства возвращаются на банковский счёт пользователя.

***

4. #### **Полное подтверждение платежа**

После получения окончательного подтверждения успешного проведения транзакции статус меняется на <mark style="color:$success;">**COMPLETED**</mark>, а webhook-уведомление отправляется повторно.

#### ❗️Важно❗️

{% hint style="danger" %}
Если в течение двух дней с момента перехода пользователя в платёжную систему платёж не получает подтверждение, транзакция автоматически переводится в статус **CANCELED**.
{% endhint %}
