Самостоятельная интеграция
Самый гибкий способ интеграции с ЮKassa: вы самостоятельно выбираете, какие способы оплаты отобразить пользователю, как их отсортировать, как пользователю подтвердить платеж.
Подготовка
При самостоятельной интеграции вы максимально контролируете взаимодействие с пользователем: ЮKassa берёт на себя только взаимодействие с платежными системами и сервисами. Вам необходимо самостоятельно реализовать следующие шаги процесса оплаты:
- выбор способа оплаты (если у вас несколько способов оплаты);
- получение от пользователя данных для оплаты выбранным способом (для некоторых способов оплаты);
- объяснение пользователю, как подтвердить платеж (для некоторых способов оплаты);
- сообщение пользователю результатов проведения платежа.
Проведение платежа
В этом разделе описана общая инструкция проведения платежа при самостоятельной интеграции. Ссылки на подробные инструкции по интеграции каждого способа оплаты приведены в разделе Способы оплаты и варианты интеграции.
Шаг 1. Когда пользователь перейдет к оплате, отобразите ему вашу платежную форму. Дождитесь, когда пользователь выберет в вашем интерфейсе способ оплаты, при необходимости введет свои платежные данные (например, логин в интернет-банке) и подтвердит готовность продолжить оплатить (например, нажмет кнопку Заплатить).
Шаг 2. Создайте платеж, передайте в запросе объект
payment_method_data
с выбранным способом оплаты и платежными данными и при необходимости объект confirmation
с информацией о сценарии подтверждения. В запросе можно передать дополнительные параметры, кроме payment_token
, payment_method_id
.Пример запроса при оплате банковской картой
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" }, "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Заказ №72" }'
Шаг 3. Реализуйте нужный сценарий подтверждения, например перенаправьте пользователя на
confirmation_url
, который придет в объекте платежа.Пример созданного объекта платежа
JSON
{ "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 }
Шаг 4. Дождитесь успешного завершения платежа: подождите, когда придет уведомление от ЮKassa, или периодически отправляйте запросы, чтобы получить информацию о платеже.
Шаг 5. Сообщите пользователю результат оплаты.
Шаг 6. Если вы проводите платеж в две стадии, подтвердите списание оплаты или отмените платеж. И сообщите пользователю финальный результат платежа.
Готово!
Способы оплаты и варианты интеграции
Выберите подходящие вам варианты интеграции способа оплаты в зависимости от сценария подтверждения платежа пользователем и необходимости собирать платежные данные на вашей стороне. Если указано, что сбор платежных данных не нужен, то в
payment_method_data
необходимо передать только код способа оплаты.Способ оплаты | Вариант интеграции | Сценарий подтверждения | Сбор платежных данных |
---|---|---|---|
Произвольные банковские карты | |||
Банковская карта bank_card | Оплата банковской картой на готовой странице ЮKassa | Redirect | ➖ |
Оплата с вводом данных на вашей стороне (PCI DSS) | Redirect | ✔️ | |
Платежи через приложения бесконтактной оплаты | |||
Mir Pay bank_card | Самостоятельной интеграции нет. Mir Pay будет доступен при оплате банковской картой на готовой странице ЮKassa совместно с другими способами оплаты. Отображать Mir Pay в виде отдельной кнопки можно только в виджете ЮKassa при определенных настройках. Подробнее про Mir Pay | ||
Электронные кошельки | |||
ЮMoney yoo_money | Оплата с подтверждением на сайте ЮMoney | Redirect | ➖ |
Оплата через приложения банков | |||
SberPay sberbank | Оплата с перенаправлением на страницу ЮKassa | Redirect | ➖ |
Оплата с подтверждением через пуш‑уведомление или смс | External | ✔️ | |
Оплата с перенаправлением в приложение банка (для мобильных устройств) | Mobile application | ➖ | |
Оплата с перенаправлением в приложение банка (для десктопа) | QR-код | ➖ | |
T-Pay tinkoff_bank | Оплата в приложении Т-Банка | Redirect | ➖ |
СБП (Система быстрых платежей) sbp | Оплата через СБП на готовой странице ЮKassa | Redirect | ➖ |
Кредитование | |||
«Покупки в кредит» от СберБанка sber_loan | Оплата в кредит или рассрочку от СберБанка на готовой странице ЮKassa | Redirect | ➖ |
BNPL-сервисы | |||
Плати частями sber_bnpl | Оплата на готовой странице ЮKassa | Redirect | ➖ |
Оплата с вводом номера на вашей стороне | Redirect | ✔️ | |
B2B-платежи | |||
СберБанк Бизнес Онлайн b2b_sberbank | Оплата в сервисе СберБанк Бизнес Онлайн | Redirect | ➖ |
Другие способы | |||
Баланс телефона mobile_balance | Оплата с баланса мобильного телефона | External | ✔️ |
Наличные cash | Оплата по коду подтверждения | Redirect | ✔️ (опционально) |
Электронный сертификат electronic_certificate | Оплата по сертификату на готовой странице ЮKassa | Redirect | ➖ |
Оплата по сертификату со сбором данных на вашей стороне (PCI DSS) | Redirect | ✔️ |
Что почитать еще