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

Платежи с холдированием

Вы можете проводить платежи с холдированием: сначала оплата покупателя холдируется («замораживается»), а затем по вашей команде списывается — полностью или частично. Это удобно, например, для оплаты услуг после их выполнения.

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

Чтобы подключить холдирование или настроить автоматическое списание, обратитесь к персональному менеджеру в Банке 131.

Порядок действий зависит от способа платежа: с виджетом или без него.

Шаг 1. Создайте платежную сессию​

Отправьте запрос на создание платежной сессии session/create. В ответе вы получите идентификатор сессии.

Вы можете создать сессию и платеж одновременно (session/init/payment). В этом случае сразу передайте параметры платежа и пропустите следующий шаг. Не рекомендуем использовать этот способ.

Шаг 2. Начните платеж​

Выполните запрос session/start/payment, передав идентификатор сессии и параметры платежа.

Шаг 3. Дождитесь вебхука о готовности платежа​

Банк 131 отправит вам вебхук ready_to_confirm о готовности провести платеж и ожидании вашего подтверждения или отмены.

Шаг 4. Подтвердите или отмените платеж​

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

Шаг 5. Дождитесь вебхука о дополнительных действиях​

Вебхук action_required приходит, если банк покупателя запрашивает прохождение 3D Secure или иные действия.

Перенаправьте покупателя по ссылке из параметра customer_interaction.redirect.url для прохождения аутентификации 3D Secure.

Шаг 6. Дождитесь вебхука о холдировании средств​

Банк 131 отправит вам вебхук ready_to_capture — деньги покупателя захолдированы.

Пример вебхука
curl -X POST \
https://partner.ru \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "ready_to_capture",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_2018",
"status": "pending",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@example.com"
}]
},
"payment_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}'

Шаг 7. Спишите захолдированную сумму или отмените платеж​

Спишите сумму полностью или частично (session/capture), передав ее в amount_details. Либо отмените платеж (session/cancel) — захолдированная сумма автоматически вернется покупателю.

Шаг 8. Дождитесь вебхука о результате платежа​

Банк 131 отправит вам вебхук payment_finished. Информация о результате платежа содержится в параметре status массива acquiring_payments/payment_list.

Статус succeeded означает, что оплата прошла успешно. Если статус failed — оплата не прошла из‑за ошибки.

Схема платежа​

Схема платежа с холдированием