- Тип способа оплаты в API:
bank_card
- Сценарий подтверждения: Redirect
- Срок оплаты: 1 час
- Холдирование: 7 дней
- Код в реестре: AC
- Возврат: да, полный и частичный
- Срок возврата: от 0 до 3 дней (зависит от эмитента)
- Автоплатежи: да
- Лимиты: минимальный размер платежа — 1 рубль, максимальный — 250 000 рублей, есть дополнительные ограничения
Готовые решения:
- Умный платеж
- Виджет ЮKassa
- Мобильные SDK для iOS и Android
- Платежная форма для веба в вашем дизайне — Checkout.js
Самостоятельная интеграция:
В этом сценарии после создания платежа вы перенаправляете пользователя на страницу ЮKassa, где он выбирает способ оплаты и подтверждает платеж.
Платежная форма при оплате с устройства на Android
Шаг 1. Создайте платеж , в объекте
payment_method_data
передайте тип bank_card
, в объекте confirmation
передайте тип redirect
и адрес страницы на вашей стороне, на которую вернется пользователь (в параметре return_url
).Пример запроса
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" }, "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Заказ №72" }'
Шаг 2. Перенаправьте пользователя на страницу ЮKassa (ссылка на нее придет в параметре
confirmation_url
). На этой странице пользователь введет данные карты и подтвердит платеж.Пример созданного объекта платежа
{ "id": "22c5d173-000f-5000-9000-1bdf241d4651", "status": "pending", "paid": false, "amount": { "value": "2.00", "currency": "RUB" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url", "confirmation_url": "https://yoomoney.ru/payments/external/confirmation?orderId=22c5d173-000f-5000-9000-1bdf241d4651" }, "created_at": "2021-04-12T13:59:33.681Z", "description": "Заказ №72", "metadata": {}, "payment_method": { "type": "bank_card", "id": "22c5d173-000f-5000-9000-1bdf241d4651", "saved": false }, "recipient": { "account_id": "100500", "gateway_id": "100700" }, "refundable": false, "test": false }
Если оплата не прошла (например, не хватило денег), ЮKassa отобразит пользователю сообщение об ошибке и предложит попробовать оплатить еще раз.
Шаг 3. Дождитесь успешного завершения платежа: подождите, когда придет уведомление от ЮKassa, или периодически отправляйте запросы, чтобы получить информацию о платеже .
Пример успешного платежа при оплате банковской картой
{ "id": "22c5d173-000f-5000-9000-1bdf241d4651", "status": "succeeded", "paid": true, "amount": { "value": "2.00", "currency": "RUB" }, "captured_at": "2021-04-12T13:59:33.681Z", "created_at": "2021-04-12T13:49:33.026Z", "income_amount": { "value": "2.00", "currency": "RUB" }, "payment_method": { "type": "bank_card", "id": "22e12f66-000f-5000-8000-18db351245c7", "saved": false, "card": { "first6": "555555", "last4": "4444", "expiry_month": "01", "expiry_year": "2030", "card_type": "MasterCard", "issuer_country": "RU", "issuer_name": "Sberbank" } }, "recipient": { "account_id": "100500", "gateway_id": "100700" }, "refundable": true, "refunded_amount": { "value": "0.00", "currency": "RUB" }, "test": false, "authorization_details": { "rrn": "10000000000", "auth_code": "000000", "three_d_secure": { "applied": false } } }
Если пользователь провел оплату через Mir Pay, в объекте
payment_method.card
, в параметре source
, возвращается значение mir_pay
.Пример успешного платежа через Mir Pay
{ "id": "22e12f66-000f-5000-8000-18db351245c7", "status": "succeeded", "paid": true, "amount": { "value": "2.00", "currency": "RUB" }, "captured_at": "2021-04-12T13:59:33.681Z", "created_at": "2021-04-12T13:49:33.026Z", "income_amount": { "value": "2.00", "currency": "RUB" }, "payment_method": { "type": "bank_card", "id": "22e12f66-000f-5000-8000-18db351245c7", "saved": false, "card": { "first6": "555555", "last4": "4444", "expiry_month": "01", "expiry_year": "2030", "card_type": "MasterCard", "issuer_country": "RU", "issuer_name": "Sberbank", "source": "mir_pay" } }, "recipient": { "account_id": "100500", "gateway_id": "100700" }, "refundable": true, "refunded_amount": { "value": "0.00", "currency": "RUB" }, "test": false, "authorization_details": { "rrn": "10000000000", "auth_code": "000000", "three_d_secure": { "applied": false } } }
Шаг 1. Создайте платеж , в объекте
payment_method_data
передайте тип bank_card
и объект card
с данными банковской карты, в объекте confirmation
передайте тип redirect
и адрес страницы на вашей стороне, на которую пользователь вернется после оплаты (в параметре return_url
).Пример запроса
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" }, "payment_method_data": { "type": "bank_card", "card": { "cardholder": "MR CARDHOLDER", "csc": "213", "expiry_month": "01", "expiry_year": "2020", "number": "5469550010800081" } }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Заказ №72" }'
Шаг 2. Перенаправьте пользователя на страницу аутентификации по 3-D Secure (ссылка на нее придет в параметре
confirmation_url
).Пример созданного объекта платежа
{ "id": "22c5d173-000f-5000-9000-1bdf241d4651", "status": "succeeded", "paid": true, "amount": { "value": "2.00", "currency": "RUB" }, "captured_at": "2021-04-12T13:59:33.681Z", "created_at": "2021-04-12T13:49:33.026Z", "income_amount": { "value": "2.00", "currency": "RUB" }, "payment_method": { "type": "bank_card", "id": "22e12f66-000f-5000-8000-18db351245c7", "saved": false, "card": { "first6": "555555", "last4": "4444", "expiry_month": "01", "expiry_year": "2030", "card_type": "MasterCard", "issuer_country": "RU", "issuer_name": "Sberbank" } }, "recipient": { "account_id": "100500", "gateway_id": "100700" }, "refundable": true, "refunded_amount": { "value": "0.00", "currency": "RUB" }, "test": false, "authorization_details": { "rrn": "10000000000", "auth_code": "000000", "three_d_secure": { "applied": false } } }
Шаг 3. Дождитесь успешного завершения платежа: подождите, когда придет уведомление от ЮKassa, или периодически отправляйте запросы, чтобы получить информацию о платеже .
Вы можете отключить 3-D Secure, тогда передавать объект
confirmation
не нужно. Если вы хотите запросить прохождение 3-D Secure пользователем, в объекте confirmation
передайте тип redirect
, адрес страницы на вашей стороне, на которую пользователь вернется после оплаты (в параметре return_url
) и параметр enforce
со значением true
.Основы проведения платежейНеуспешные платежиОтправка чеков в налоговуюТестирование платежей