Перейти к основному содержимому

Процесс платежа

Как можно проводить платежи

  • с оплатой через платежную форму (если нет PCI DSS);
  • с открытыми данными (если у вас есть PCI DSS);
  • c холдированием.

Платежная сессия

В рамках платежной сессии session проходят все операции в API. Одна платежная сессия может объединять несколько операций, например, платеж и возврат.

Вы можете отправлять платежи двумя способами:

  • с одновременным стартом сессии и платежа (одним запросом session/init/payment);
  • или сначала создать сессию, а потом отправить платеж (двумя запросами: session/create и session/start/payment). Например, чтобы вызвать виджет платежной формы или просто сразу получить идентификатор сессии и следить по нему за тем, что происходит с платежом.

Основной сценарий платежа

  1. Вы создаете платежную сессию:
  • отдельно от платежа (session/create) — это обязательно, если будете проводить платеж с виджетом платежной формы;
  • или одновременно с платежом (session/init/payment).

Эти шаги нужны только для оплаты с виджетом

  1. Если будете подключать виджет платежной формы, отправляете запрос на создание токена для доступа к JavaScript-библиотеке.

  2. Показываете виджет пользователю и получаете данные карты.

  3. Если не используете виджет и создавали сессию отдельно от старта платежа, отправляете запрос session/start/payment.

  4. Получаете от Банка 131 вебхук ready_to_confirm — это значит, что Банк готов провести платеж и ждет вашего подтверждения.

  5. Подтверждаете проведение платежа (session/confirm) или отменяете его (session/cancel).

Эти шаги нужны только для оплаты без виджета

  1. Если проводите оплату без платежной формы, получаете вебхук action_required от Банка 131. Это значит, что для проведения платежа нужны дополнительные действия. Например, пользователю нужно пройти 3D Secure.
  2. Перенаправляете пользователя на адрес для подтверждения платежа (3D Secure).

Эти шаги нужны только для платежа с холдированием

При платеже с холдированием деньги блокриуются на карте пользователя и списываются по вашей команде. Если вы не хотите проводить платежи с холдированием, эти шаги можно пропускать. Чтобы использовать такой сценарий, напишите менеджеру в Банке 131.

  1. Получаете вебхук ready_to_capture от Банка 131. Это значит, что деньги для оплаты заблокированы на банковской карте пользователя.

  2. Списываете захолдированную сумму (session/capture) или разблокируете деньги (session/cancel).

  3. Получаете от Банка 131 вебхук payment_finished с результатом проведения платежа. Статус succeeded сообщает вам, что платеж успешно проведен.

Статусы платежа

Статус платежа возвращается в поле status в объекте acquiring_payments. Чтобы его узнать, дождитесь вебхука от Банка 131 или отправьте запрос session/status с идентификатором сессии, в которую входит этот платеж.