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

Платеж банковской картой

Вы можете принимать платежи банковскими картами Visa, Mastercard и «Мир».

Сценарий платежа картой

  1. Создайте платежную сессию отдельно от платежа (session/create) или одновременно с ним (session/init/payment). В этот момент можно подключить виджет платежной формы или токенизировать банковскую карту для последующего приема платежей без виджета.
  2. Если не используете виджет и создали сессию отдельно от старта платежа, отправьте запрос session/start/payment.
  3. Дождитесь от Банка 131 вебхука ready_to_confirm — это значит, что Банк готов провести платеж и ждет вашего подтверждения.
  4. Подтвердите проведение платежа (session/confirm) или отмените его (session/cancel).
  5. Если вы получите вебхук action_required от Банка 131, это значит, что для проведения платежа нужны дополнительные действия. Например, пользователю нужно пройти 3D Secure. В этом случае, перенаправьте пользователя на адрес для 3D Secure.

    Если вы используете виджет и получите вебхук action_required, отправьте в ответ HTTP-код 200, клиент будет перенаправлен на 3D Secure автоматически.

  6. Дождитесь вебхука ready_to_capture от Банка 131, затем спишите средства (session/capture) или отмените оплату (session/cancel).
  7. Дождитесь от Банка 131 вебхука payment_finished с результатом проведения платежа. Статус succeeded означает, что платеж успешно проведен.

Схема платежа картой

На этой схеме показаны этапы платежа картой со стартом сессии отдельно от платежа.

Схема платежа картой

Токенизация карты без виджета

Банк 131 предоставляет возможность сохранять токенизированные данные российских банковских карт на своей стороне. Это может быть удобно, если ваш уровень PCI DSS недостаточен для хранения карточных данных, или если вы по каким-то причинам не хотите использовать виджет токенизации. После первой транзакции на выплату можно передать токенизированные данные в Банк 131 и использовать их для последующих выплат.

Также вы можете переиспользовать полученные при эквайринге данные для отправки выплат на ту же карту, с которой ранее производился платеж. Это возможно как для эквайринговых хешей, так и для токенов.

Для токенизации карточных данных без виджета используйте метод tokenize/elements. Полученный в ответе токен необходимо передать в запросе на платеж или на выплату.

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