Пополнение электронных кошельков, банковских счетов и баланса телефонов
По закону при пополнении электронного кошелька, банковского счета или баланса телефона нужно проверять получателя оплаты — владельца платежного средства, на которое поступают деньги. Для этого при проведении платежа необходимо сообщать ЮKassa реквизиты получателя, например номер пополняемого кошелька.
Если вы используете старое решение и передаете реквизиты в объекте
fraud_data
, читайте эти статьи:Как это работает
Когда пользователь переходит к пополнению кошелька, счета или баланса телефона, вы создаете платеж в ЮKassa и дополнительно передаете в нём реквизиты получателя. Их необходимо добавлять к запросу при каждом платеже, даже если проводите автоплатеж (платеж с использованием сохраненного способа оплаты). Данные нужны только в запросе на создание платежа, остальные запросы стандартные.
Реквизиты получателя обязательны, если пользователь выбрал для оплаты банковскую карту, Mir Pay или ЮMoney (кошелек или привязанные к нему карты). В остальных случаях ЮKassa проигнорирует реквизиты.
Для проведения платежа подойдет любой сценарий интеграции:
- Если используете Умный платеж, виджет ЮKassa, Checkout.js, мобильные SDK, передавайте реквизиты в каждом запросе.
- Если используете самостоятельную интеграцию, данные нужны только для банковской карты и ЮMoney, в остальных случаях реквизиты можно не передавать.
Подробнее о том, как провести платеж:
- Пополнение электронного кошелька
- Пополнение банковского счета, открытого в вашей системе
- Пополнение баланса телефона
Пополнение электронного кошелька
Создайте платеж: отправьте ЮKassa запрос с данными для аутентификации, ключом идемпотентности, суммой и валютой платежа и данными для выбранного сценария интеграции. В запрос добавьте объект
receiver
и передайте в нём эти данные:- код получателя оплаты
digital_wallet
; - номер кошелька, баланс которого хотите пополнить.
Пример запроса на создание платежа при пополнении электронного кошелька (на примере оплаты банковской картой)
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "2.00", "currency": "RUB" }, "capture": true, "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Заказ №72", "receiver": { "type": "digital_wallet", "account_number": "4100116075156746" } }'
В объекте платежа объект
receiver
не возвращается.Пополнение банковского счета, открытого в вашей системе
Создайте платеж: отправьте ЮKassa запрос с данными для аутентификации, ключом идемпотентности, суммой и валютой платежа и данными для выбранного сценария интеграции. В запрос добавьте объект
receiver
и передайте в нём эти данные:- код получателя оплаты
bank_account
; - номер банковского счета, который хотите пополнить;
- БИК банка, в котором открыт счет.
Пример запроса на создание платежа при пополнении счета (на примере оплаты банковской картой)
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "2.00", "currency": "RUB" }, "capture": true, "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Заказ №72", "receiver": { "type": "bank_account", "account_number": "10000000000000000001", "bic": "044030653" } }'
В объекте платежа объект
receiver
не возвращается.Пополнение баланса телефона
Создайте платеж: отправьте ЮKassa запрос с данными для аутентификации, ключом идемпотентности, суммой и валютой платежа и данными для выбранного сценария интеграции. В запрос добавьте объект
receiver
и передайте в нём эти данные:- код получателя оплаты
mobile_balance
; - номер телефона, баланс которого хотите пополнить.
Пример запроса на создание платежа при пополнении баланса телефона (на примере оплаты банковской картой)
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "2.00", "currency": "RUB" }, "capture": true, "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Заказ №72", "receiver": { "type": "mobile_balance", "phone": "79000000000" } }'
В объекте платежа объект
receiver
не возвращается.Что почитать еще