Перейти к основному содержимому

Платежи через кошелек ЮMoney

Вы можете принимать оплату через кошельки ЮMoney, включая:

Сценарий возврата платежей через ЮMoney ничем не отличается от стандартного.

к сведению

Платежи через ЮMoney проводятся без виджета Банка 131.

Шаг 1. Создайте платежную сессию​

Отправьте запрос на создание платежной сессии session/create. В ответе вы получите идентификатор сессии.

Вы можете создать сессию и платеж одновременно (session/init/payment). В этом случае сразу передайте параметры платежа и пропустите следующий шаг. Не рекомендуем использовать этот способ.

Шаг 2. Начните платеж​

Выполните запрос session/start/payment, передав идентификатор сессии и параметры платежа. Опционально передайте URL для возврата плательщика после оплаты в payment_options.return_url.

Максимальная сумма платежа ограничена уровнем кошелька ЮMoney плательщика — чем выше уровень, тем большую сумму можно списать.

Пример платежа
curl -X POST \
https://demo.bank131.ru/api/v1/session/start/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_1234",
"payment_details": {
"type": "wallet",
"wallet": {
"type": "yoomoney",
"yoomoney": {}
}
},
"amount_details": {
"amount": 25420,
"currency": "rub"
},
"metadata": {
"key": "value"
},
"customer": {
"reference": "lucky",
"contacts": [{
"email": "user@example.com"
}]
},
"payment_options": {
"return_url": "https://www.131.ru",
"description": "description"
}
}'

Шаг 3. Дождитесь вебхука о готовности платежа​

Банк 131 отправит вам вебхук ready_to_confirm о готовности провести платеж и ожидании вашего подтверждения или отмены.

Пример вебхука о готовности платежа
curl -X POST \
https://partner.ru \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "ready_to_confirm",
"session": {
"id": "ps_1234",
"status": "in_progress",
"created_at": "2025-11-05T08:33:46.121130Z",
"updated_at": "2025-11-05T08:33:46.290108Z",
"acquiring_payments": [{
"id": "pm_5566",
"status": "pending",
"created_at": "2025-11-05T08:33:46.190121Z",
"customer": {
"reference": "lucky",
"contacts": [{
"email": "user@example.com"
}]
},
"payment_details": {
"type": "wallet",
"wallet": {
"type": "yoomoney",
"yoomoney": {}
}
},
"amount_details": {
"amount": 25420,
"currency": "RUB"
},
"amounts": {},
"metadata": {
"key": "value"
},
"payment_options": {
"return_url": "https://www.131.ru",
"description": "description"
}
}],
"next_action": "confirm"
}
}'

Шаг 4. Подтвердите или отмените платеж​

Проверьте данные и подтвердите (session/confirm) или отмените (session/cancel) платеж.

Шаг 5. Дождитесь вебхука о дополнительных действиях​

Вебхук action_required приходит, когда плательщику нужно подтвердить списание в кошельке ЮMoney.

Перенаправьте плательщика по ссылке из параметра customer_interaction.redirect.url для подтверждения платежа ЮMoney.

Дождитесь, пока плательщик подтвердит списание в кошельке ЮMoney.

У плательщика будет 20 минут на подтверждение списания в кошельке ЮMoney с момента перехода по ссылке. Если не подтвердит вовремя, операция автоматически завершится со статусом cancelled.

Пример вебхука о дополнительных действиях
curl -X POST \
https://partner.ru \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "action_required",
"session": {
"id": "ps_1234",
"status": "in_progress",
"created_at": "2025-11-05T08:33:46.121130Z",
"updated_at": "2025-11-05T08:34:31.887997Z",
"acquiring_payments": [{
"id": "pm_5566",
"status": "pending",
"created_at": "2025-11-05T08:33:46.190121Z",
"customer": {
"reference": "lucky",
"contacts": [{
"email": "user@example.com"
}]
},
"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": {
"return_url": "https://www.131.ru",
"description": "description"
}
}],
"actions": {
"confirm": "2025-11-05T08:34:31.626530Z"
}
}
}'

Шаг 6. Дождитесь вебхука о результате платежа​

Банк 131 отправит вам вебхук payment_finished. Информация о результате платежа содержится в параметре status массива acquiring_payments/payment_list.

Статус succeeded означает, что оплата прошла успешно. Если статус failed — оплата не прошла из‑за ошибки.

Пример вебхука о результате платежа
curl -X POST \
https://partner.ru \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "payment_finished",
"session": {
"id": "ps_1234",
"status": "accepted",
"created_at": "2025-11-05T08:33:46.121130Z",
"updated_at": "2025-11-05T08:45:19.857746Z",
"acquiring_payments": [{
"id": "pm_5566",
"status": "succeeded",
"created_at": "2025-11-05T08:33:46.190121Z",
"finished_at": "2025-11-05T08:45:19.781451Z",
"customer": {
"reference": "lucky",
"contacts": [{
"email": "user@example.com"
}]
},
"payment_details": {
"type": "wallet",
"wallet": {
"type": "yoomoney",
"yoomoney": {}
}
},
"amount_details": {
"amount": 25420,
"currency": "RUB"
},
"amounts": {},
"metadata": {
"key": "value"
},
"payment_options": {
"return_url": "https://www.131.ru",
"description": "description"
}
}],
"actions": {
"confirm": "2025-11-05T08:34:31.626530Z",
"capture": "2025-11-05T08:45:18.934056Z"
}
}
}'

Схема платежа​

Посмотреть схему

Рекуррентные платежи MIT​

к сведению

Рекуррентные платежи CIT через кошельки ЮMoney не поддерживаются.

Проведите первичный платеж, чтобы получить рекуррентный токен. По этому токену вы можете проводить последующие платежи.

Получить рекуррентный токен​

При первичном платеже передайте в объекте payment_options значение recurrent=true. После успешного платежа в вебхуке payment_finished в параметре recurrent.token вернется токен.

Пример запроса
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": 1000,
"currency": "rub"
},
"metadata": {
"key": "value"
},
"customer": {
"reference": "lucky",
"contacts": [{
"email": "user@example.com"
}]
},
"payment_options": {
"return_url": "https://www.131.ru",
"description": "description",
"recurrent": true
}
}'

Провести платеж по токену​

Для этого вам понадобится рекуррентный токен, полученный при первичном платеже.

Пример запроса
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": "recurrent",
"recurrent": {
"token": "e9876f32bcd947f79c324cf2da5726304a894f6ae2037de7705fdb3e0a134d39"
}
},
"amount_details": {
"amount": 1000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"customer": {
"reference": "lucky",
"contacts": [{
"email": "user@example.com"
}]
}
}'

Подробнее о рекуррентных платежах MIT >

Какие бывают статусы платежа >

Посмотреть коды ошибок >