Система Быстрых Платежей (SBP)
Процесс проведения оплаты
Процесс проведения платежа этим методом содержит следующие этапы:
- Вы инициируете запрос на оплату.
- Система направляет запрос провайдеру платежного метода. СБП генерирует QR-код для проведения оплаты.
- Вы получаете ответ и перенаправляете клиента на полученный URL.
- Клиент получает QR-код и проводит оплату.
- Вам приходит автоматическое уведомление о статусе платежа, если в запросе на проведение оплаты был передан параметр
notification_url
.
Для данного альтернативного способа оплаты поддерживаются следующие операции:
Оплата
Запрос
Отправьте запрос оплаты со следующими дополнительными данными:
Параметр | Тип данных | Описание |
---|---|---|
method | object | Секция параметров способа оплаты. |
type * обязательный |
string | sbp |
Ответ
Ответ на запрос оплаты будет дополнительно содержать секцию form
со ссылкой для перехода к странице с QR-кодом. Направьте клиента на URL, переданный как значение параметра form.action
.
Запрос статуса операции
Запрос
Если необходимо дополнительно узнать статус платежа, отправьте запрос получения статуса платежа.
Ответ
Ответ будет содержать статус транзакции, секцию параметров способа оплаты, а также иную информацию о транзакции согласно описанию запроса получения статуса платежа.
Возврат средств клиенту
Запрос
Если необходимо вернуть платеж клиенту, отправьте запрос возврата средств c UID транзакции оплаты.
Ответ
Ответ будет содержать статус транзакции, а также иную информацию о транзакции согласно описанию запроса возврата средств.
Вариант интеграции SY
Процесс проведения оплаты
- Покупатель инициирует запрос на оплату.
- Торговец отправляет Freepayment запрос оплаты.
- Freepayment присылает в ответе URL на страницу СБП с QR-кодом для оплаты.
- Торговец перенаправляет покупателя на полученный URL. Транзакция имеет статус
pending
. - Покупатель нажимает/сканирует QR-код на странице СБП, выбирает банк из списка доступных и переходит в приложение банка, где подтверждает оплату.
- Freepayment высылает торговцу автоматическое уведомление со статусом оплаты.
- Торговец уведомляет покупателя о результате оплаты.
Для данного альтернативного способа оплаты поддерживается транзакция оплата:
Оплата
Запрос
Отправьте запрос оплаты со следующими дополнительными параметрами:
Параметр | Тип данных | Описание |
---|---|---|
request | object | |
ip *обязательный |
string | IP-адрес покупателя. |
return_url *обязательный |
string | URL, на который будет возвращен покупатель после завершения транзакции. |
notification_url | string | URL, на который торговец будет получать уведомления об оплате. |
customer | object | Секция информации о покупателе. В секции необходимо передать хотя бы один из параметров данных покупателя. |
email *условно обязательный |
string | Адрес электронной почты покупателя. |
phone *условно обязательный |
string (15) | Номер телефона покупателя с кодом страны. |
country *условно обязательный |
string (3) | Страна покупателя в формате ISO_3166-1_alpha-3. |
method | object | Секция параметров способа оплаты. |
type *обязательный |
string | sbp |
Пример запроса
{
"request": {
"amount": 100000,
"currency": "RUB",
"description": "description",
"test": false,
"ip": "127.0.0.1",
"language": "en",
"notification_url": "https://merchant.ltd/notification",
"return_url": "https://merchant.ltd/return",
"customer": {
"phone": "17777777777",
"email": "example@example.com"
},
"method": {
"type": "sbp"
}
}
}
Ответ
Ответ на запрос оплаты будет дополнительно содержать секцию form
со ссылкой для перехода к странице с QR-кодом. Направьте покупателя на URL, переданный как значение параметра form.action
.
Пример успешного ответа
{
"transaction": {
"uid": "12c34ec5-a678-9d1a-2345-f678d912c345",
"type": "payment",
"status": "pending",
"amount": 100000,
"currency": "RUB",
"description": "description",
"created_at": "2023-10-15T13:33:53Z",
"updated_at": "2023-10-15T13:33:54Z",
"method_type": "sbp",
"receipt_url": "https://account.freepayment.online/customer/transactions/12c34ec5-a678-9d1a-2345-f678d912c345/7fc22e3697ad822bc004bb3812282a547780c204fd0451c974e3a599fe949326?language=en",
"payment": {
"status": "pending",
"gateway_id": 1234,
"ref_id": "12c34ec5-a678-9d1a-2345-f678d912c345",
"message": "Transaction was initialized.",
"bank_code": "0",
"rrn": "1234567891000000123"
},
"sbp": {
"type": "sbp"
},
"customer": {
"email": "example@example.com",
"phone": "17777777777",
"ip": "127.0.0.1"
},
"manually_corrected_at": null,
"message": "Transaction was initialized.",
"test": false,
"language": "en",
"billing_address": {
"email": "example@example.com",
"phone": "17777777777"
},
"additional_data": {
"payment_method": {
"type": "alternative"
}
},
"form": {
"action": "https://qr.nspk.ru/AD10006L6KIM6I7784A993TVF4QJ9JCE?type=02&bank=100000000017&sum=100000&cur=RUB&crc=0953",
"method": "GET",
"fields": []
}
}
}
Вариант интеграции BC
Процесс проведения оплаты
- Покупатель инициирует платеж на сайте торговца.
- Торговец отправляет запрос оплаты в Freepayment.
- Freepayment присылает в ответе URL на страницу СБП с QR-кодом для оплаты. QR-код действителен в течение 1 часа.
- Торговец перенаправляет покупателя на полученный URL.
- Покупатель сканирует QR-код, выбирает банк из списка доступных, перенаправляется в приложение выбранного банка и подтверждает оплату. Также покупатель может отсканировать код из банковского приложения.
- Торговец получает автоматическое уведомление о результате транзакции.
- Торговец уведомляет покупателя о результате оплаты.
Info
Данная интеграция поддерживает только валюту RUB
.
Оплата
Запрос
Отправьте запрос оплаты со следующими дополнительными параметрами:
Параметр | Тип данных | Описание |
---|---|---|
request | object | |
return_url * обязательный |
string | URL, на который будет возвращен покупатель после завершения операции в платёжной системе. |
method | object | Секция параметров способа оплаты. |
type * обязательный |
string | sbp |
Пример запроса
{
"request":{
"amount":100000,
"currency":"RUB",
"description":"description",
"return_url":"https://merchant.ltd/return",
"method":{
"type": "sbp"
}
}
}
Ответ
Ответ будет содержать параметр form.action
с ссылкой на сайт провайдера с QR-кодом для осуществления оплаты.
Пример ответа
{
"transaction": {
"uid": "80395db5-0127-4220-ba5b-fb354d191ba8",
"type": "payment",
"status": "pending",
"amount": 100000,
"currency": "RUB",
"description": "description",
"created_at": "2024-01-08T12:11:55Z",
"updated_at": "2024-01-08T12:11:55Z",
"method_type": "sbp",
"receipt_url": "https://account.freepayment.online/customer/transactions/80395db5-0127-4220-ba5b-fb354d191ba8/2c8ec02c64a928b4d48113d6adc50d179d3a913b4c7831ca0329f1af0353e9ec",
"payment": {
"status": "pending",
"gateway_id": 3584,
"ref_id": "34142099219264211662",
"message": "Transaction was initialized",
"bank_code": 0
},
"sbp": {
"type": "sbp"
},
"customer": {
"email": null,
"ip": null
},
"manually_corrected_at": null,
"message": "Transaction was initialized",
"test": false,
"additional_data": {
"payment_method": {
"type": "alternative"
}
},
"gateway": {
"iframe": true
},
"form": {
"action": "https://qr.nspk.ru/BS10000LE9UMVMG79SARVEE105HKATPO",
"method": "GET",
"fields": []
}
}
}
Возврат средств
Запрос
Для возврата средств по платежу, отправьте запрос на возврат средств.
Пример запроса
{
"request": {
"parent_uid": "bdf1314f-ba06-4265-acaf-7bc533aacf11",
"reason": "reason",
"amount": 1000
}
}
Ответ
Финальный статус возврата средств будет доступен по запросу статуса, в автоматическом уведомлении или в личном кабинете.
Пример ответа
{
"transaction": {
"uid": "52b4d133-474c-469b-b240-72385b1dfd10",
"parent_uid": "bdf1314f-ba06-4265-acaf-7bc533aacf11",
"type": "refund",
"status": "pending",
"reason": "reason",
"created_at": "2024-01-08T13:41:30Z",
"updated_at": "2024-01-08T13:41:31Z",
"method_type": "sbp",
"receipt_url": "https://account.freepayment.online/customer/transactions/52b4d133-474c-469b-b240-72385b1dfd10/fe69a35c3d7f0896edfc2c73ec08652f7b0a47eeb96d1c6050f55ca03bd75924",
"refund": {
"status": "pending",
"ref_id": "16192",
"message": "Transaction was initialized",
"bank_code": 0
},
"manually_corrected_at": null,
"message": "Transaction was initialized",
"amount": 1000,
"test": false,
"additional_data": {
"payment_method": {
"type": "alternative"
}
}
}
}
Вариант интеграции IZ
Info
Данная интеграция поддерживает только валюту RUB
.
Оплата
Процесс проведения оплаты
- Покупатель инициирует платеж на сайте торговца.
- Торговец отправляет запрос оплаты в Freepayment.
- Freepayment присылает в ответе параметры для создания HTML-формы для оплаты. Время жизни ссылки
form.action
– 15 минут. - Торговец создает HTML-форму для оплаты, используя значения параметров из ответа.
- Торговец перенаправляет покупателя на форму для оплаты.
- Покупатель подтверждает оплату.
Запрос
Отправьте запрос оплаты со следующими дополнительными параметрами:
Параметр | Тип данных | Описание |
---|---|---|
request | object | |
return_url * обязательный |
string | URL, на который будет возвращен покупатель после завершения транзакции. |
method | object | Секция параметров способа оплаты. |
type * обязательный |
string | sbp |
customer | object | Секция информации о покупателе. |
email * обязательный |
string | Адрес электронной почты покупателя. |
phone * обязательный |
string | Номер телефона покупателя без + . |
Пример запроса
{
"request": {
"amount": 10000,
"currency": "RUB",
"description": "description",
"test": false,
"tracking_id": "your_uniq_number",
"return_url": "https://return-url",
"customer": {
"phone": "1234567890",
"email": "example@example.com"
},
"method": {
"type": "sbp"
}
}
}
Ответ
Создайте HTML-форму, используя параметры из секции form
. Отправьте покупателя на форму для завершения оплаты.
Пример ответа
{
"transaction": {
"uid": "19088621-95e0-4100-b0a8-1717c69a9600",
"type": "payment",
"status": "pending",
"amount": 10000,
"currency": "RUB",
"description": "description",
"created_at": "2024-07-03T12:21:16Z",
"updated_at": "2024-07-03T12:21:16Z",
"method_type": "sbp",
"receipt_url": "https://account.freepayment.online/customer/transactions/19088621-95e0-4100-b0a8-1717c69a9600/863e4e14692a6698664f758c39177d6b2c03f8f3de6e233e1020d098a7b0428f",
"payment": {
"status": "pending",
"gateway_id": 4163,
"message": "Transaction was initialized."
},
"sbp": {
"type": "sbp"
},
"customer": {
"email": "example@example.com",
"phone": "1234567890",
"ip": null
},
"manually_corrected_at": null,
"version": 0,
"message": "Transaction was initialized.",
"tracking_id": "your_uniq_number",
"test": false,
"billing_address": {
"email": "example@example.com",
"phone": "1234567890"
},
"additional_data": {
"payment_method": {
"type": "alternative"
}
},
"gateway": {
"iframe": true
},
"form": {
"action": "https://payment-page",
"method": "POST",
"fields": [
{
"name": "amount",
"value": "100.00",
"type": "hidden"
},
{
"name": "amountcurr",
"value": "RUB",
"type": "hidden"
},
{
"name": "currency",
"value": "EXT",
"type": "hidden"
},
{
"name": "number",
"value": "a241a368c8hu9639786382d7592e34",
"type": "hidden"
},
{
"name": "description",
"value": "www.site.com",
"type": "hidden"
},
{
"name": "trtype",
"value": "1",
"type": "hidden"
},
{
"name": "phone",
"value": "0987654321",
"type": "hidden"
},
{
"name": "email",
"value": "1@example.com",
"type": "hidden"
},
{
"name": "account",
"value": "ACC041111",
"type": "hidden"
},
{
"name": "signature",
"value": "6A886FJ609RITN5960HIYK403D5170CA3EBB55",
"type": "hidden"
}
]
}
}
}
Вариант интеграции MT
Info
Данная интеграция поддерживает только валюту RUB
.
Оплата
Процесс проведения оплаты
- Покупатель инициирует платеж на сайте торговца.
- Торговец отправляет запрос оплаты в Freepayment.
- Freepayment присылает в ответе URL на страницу СБП с QR-кодом для оплаты.
- Торговец перенаправляет покупателя на полученный URL. Время жизни ссылки по умолчанию – 15 минут.
- Покупатель сканирует QR-код, выбирает банк из списка доступных, перенаправляется в приложение выбранного банка и подтверждает оплату. Также покупатель может отсканировать код из банковского приложения. При открытии ссылки на мобильном устройстве, покупателю сразу отображается список банковских приложений для завершения оплаты.
- Торговец получает автоматическое уведомление о результате транзакции.
- Торговец уведомляет покупателя о результате оплаты.
Запрос
Отправьте запрос оплаты со следующими дополнительными параметрами:
Параметр | Тип данных | Описание |
---|---|---|
request | object | |
return_url * обязательный |
string | URL, на который будет возвращен покупатель после завершения транзакции. |
method | object | Секция параметров способа оплаты. |
type * обязательный |
string | sbp |
Пример запроса
{
"request": {
"amount": 100000,
"currency": "RUB",
"description": "description",
"return_url": "https://merchant.ltd/return",
"method": {
"type": "sbp"
}
}
}
Ответ
Отправьте покупателя на URL, указанный в параметре form.action
.
Пример ответа
{
"transaction": {
"uid": "ff907a25-c194-44bb-b3ec-9a943f89f863",
"type": "payment",
"status": "pending",
"amount": 100000,
"currency": "RUB",
"description": "description",
"created_at": "2024-09-23T13:21:05Z",
"updated_at": "2024-09-23T13:21:06Z",
"method_type": "sbp",
"receipt_url": "https://account.freepayment.online/customer/transactions/ff907a25-c194-44bb-b3ec-9a943f89f863/fc6fcec74ae131c4afad01db10a2abd209b91b0b4e54c8af65a38485bbcdd245",
"payment": {
"status": "pending",
"gateway_id": 4497,
"ref_id": "3960848",
"message": "Transaction was initialized."
},
"sbp": {
"type": "sbp"
},
"customer": {
"email": null,
"ip": null
},
"manually_corrected_at": null,
"version": 0,
"message": "Transaction was initialized.",
"test": false,
"additional_data": {
"payment_method": {
"type": "alternative"
}
},
"gateway": {
"iframe": false
},
"form": {
"action": "https://qr.nspk.ru/AD100066PTMO2TOG8S1B64I8GGMR32GR",
"method": "GET",
"fields": []
}
}
}
Возврат средств
Запрос
Для возврата средств по платежу, отправьте запрос на возврат средств. Возврат можно осуществить однократно на полную или частичную сумму родительской транзакции.