Выплаты на карты с самостоятельным получением данных карты
Чтобы делать выплаты по номеру карты, вам нужно получить сертификат на соответствие требованиям PCI DSS и сообщить менеджеру ЮKassa, что вы хотите собирать данные карты самостоятельно.
Если у вас нет сертификата PCI DSS, используйте виджет для выплат.
Чтобы сделать выплату на банковскую карту по номеру карты:
- Получите данные банковской карты.
- Проведите выплату с полученными данными.
Если вы хотите, чтобы в выписках из реестра выплат отображалась информация о получателе выплаты (например, для госорганов), перед проведением выплаты сохраните данные о получателе в ЮKassa и затем передайте идентификатор сохраненных данных в запросе на создание выплаты. Подробнее о передаче данных получателя выплаты для выписок
Для проведения выплаты вам понадобится номер банковской карты. Получите его любым удобным вам способом.
Создайте выплату : отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для выплаты на банковскую карту:
- в объекте
amount
передайте сумму, которую нужно выплатить пользователю; сумма должна укладываться в лимиты; - в параметре
description
передайте описание выплаты; - в объекте
payout_destination_data
передайте код вида выплатыbank_card
и номер банковской карты, на которую нужно сделать перевод; - если проводите выплату с передачей данных получателя для выписки из реестра, в массиве
personal_data
передайте идентификатор персональных данных.
Пример запроса на создание выплаты
cURL
curl https://api.yookassa.ru/v3/payouts \ -X POST \ -u <Gateway ID>: <Secret Key> \ -H 'Idempotence-Key: <Idempotence Key>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "5.00", "currency": "RUB" }, "payout_destination_data": { "type": "bank_card", "card": { "number": "5555555555554477" } }, "description": "Payout for order No. 37", "metadata": { "order_id": "37" } }'
В ответ на запрос ЮKassa вернет созданный объект выплаты .
Пример созданного объекта выплаты
JSON
{ "id": "po-285ec15d-0003-5000-a000-08d1bec7dade", "amount": { "value": "5.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": "Payout for order No. 37", "created_at": "2021-06-21T14:28:45.132Z", "metadata": { "order_id": "37" }, "test": false }
Если вы получили объект выплаты в статусе
pending
, дождитесь, когда статус изменится на succeeded
или canceled
. Wait for the YooMoney notification or request payout information with an increasing reasonable interval.Пример запроса на получение информации о выплате
cURL
curl https://api.yookassa.ru/v3/payouts/{payout_id} \ -X GET \ -u <Gateway ID>:<Secret Key> \
Пример объекта выплаты в статусе succeeded
JSON
{ "id": "po-285ec15d-0003-5000-a000-08d1bec7dade", "amount": { "value": "5.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": "Payout for order No. 37", "created_at": "2021-06-21T14:28:45.132Z", "metadata": { "order_id": "37" }, "test": false }
See also