Если через вашу систему можно пополнить баланс мобильного или стационарного телефона, то по требованию НСПК при платеже необходимо дополнительно передавать номер пополняемого телефона.
В этой статье описано, как это сделать по API ЮKassa при проведении обычных платежей и автоплатежей.
Если вы пополняете баланс мобильного или стационарного телефона, вам нужно в запросе на создание платежа
дополнительно передавать номер пополняемого телефона. Номер нужно передавать для любого сценария интеграции.
При подтверждении и отмене платежа номер телефона передавать не нужно.
Если у вас подключены автоплатежи, при пополнении баланса тоже нужно передавать номер телефона. Подробнее об особенностях проведения автоплатежей при пополнении баланса телефона
Создайте платеж
: отправьте ЮKassa запрос с данными для аутентификации, ключом идемпотентности, суммой и валютой платежа и данными для оплаты выбранным способом. Дополнительно в объекте
fraud_data
, в параметре topped_up_phone
, передайте номер телефона, который вы хотите пополнить. Пример: 79110000000
Пример запроса на создание платежа с передачей пополняемого номера телефона (на примере оплаты банковской картой)
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "100.00", "currency": "RUB" }, "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Пополнение баланса телефона", "fraud_data": { "topped_up_phone": "79000000000" } }'
В объекте платежа объект
fraud_data
с номером телефона не возвращается.Если у вас подключены автоплатежи, вы можете сохранять способ оплаты и использовать его при пополнении баланса телефона.
Есть два варианта, как сохранить способ оплаты:
- Только для пополнения телефонов — вы можете использовать сохраненный способ оплаты для пополнения баланса телефонов. Для других операций сохраненный способ оплаты не подойдет.
- Для любых операций — вы можете использовать сохраненный способ оплаты для любых операций, в том числе для пополнения телефонов.
При создании платежа с сохранением способа оплаты передайте номер пополняемого телефона.
Пример запроса на создание платежа с сохранением способа оплаты для пополнения баланса телефонов (на примере оплаты банковской картой)
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "100.00", "currency": "RUB" }, "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Пополнение баланса телефона", "save_payment_method": "true", "fraud_data": { "topped_up_phone": "79000000000" } }'
При повторных платежах номер можно не передавать. Если вы передадите другой номер при повторном платеже, то ЮKassa отправит в НСПК его, а не тот номер, который вы передавали при сохранении способа оплаты.
Пример запроса на создание повторного платежа сохраненным способом оплаты для пополнения баланса телефонов
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "100.00", "currency": "RUB" }, "capture": true, "payment_method_id": "<Идентификатор сохраненного способа оплаты>", "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Пополнение баланса телефона", "save_payment_method": "true", "fraud_data": { "topped_up_phone": "79111111111" } }'
При создании платежа с сохранением способа оплаты не передавайте номер пополняемого телефона.
Пример запроса на создание платежа с сохранением способа оплаты для проведения любых операций (на примере оплаты банковской картой)
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "100.00", "currency": "RUB" }, "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" } }'
При повторных платежах передавайте номер телефона только в случае, если вы проводите операцию по пополнению баланса.
Пример запроса на создание повторного платежа сохраненным способом оплаты для пополнения баланса телефонов
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "100.00", "currency": "RUB" }, "capture": true, "payment_method_id": "<Идентификатор сохраненного способа оплаты>", "payment_method_data": { "type": "bank_card" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Пополнение баланса телефона", "save_payment_method": "true", "fraud_data": { "topped_up_phone": "79000000000" } }'
Сценарии интеграцииСоздание платежа в справочнике API ЮKassaОтправка чеков в налоговую