Adding money to e-wallets, bank accounts, and phone balance
By law, when adding money to e-wallet, bank account, or phone balance, a payment receiver (an owner of the means of payment used to recieve the money) must be verified. For this purpose, when processing a payment, you need to submit the receiver's details (e.g. a wallet number) to YooMoney.
If you use an old solution and send the details in a
fraud_data
object, please read these articles:How it works
When a user starts adding money to a wallet, account, or phone balance, you create a payment in YooMoney and send the receiver's details. They need to be added to the request each time you process a payment or autopayment (a payment made using a saved payment method). The details are only required for a payment creation request, other requests are formed in a standard way.
If a user is paying by bank card, via Mir Pay, or YooMoney (using wallet or cards linked to it), the receiver's details need to be specified in the request. In other cases, YooMoney will skip the details.
To process the payment, you can select any integration scenario:
- If you use a Smart payment, YooMoney widget, Checkout.js, or mobile SDKs, submit the details in every request.
- If you use the manual integration, the details are only required for bank cards and YooMoney, in other cases you don't have to send them.
Learn more about processing payments:
- Adding money to e-wallet
- Adding money to bank account created in your system
- Adding money to phone balance
Adding money to e-wallet
Create a payment : send YooMoney a request with information for authentication, the idempotency key, amount and currency of the payment as well as payment details for the selected integration scenario. Add a
receiver
object in the request and specify the following details:- a payment receiver code
digital_wallet
; - a wallet number where money should be added.
Example of a request for creating a payment when adding money to e-wallet (based on a payment via a bank card)
cURL
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Shop ID>:<Secret Key> \ -H 'Idempotence-Key: <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": "Order No. 72", "receiver": { "type": "digital_wallet", "account_number": "4100116075156746" } }'
The
receiver
object in the payment object is not returned.Adding money to bank account created in your system
Create a payment : send YooMoney a request with information for authentication, the idempotency key, amount and currency of the payment as well as payment details for the selected integration scenario. Add a
receiver
object in the request and specify the following details:- a payment receiver code
bank_account
; - a bank account number where money should be added;
- BIC of the bank where the account was created.
Example of a request for creating a payment when adding money to bank account (based on a payment via a bank card)
cURL
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Shop ID>:<Secret Key> \ -H 'Idempotence-Key: <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": "Order No. 72", "receiver": { "type": "bank_account", "account_number": "10000000000000000001", "bic": "044030653" } }'
The
receiver
object in the payment object is not returned.Adding money to phone balance
Create a payment : send YooMoney a request with information for authentication, the idempotency key, amount and currency of the payment as well as payment details for the selected integration scenario. Add a
receiver
object in the request and specify the following details:- a payment receiver code
mobile_balance
; - a phone number balance where money should be added.
Example of a request for creating a payment when adding money to phone balance (based on a payment via a bank card)
cURL
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Shop ID>:<Secret Key> \ -H 'Idempotence-Key: <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": "Order No. 72", "receiver": { "type": "mobile_balance", "phone": "79000000000" } }'
The
receiver
object in the payment object is not returned.See also