Перейти к содержанию

Выдача займа

Общие сведения

Для совершения покупки физическое лицо может получить заём.

Обратите внимание

Условия выдачи займа:

  • физическое лицо является клиентом партнёра, который вправе (согласно действующему законодательству РФ) выдавать займы;
  • для клиента выпущена банковская карта;
  • на карте недостаточно средств для совершения покупки — в ином случае заём не нужен.
  • у партнёра есть счёт для выплат в QIWI и на нём достаточно средств для выдачи займа.

Выдача займа подразумевает:

  • списание средств со счёта партнёра;
  • зачисление средств на счёт клиента.

Важная информация

  • Если взаимодействие между BaaS и партнёром предусматривает наличие комиссии за проведение операции выдачи займа, сумма комиссии технически будет списана с того же счёта партнёра, на котором находятся средства для выдачи займов.
  • Способ пополнения счёта партнёра уточняйте у курирующего менеджера.

Успешный сценарий выдачи займа

Пример успешного сценария выдачи займа описан и изображён ниже.

  1. Клиент покупает товар в офлайн-магазине, оплачивает его картой через POS-терминал.
  2. Банк-эквайер с помощью платёжной системы, которая обслуживает карту, отправляет QIWI запрос на авторизацию операции покупки.
  3. QIWI (BaaS) выполняет ряд внутренних проверок, получает ожидаемый результат.

    Проверка Ожидаемый результат для выдачи займа
    1 Проверка карты Карта выпущена в рамках сотрудничества с партнёром, который выдает займы
    2 Проверка достаточности средств на счёте клиента Средств для покупки недостаточно, нужен заём
    3 Проверка достаточности средств на счёте партнёра Средств для выдачи займа достаточно
    4 Проверка наличия активного технического овердрафта у клиента Баланс счёта клиента является положительным — нет активного технического овердрафта
  4. BaaS отправляет запрос на подтверждение выдачи займа партнёру.

  5. Партнёр подтверждает выдачу займа — возвращает status:APPROVED.

    Обратите внимание

    При получении и обработке запроса на подтверждение выдачи займа партнёр должен использовать QIWI-Signature и вернуть HTTP-код в определённом диапазоне аналогично тому, как это происходит при получении и обработке уведомлений. Время ожидания ответа от партнёра составляет не более 500 миллисекунд.

  6. BaaS зачисляет сумму займа на счёт клиента.

    Обратите внимание

    Сумма займа рассчитывается как стоимость покупки минус сумма доступных для использования средств на счёте клиента — заём выдается только на недостающую для покупки сумму.

  7. BaaS холдирует (резервирует) сумму покупки на счёте клиента и отправляет ответ об успешной авторизации операции.

  8. Клиент видит на терминале информацию об успешности платежа.
  9. BaaS отправляет партнёру два уведомления с type:AUTHORIZATION и actionStatus:SUCCESS:

    • уведомление, содержащее txnType:LOAN_ISSUEи actionType:LOAN_ISSUE — об успешной выдаче займа;
    • уведомление, содержащее txnType:PURCHASE_POS и actionType:HOLD — об успешном холдировании средств в рамках покупки в офлайн-магазине.
%%{init: {
    "sequence" : {
        "wrap":true,
        "messageFontSize":14,
        "noteFontSize":12,
        "actorMargin":
        30 }}}%%
sequenceDiagram
    participant С as Клиент
    participant SH as Магазин
    participant PS as Платёжная система
    participant B as BaaS
    participant P as Партнёр
    С->>SH: Покупка товара
    Note over С, SH: Оплата с карты через POS-терминал
    SH->>PS: Запрос на авторизацию покупки
    Note over SH, PS: Через систему банка-эквайера
    PS->>B: Запрос на авторизацию покупки
    B->>B: Проверка карты и достаточности средств (у клиента — для совершения покупки, у партнёра — для выдачи займа)
    B->>P: Запрос на подтверждение выдачи займа
    Note over B, P: txnId, actionId, clientId, cardTokenId, correlationId,  transactionAmount, insufficientAmount, authorizationData
    P->>B: Ответ на запрос подтверждения
    Note over B, P: status:APPROVED, statusDetails (productId, clientId, accountId, partnerTxnId, loanAmount)
    B->>B: Зачисление суммы займа клиенту
    B->>B: HOLD
    Note over B: Средства зарезервированы на счёте клиента
    B->>PS: 200 OK
    PS->>SH: 200 OK
    Note over SH, PS: Через систему банка-эквайера
    SH->>С: Сообщение на терминале
    Note over С, SH: «Платёж успешен»
    B->>P: Сценарий «Получение уведомления»
    Note over B, P: txnType:PURCHASE_POS, txnType:LOAN_ISSUE

Запрос на подтверждение выдачи займа, а также формат уведомлений описаны в документации History&Notifications API. Сценарий «Получение уведомления» см. в статье «Уведомления». Особенности получения уведомлений в рамках сценария выдачи займа описаны в разделе «Уведомления» этой статьи.

Неуспешный сценарий выдачи займа

