Payments with YooMoney wallets
You can accept payments with YooMoney wallets, including:
Payments made with YooMoney wallets are refunded in a standard way.
How to make a payment
All parameters are passed in plain text. Do not use our widgets.
-
Send a
/session/init/paymentrequest. Optionally, you can pass a URL inpayment_options.return_urlfor redirecting the payer back after the payment.The payment amount limits depend on the YooMoney wallet level.
Request example
curl -X POST \https://demo.bank131.ru/api/v1/session/init/payment \-H 'Content-Type: application/json' \-H 'X-PARTNER-PROJECT: your_project_name' \-H 'X-PARTNER-SIGN: signature' \-d '{"payment_details": {"type": "wallet","wallet": {"type": "yoomoney","yoomoney": {}}},"amount_details": {"amount": 25420,"currency": "rub"},"metadata": {"key": "value"},"customer": {"reference": "lucky","contacts": [{"email": "test@mail.net"}]},"payment_options": {"return_url": "https://www.131.ru","description": "description"}}' -
Wait for a
ready_to_confirmwebhook from Bank 131 when Bank 131 is ready to process the payment and is waiting for your confirmation.Webhook example
curl -X POST \https://partner.ru \-H 'content-type: application/json' \-H 'X-PARTNER-SIGN: signature' \-d '{"type": "ready_to_confirm","session": {"id": "ps_3821809","status": "in_progress","created_at": "2025-11-05T08:33:46.121130Z","updated_at": "2025-11-05T08:33:46.290108Z","acquiring_payments": [{"id": "pm_2775568","status": "pending","created_at": "2025-11-05T08:33:46.190121Z","customer": {"reference": "lucky","contacts": [{"email": "test@mail.net"}]},"payment_details": {"type": "wallet","wallet": {"type": "yoomoney","yoomoney": {}}},"amount_details": {"amount": 25420,"currency": "RUB"},"amounts": {},"metadata": {"key": "value"},"payment_options": {"recurrent": false,"description": "description"}}],"next_action": "confirm"}}' -
Confirm (
session/confirm) or cancel (session/cancel) the payment. -
Wait for an
action_requiredwebhook from Bank 131 and redirect the payer using the link fromcustomer_interaction.redirect.url.infoAfter the
action_requiredwebhook arrives, the payer has 20 minutes to confirm the payment.Webhook example
curl -X POST \https://partner.ru \-H 'content-type: application/json' \-H 'X-PARTNER-SIGN: signature' \-d '{"type": "action_required","session": {"id": "ps_3821809","status": "in_progress","created_at": "2025-11-05T08:33:46.121130Z","updated_at": "2025-11-05T08:34:31.887997Z","acquiring_payments": [{"id": "pm_2775568","status": "pending","created_at": "2025-11-05T08:33:46.190121Z","customer": {"reference": "lucky","contacts": [{"email": "test@mail.net"}]},"payment_details": {"type": "wallet","wallet": {"type": "yoomoney","yoomoney": {}}},"amount_details": {"amount": 25420,"currency": "RUB"},"amounts": {},"customer_interaction": {"type": "redirect","redirect": {"url": "https://yoomoney.ru/checkout/payments/v2/contract?orderId=309d1fd7-000f-5001-8000-1e9f64506f41","base_url": "https://yoomoney.ru/checkout/payments/v2/contract","method": "GET","qs": {"orderId": "309d1fd7-000f-5001-8000-1e9f64506f41"},"params": {}}},"metadata": {"key": "value"},"payment_options": {"recurrent": false,"description": "description"}}],"actions": {"confirm": "2025-11-05T08:34:31.626530Z"}}}' -
If you make delayed capture payments, wait for a
ready_to_capturewebhook and then either confirm (session/capture) or cancel (session/cancel) the capture.Webhook example
curl -X POST \https://partner.ru \-H 'content-type: application/json' \-H 'X-PARTNER-SIGN: signature' \-d '{"type": "ready_to_capture","session": {"id": "ps_3821809","status": "in_progress","created_at": "2025-11-05T08:33:46.121130Z","updated_at": "2025-11-05T08:44:33.115425Z","acquiring_payments": [{"id": "pm_2775568","status": "pending","created_at": "2025-11-05T08:33:46.190121Z","customer": {"reference": "lucky","contacts": [{"email": "test@mail.net"}]},"payment_details": {"type": "wallet","wallet": {"type": "yoomoney","yoomoney": {}}},"amount_details": {"amount": 25420,"currency": "RUB"},"amounts": {},"metadata": {"key": "value"},"payment_options": {"recurrent": false,"description": "description"}}],"next_action": "capture","actions": {"confirm": "2025-11-05T08:34:31.626530Z"}}}' -
Wait for a
payment_finishedwebhook. See the payment results in thestatusparameter of theacquiring_payments/payment_listarray.If the status is
succeeded, the payment was successful. If the status isfailed, an error occurred during the payment.Webhook example
curl -X POST \https://partner.ru \-H 'content-type: application/json' \-H 'X-PARTNER-SIGN: signature' \-d '{"type": "payment_finished","session": {"id": "ps_3821809","status": "accepted","created_at": "2025-11-05T08:33:46.121130Z","updated_at": "2025-11-05T08:45:19.857746Z","acquiring_payments": [{"id": "pm_2775568","status": "succeeded","created_at": "2025-11-05T08:33:46.190121Z","finished_at": "2025-11-05T08:45:19.781451Z","customer": {"reference": "lucky","contacts": [{"email": "test@mail.net"}]},"payment_details": {"type": "wallet","wallet": {"type": "yoomoney","yoomoney": {}}},"amount_details": {"amount": 5000,"currency": "RUB"},"amounts": {},"metadata": {"key": "value"},"payment_options": {"recurrent": false,"description": "description"}}],"actions": {"confirm": "2025-11-05T08:34:31.626530Z","capture": "2025-11-05T08:45:18.934056Z"}}}'
Recurring payments
CIT recurring payments with YooMoney wallets are not supported.
To make MIT recurring payments with YooMoney wallets:
-
Get a token by sending
recurrent=truein thepayment_optionsobject. If the payment is successful, you will get the token in thepayment_finishedwebhook in therecurrent.tokenparameter.Request example
curl -X POST \https://demo.bank131.ru/api/v1/session/init/payment \-H 'Content-Type: application/json' \-H 'X-PARTNER-PROJECT: your_project_name' \-H 'X-PARTNER-SIGN: signature' \-d '{"payment_details": {"type": "wallet","wallet": {"type": "yoomoney","yoomoney": {}}},"amount_details": {"amount": 25420,"currency": "rub"},"metadata": {"key": "value"},"customer": {"reference": "lucky","contacts": [{"email": "test@mail.net"}]},"payment_options": {"return_url": "https://www.131.ru","description": "description","recurrent": "true"}}' -
Use the token to make recurring payments.
Request example
curl -X POST \https://proxy.bank131.ru/api/v1/session/init/payment \-H 'Content-Type: application/json' \-H 'X-PARTNER-PROJECT: your_project_name' \-H 'X-PARTNER-SIGN: signature' \-d '{"payment_details": {"type": "recurrent","recurrent": {"token": "e9876f32bcd947f79c324cf2da5726304a894f6ae2037de7705fdb3e0a134d39"}},"amount_details": {"amount": 1000,"currency": "RUB"},"metadata": {"key": "value"},"customer": {"reference": "lucky","contacts": [{"email": "test@mail.net"}]}}'
Payment diagram
