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

Перевод между кошельками

Клиент может перевести средства с одного кошелька на другой. В этом случае средства:

  • списываются со счёта клиента-отправителя;
  • зачисляются на счёт клиента-получателя.

Процесс перевода

Для перевода средств с одного кошелька на другой необходимо отправить запрос к Payments API. Успешный сценарий перевода изображён ниже.

%%{init: {
    "sequence" : {
        "wrap":true,
        "messageFontSize":15,
        "noteFontSize":14,
        "actorMargin":
        75 }}}%%
sequenceDiagram
    participant С as Клиент
    participant P as Партнёр
    participant B as BaaS
    С->>P: Перевод на кошелёк
    P->>+B: Запрос на перевод
    Note over P, B: productId, transactionId, fromClientId, toClientId, transactionAmount
    B->>-P: Ответ на запрос совершения перевода
    Note over P, B: productId, transactionId, fromClientId, toClientId, transactionAmount, "status": "SUCCESS"
    rect rgb(255, 238, 223)
    P->>+B: Сценарий «Решение об успешности платежа»
    B-->>-P: 
    Note left of B: status:SUCCESS
    end
    P->>С: Коммуникация с клиентом

Запрос описан в документации Payments API. Сценарий принятия решения об успешности платежа см. в статье «Общие принципы и правила» → «Решение об успешности платежа» → «Синхронный вариант проведения платежа».

Жизненный цикл операции перевода средств между кошельками описан в этом разделе.

Жизненный цикл операции перевода

Жизненный цикл операции перевода средств между кошельками аналогичен жизненному циклу операции выплаты средств на кошелёк.

Запись в истории платежей

В истории платежей операция перевода средств между кошельками содержит следующие атрибуты:

  • clientId и accountId;
  • anotherClientId и anotherAccountId.

Если история запрошена по получателю платежа, считается, что запись в истории относится к операции пополнения (txnClientBalanceImpact:INCOME) и эти атрибуты принимают следующие значения:

  • clientId и accountId — идентификатор клиента и счёта получателя;
  • anotherClientId и anotherAccountId — идентификатор клиента и счёта отправителя.

Если история запрошена по отправителю платежа, считается, что запись в истории относится к расходной операции (txnClientBalanceImpact:EXPENSE) и эти атрибуты принимают следующие значения:

  • clientId и accountId — идентификатор клиента и счёта отправителя;
  • anotherClientId и anotherAccountId — идентификатор клиента и счёта получателя.

Правила и ограничения

См. «Пополнение» → «Правила и ограничения» → «Общие правила».

Тестирование

Сценарий перевода средств между кошельками можно пройти в тестовой среде. Для этого необходимо отправлять запросы на соответствующие URL-адреса.

Общие правила тестирования см. в данной статье.