Здесь описаны примеры основных неуспешных сценариев выдачи займа.

Сценарий 1

Если результат проверки №1, №3 или №4 (см. п.3 успешного сценария) отличается от ожидаемого:

  • сумма займа не зачисляется на счёт клиента;
  • запрос на авторизацию завершается ошибкой, средства на счёте клиента не захолдированы.

В этом случае:

  • клиент увидит информацию о том, что платёж не удалось выполнить;
  • партнёр получит два уведомления с type:AUTHORIZATION и actionStatus:FAILED:

    • уведомление, содержащее txnType:LOAN_ISSUE и actionType:LOAN_ISSUE — о неуспешной попытке выдаче займа;
    • уведомление, содержащее txnType:PURCHASE_POS/txnType:PURCHASE_E_POS и actionType:HOLD — о неуспешной попытке холдирования средств в рамках покупки.

Особенности получения уведомлений в рамках сценария выдачи займа описаны в разделе «Уведомления» этой статьи.

Сценарий 2

Если заём зачислен на счёт клиента (см. п.6 успешного сценария), но дальнейшая авторизация покупки по какой-то причине завершилась неуспешно:

  • сумма займа остаётся на счёте клиента;
  • запрос на авторизацию завершается ошибкой, средства на счёте клиента не захолдированы.

В этом случае:

  • клиент увидит информацию о том, что платёж не удалось выполнить;
  • партнёр получит два уведомления с type:AUTHORIZATION:

    • уведомление, содержащее txnType:LOAN_ISSUE, actionType:LOAN_ISSUE и actionStatus:SUCCESS — об успешной выдаче займа;
    • уведомление, содержащее txnType:PURCHASE_POS/txnType:PURCHASE_E_POS, actionType:HOLD и actionStatus:FAILED — о неуспешной попытке холдирования средств в рамках покупки.

Клиент может посмотреть свой баланс и воспользоваться выданным ему займом.

Особенности получения уведомлений в рамках сценария выдачи займа описаны в разделе «Уведомления» этой статьи.

Уведомления

Сценарий получения уведомлений описан в данной статье. Здесь указаны особенности получения уведомлений в рамках сценария выдачи займа.

В сценарии выдачи займа BaaS отправляет партнёру два уведомления с type:AUTHORIZATION.

  • уведомление, содержащее txnType:LOAN_ISSUEи actionType:LOAN_ISSUE — о попытке выдаче займа;
  • уведомление, содержащее PURCHASE_POS/PURCHASE_E_POS и actionType:HOLD — об попытке холдирования средств в рамках покупки в офлайн-магазине.

Обратите внимание

Попытка может завершиться как успешно, так и неуспешно. Информация об этом содержится в actionStatus.

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

Обратите внимание

Наличие параметра correlationId в уведомлении об успешном холдировании средств в рамках покупки не говорит о том, что в рамках этой покупки был выдан заём. Партнёру необходимо ориентироваться на наличие уведомления об операции типа LOAN_ISSUE. Чтобы связать два уведомления, партнёру необходимо:

  • прочитать значение correlationId из уведомления о выдаче займа;
  • найти у себя в системе уведомление о холдировании средств в рамках покупки с точно таким же значением correlationId.

Если найти подходящее уведомление не удалось — следует дождаться его появления.

Оба уведомления содержат параметр transactionAmount, который говорит о:

  • сумме, которую пытались захолдировать на счёте клиента в рамках совершения покупки — в уведомлении типа PURCHASE_POS/PURCHASE_E_POS;
  • сумме, на которую пытались выдан заём — в уведомлении типа LOAN_ISSUE.

Значение transactionAmount в уведомлениях типа LOAN_ISSUE и PURCHASE_POS/PURCHASE_E_POS может:

  • совпадать — если на момент выдачи займа на счёте клиента было 0 рублей (то есть заём выдан на полную стоимость покупки);
  • отличаться — если на момент выдачи займа на счёте клиента было более 0 рублей (то есть заём выдан не на полную стоимость покупки, а за вычетом уже имеющихся у клиента средств).

Пример

На момент совершения покупки и, соответственно, принятия решения о выдаче займа на счёте клиента имеются 10 рублей. Эти средства доступны для использования. Стоимость покупки составляет 100 рублей. Клиенту выдан заём на сумму 90 рублей. Покупка успешна. Партнёр получает два уведомления:

  • c txnType:PURCHASE_POS и value.transactionAmount:100
  • c txnType:LOAN_ISSUE и value.transactionAmount:90.

Решение об успешности выдачи займа

На основании уведомления партнёр может принимать нефинансовые решения — базировать на них бизнес-логику информационного взаимодействия, коммуникацию с клиентом.

На основании сверочного платёжного реестра партнёр должен принимать решение о взаиморасчетах с участниками процесса выдачи займа в рамках совершения покупки (в частности с BaaS).

Пример

Партнёр не получил от BaaS уведомление о выдаче займа, но реестр содержит запись о выдаче займа. Реестр является самым достоверным источником информации и партнёру следует зафиксировать факт выдачи займа на своей стороне.