Процесс платежа
Как можно проводить платежи
- с оплатой через платежную форму;
- с открытыми данными;
- c холдированием.
Платежная сессия
В рамках платежной сессии session
проходят все операции в API. Одна платежная сессия может объединять несколько
операций, например, платеж и возврат.
Вы можете отправлять платежи двумя способами:
- с одновременным стартом сессии и платежа (одним запросом session/init/payment);
- или сначала создать сессию, а потом отправить платеж (двумя запросами:
session/createиsession/start/payment). Например, чтобы вызвать виджет платежной формы или просто сразу получить идентификатор сессии и следить по нему за тем, что происходит с платежом.
Основной сценарий платежа
- Вы создаете платежную сессию:
- отдельно от платежа (session/create) — это обязательно, если будете проводить платеж с виджетом платежной формы;
- или одновременно с платежом (session/init/payment).
Эти шаги нужны только для оплаты с виджетом
- 
Если будете подключать виджет платежной формы, отправляете запрос на создание токена для доступа к JavaScript-библиотеке. 
- 
Показываете виджет пользователю и получаете данные карты. 
- 
Если не используете виджет и создавали сессию отдельно от старта платежа, отправляете запрос session/start/payment.
- 
Получаете от Банка 131 вебхук ready_to_confirm— это значит, что Банк готов провести платеж и ждет вашего подтверждения.
- 
Подтверждаете проведение платежа ( session/confirm) или отменяете его (session/cancel).
Эти шаги нужны только для оплаты без виджета
- Если проводите оплату без платежной формы, получаете вебхук action_requiredот Банка 131. Это значит, что для проведения платежа нужны дополнительные действия. Например, пользователю нужно пройти 3D Secure.
- Перенаправляете пользователя на адрес для подтверждения платежа (3D Secure).
Эти шаги нужны только для платежа с холдированием
При платеже с холдированием деньги блокируются на карте пользователя и списываются по вашей команде. Если вы не хотите проводить платежи с холдированием, эти шаги можно пропускать. Чтобы использовать такой сценарий, напишите менеджеру в Банке 131.
- 
Получаете вебхук ready_to_captureот Банка 131. Это значит, что деньги для оплаты заблокированы на банковской карте пользователя.
- 
Списываете захолдированную сумму ( session/capture) или разблокируете деньги (session/cancel).
- 
Получаете от Банка 131 вебхук payment_finishedс результатом проведения платежа. Статусsucceededсообщает вам, что платеж успешно проведен.
Статусы платежа
Статус платежа возвращается в поле status в объекте acquiring_payments/payment_list. Чтобы его узнать,
дождитесь вебхука от Банка 131 или отправьте запрос session/status
с идентификатором сессии, в которую входит этот платеж.