# Workflow payment

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

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

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

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

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

При формировании платёжной ссылки ордер в нашей системе не создаётся при вызове метода:\
POST `https://api.martpay.net/api/v2/pis/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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-ru.martpay.net/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
