Skip to main content
Version: LIFE PAY Online 1.0

Двухстадийные платежи (холдирование средств на банковской карте)

В некоторых случаях требуется блокировать денежные средства на карте плательщика до момента подтверждения сделки со стороны ТСП. В таких случаях необходимо использовать функционал двухэтапной оплаты.

caution

Данный функционал активируется для выбранного сервиса по отдельному согласованию. Согласно правилам платежных систем операция должна быть выставлена к оплате в течение 7-ми дней, поэтому средства могут находиться в статусе "Для утверждения" максимум 7 дней - по истечению этого срока средства автоматически становятся доступны плательщику.

При проведении оплаты денежные средства блокируются на карте клиента, а списание или отмена платежа проводится сотрудником ТСП.

caution

Двухэтапные платежи по рекуррентам в МПС МИР запрещены!

По факту блокировки средств система инициирует нотификацию command=funds_blocked, описание в разделе Получение дополнительных параметров о транзакции. Платежи которые требуют подтверждения отражаются в личном кабинете как показано на следующем экране:

При обработке менеджер ТСП может выбрать следующие действия:

  • отменить блокировку
  • подтвердить списание полной
  • подтвердить списание меньшей сумму

API управления зарезервированными средствами

Общая информация о методе

Метод доступен только для service_id, с активированным режимом "двухстадийная оплата". С помощью данного метода продавец принимает решение о списании CHARGE или разблокировке средств UNBLOCK.

Обработка транзакции в состоянии BLOCKED (HOLD)

Запрос выполняется на URL: https://api-ecom.life-pay.ru/v1/services/{service_id}/charges/{charge_id}/blocked, где {service_id} - ИД вашего магазина из личного кабинета, а {charge_id} возвращается в вебхук-нотфикации после успешной авторизации плательщиком на странице банка-эмитента.

Параметры для списания CHARGE и разблокировки UNBLOCK идентичны. URL так же одинаковый. Отличие заключается в типе запроса:

  • PATCH-запрос для CHARGE
  • DELETE-запрос для UNBLOCK

В заголовке запроса необходимо передать Content-Type: “application/json”. Авторизация осуществляется с помощью JWT Bearer, полученного в ответ на запрос https://api-ecom.life-pay.ru/v1/auth

В ответ возвращается JSON с результатом обработки запроса:

{
"status": "charged",
"message": "string"
}

Поля, возвращающиеся в случае некорректного запроса:

ПараметрТип объектаОписание
messagestringтекст ошибки (опционально)
statusstringстатус сущности
import http.client
import json

conn = http.client.HTTPSConnection("api-ecom.life-pay.ru")

headersList = {
"Content-Type": "application/json",
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiIsImtpZCI6ImlrYW9paW91eXRBb3V5ckRTVVRZT0FGU2l5U2ZvdHVBZ3lsU0FEIiwiZXhwIjoxNjgwNzk4MjkwLjE5ODI5M30.eyJleHAiOjE2ODA3OTgyOTAuMTk4MjkzLCJpbnZvaWNlX2lkIjpudWxsLCJzZXJ2aWNlX2lkIjo4MTI2OH0.RdlWBzgEYVkDRhlUNZ0F19VynPnddkc37k-UI3PwOwTjhNSuDgGPTDXTTdZwdZLw6XFprRjOj0C-oeS4zpuj0Q"
}

payload = json.dumps({
"amount": 50.00
})

conn.request("PATCH", "/v1/services/81268/charges/799dbc4b-b20c-41cf-b751-5dcc7bb2247e/blocked", payload, headersList)
response = conn.getresponse()
result = response.read()

print(result.decode("utf-8"))