В этой статье описаны особенности и порядок проведения выплат на банковские карты с использованием синонима карты, полученного с помощью виджета для сбора данных.
Чтобы сделать выплату на банковскую карту:
- Получите данные банковской карты.
- Проведите выплату с полученными данными.
Для проведения выплаты вам нужно получить с помощью виджета синоним банковской карты. Если у вас уже есть синоним нужной карты, можно использовать его. Если нет, получите синоним с помощью виджета:
Шаг 2. Когда пользователь введет номер карты, обработайте полученный результат.
Создайте выплату
: отправьте ЮKassa запрос с данными для аутентификации, ключом идемпотентности и данными для выплаты на банковскую карту:
- в объекте
amount
передайте сумму, которую нужно выплатить пользователю; сумма должна укладываться в лимиты; - в параметре
description
передайте описание выплаты; - в параметре
payout_token
передайте полученный синоним банковской карты (значение параметраpayout_token
, полученного от виджета).
Пример запроса на создание выплаты
curl https://api.yookassa.ru/v3/payouts \ -X POST \ -u <Идентификатор шлюза>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "100.00", "currency": "RUB" }, "payout_token": "<Синоним банковской карты>", "description": "Выплата по заказу №1", "metadata": { "order_id": "37" } }'
В ответ на запрос ЮKassa вернет созданный объект выплаты .
Пример созданного объекта выплаты
{ "id": "po-285ec15d-0003-5000-a000-08d1bec7dade", "amount": { "value": "100.00", "currency": "RUB" }, "status": "pending", "payout_destination": { "type": "bank_card", "card": { "first6": "555555", "last4": "4477", "card_type": "MIR", "issuer_country": "RU", "issuer_name": "Sberbank Of Russia" } }, "description": "Выплата по заказу №37", "created_at": "2021-06-21T14:28:45.132Z", "metadata": { "order_id": "37" }, "test": false }
Если вы получили объект выплаты в статусе
pending
, дождитесь, когда статус изменится на succeeded
или canceled
. Для этого повторяйте запрос с тем же ключом идемпотентности или запрашивайте информацию о выплате методом GET с возрастающим разумным интервалом.Пример запроса на получение информации о выплате
curl https://api.yookassa.ru/v3/payouts/{payout_id} \ -X GET \ -u <Идентификатор шлюза>:<Секретный ключ> \
Пример объекта выплаты в статусе succeeded
{ "id": "po-285ec15d-0003-5000-a000-08d1bec7dade", "amount": { "value": "100.00", "currency": "RUB" }, "status": "succeeded", "payout_destination": { "type": "bank_card", "card": { "first6": "555555", "last4": "4477", "card_type": "MIR", "issuer_country": "RU", "issuer_name": "Sberbank Of Russia" } }, "description": "Выплата по заказу №37", "created_at": "2021-06-21T14:28:45.132Z", "metadata": { "order_id": "37" }, "test": false }
Выплаты самозанятымТестирование выплатНеуспешные выплатыКоды ответа (состояния) HTTP