Методы
При обработке запросов проверяется корректность входных параметров, наличие необходимых заголовков, права на выполнение действий.
Проведение операций
recurrent/disable
Отключение токена
С помощью этого запроса можно отключить токен для рекуррентных платежей. Отправьте в запросе
токен, в ответ придет is_active: false. Это значит, что с этим токеном
больше нельзя проводить рекуррентные платежи.
После отключения токена в параметре даты окончания действия токена
finished_atможет появиться дата, относящаяся к 2000 году — она ни на что не влияет, можно не обращать на неё внимание.
Адрес для отправки запроса
/api/v1/recurrent/disable
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
recurrent | + | object | Токен, который надо отключить |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/recurrent/disable \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"recurrent": {
"token": "97417d4a9a23da9c2401c510a3fc45c2d1752f68ac9fd2a366698d70293b6427"
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->disableRecurrentRequestBuilder()
->setRecurrentToken('e9876f32bcd947f79c324cf2da5726304a894f6ae2037de7705fdb3e0a134d39')
->build();
$response = $client->recurrent()->disable($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
recurrent | + | object | Токен |
Пример ответа
{
"recurrent": {
"token": "97417d4a9a23da9c2401c510a3fc45c2d1752f68ac9fd2a366698d70293b6427",
"created_at": "2020-07-14T13:17:11+03:00",
"finished_at": "2020-07-31T16:05:42+03:00",
"is_active": false,
"type": "recurrent_token"
},
"status": "ok"
}
session/cancel
Отмена операции
Этот запрос можно отправлять, когда Банк 131 готов провести операцию — выплату или платеж. Например, вы получили вебхук ready_to_confirm или ready_to_capture.
Если не хотите проводить эту операцию, можете ее отменить: отправьте запрос session/cancel.
Если всё в порядке, отправьте запрос на подтверждение операции (session/confirm) или на списание замороженной суммы (session/capture).
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/cancel
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор сессии |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/cancel \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$response = $client->session()->cancel('session_id');
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_2018",
"status": "pending",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/cancel
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор сессии |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/cancel \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$response = $client->session()->cancel('session_id');
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_2018",
"status": "pending",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payout_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/capture
Списание захолдированной суммы
Этот запрос можно использовать, если вы отправляете холдированные платежи. Такой платеж проходит в две стадии: сначала деньги замораживаются (например, на банковской карте пользователя), а потом списываются по вашей команде.
Запрос можно отправлять, когда Банк 131 готов списать деньги и прислал вам вебхук ready_to_capture.
Если вы хотите списать замороженную сумму, отправьте запрос session/capture. Можно списать замороженную сумму или меньше.
Чтобы отменить списание, отправьте (session/cancel).
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/capture
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор сессии Банка 131 |
amount_details | - | object | Сумма к списанию. Может быть меньше захолдированной, но обязательно больше 0. Если параметр отсутствует, то захолдированная сумма будет списана полностью |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/capture \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$response = $client->session()->capture('session_id');
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_1313",
"status": "succeeded",
"created_at": "2024-05-27T02:03:00.000000Z",
"finished_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "usd"
},
"refunds": [{
"id": "rf_23",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"amount_details": {
"amount": 10000,
"currency": "usd"
}
}]
}]
}
}
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/capture
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор сессии Банка 131 |
amount_details | - | object | Сумма к списанию. Может быть меньше захолдированной, но обязательно больше 0. Если параметр отсутствует, то захолдированная сумма будет списана полностью |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/capture \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$response = $client->session()->capture('session_id');
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"payment_list": [{
"id": "pm_1313",
"status": "succeeded",
"created_at": "2024-05-27T02:03:00.000000Z",
"finished_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "usd"
},
"refunds": [{
"id": "rf_23",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"amount_details": {
"amount": 10000,
"currency": "usd"
}
}]
}]
}
}
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}
session/confirm
Подтверждение операции
Этот запрос можно отправлять, когда Банк 131 готов провести операцию — выплату или платеж. Например, вы получили вебхук ready_to_confirm.
Вам нужно проверить параметры операции и принять решение. Если все в порядке, подтвердите операцию, отправив запрос session/confirm. На подтверждение отводится 4 часа с момента создания операции. Если запрос не будет отправлен вовремя, операция завершится с ошибкой confirm_timeout.
В случае ошибок отмените операцию, отправив запрос session/cancel.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/confirm
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор сессии |
confirm_information | - (обязательно при операциях с номинальным счетом или если requier_confirm_information = true) | object | Информация для подтверждения операции |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/confirm \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$response = $client->session()->confirm('session_id');
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_2018",
"status": "pending",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/confirm
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор сессии |
confirm_information | - (обязательно при денежных переводах, при операциях с номинальным счетом или если requier_confirm_information = true) | object | Информация для подтверждения операции |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/confirm \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$response = $client->session()->confirm('session_id');
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_2018",
"status": "pending",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payout_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/create
Создание платежной сессии
Этот запрос создает платежную сессию на стороне Банка 131.
Сессия необходима для проведения платежных операций. В рамках сессии может проходить одна или несколько операций одного или разных типов (например, несколько выплат, платеж и возврат).
Используйте этот запрос, если вам нужно запросить у пользователя данные для проведения выплаты или оплаты. Например, вызвать виджет для токенизации, показать пользователю и получить токенизированные данные карты и уже с этими данными отправить запрос на выплату.
Если вы готовы передать в запросе все данные, которые нужны для проведения операции, можете использовать метод, при котором сразу после создания сессии стартует выплата (
session/start/payout) или оплата (session/start/payment). В этом случае запускать операцию отдельным запросом не нужно.
В ответе возвращаются параметры созданной сессии.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/create
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_method | - | object | Платежные данные (карта, банковский счет и др.) |
payment_details | - | object | Платежные данные |
amount_details | - | object | Сумма. Передается в минорных единицах. Чтобы передать 100 рублей, евро или долларов США, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | - (обязательно для выплат) | object | Информация об участниках операции (отправителе и получателе) |
customer | - (обязательно для платежей) | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/create \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "order123"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->createPaymentSession() //OR ->createPayoutSession()
->setAmount(10000, 'rub')
->setMetadata('order123')
->build();
$response = $client->session()->create($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "created",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z"
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/create
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payout_details | - | object | Платежные данные (карта, банковский счет и др.) |
payment_details | - | object | Платежные данные |
amount_details | - | object | Сумма. Передается в минорных единицах. Чтобы передать 100 рублей, евро или долларов США, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | - (обязательно для выплат) | object | Информация об участниках операции (отправителе и получателе) |
customer | - (обязательно для платежей) | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/create \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "order123"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->createPaymentSession() //OR ->createPayoutSession()
->setAmount(10000, 'rub')
->setMetadata('order123')
->build();
$response = $client->session()->create($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "created",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z"
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
session/init/payment
Создание сессии с одновременным стартом платежа
Можно использовать, если вы сразу готовы передать все параметры, необходимые для оплаты.
В ответе возвращаются параметры созданной сессии и объект с информацией о
платеже (acquiring_payments/payment_list).
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/init/payment
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | + | object | Платежные данные |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | - | object | Информация об участниках |
customer | + | object | Данные клиента вашей системе |
payment_options | - | object | Дополнительные параметры платежа |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
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": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "05",
"expiration_year": "22",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://131.ru"
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Card\BankCard;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$paymentOptions = new PaymentOptions();
$paymentOptions->setReturnUrl('http://bank131.ru');
$request = RequestBuilderFactory::create()
->initPaymentSession()
->setCard(new BankCard('4242424242424242', '05', '22', '123'))
->setAmount(10000, 'rub')
->setCustomer(new Customer('lucky'))
->setPaymentOptions($paymentOptions)
->build();
$response = $client->session()->initPayout($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_203",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://131.ru"
}
}]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/init/payment
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | + | object | Платежные данные |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | - | object | Информация об участниках |
customer | + | object | Данные клиента вашей системе |
payment_options | - | object | Дополнительные параметры платежа |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/init/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "05",
"expiration_year": "22",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://131.ru"
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Card\BankCard;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$paymentOptions = new PaymentOptions();
$paymentOptions->setReturnUrl('http://bank131.ru');
$request = RequestBuilderFactory::create()
->initPaymentSession()
->setCard(new BankCard('4242424242424242', '05', '22', '123'))
->setAmount(10000, 'rub')
->setCustomer(new Customer('lucky'))
->setPaymentOptions($paymentOptions)
->build();
$response = $client->session()->initPayout($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payment_list": [{
"id": "pm_203",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://131.ru"
}
}]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
session/init/payment/sync
Данный метод не рекомендуется к использованию, кроме тех случаев, когда он уже был реализован вами ранее.
Платеж одним запросом
Этот метод позволяет отправить запрос на оплату и сразу получить ответ. Можно использовать, если вы готовы в этом запросе передать все параметры для оплаты.
В ответе возвращаются параметры созданной сессии и объект acquiring_payments/payment_list с результатом платежа и всей информацией о нем.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/init/payment
Параметры запроса
Здесь перечислены только обязательные параметры запроса. Дополнительные параметры есть по ссылкам в описании объектов.
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | + | object | Платежные данные |
type | + | string | Тип способа оплаты. Возможные варианты: card |
card | + | object | Данные банковской карты |
type | + | string | Способ передачи данных карты. Значение: bank_card |
bank_card | + | object | Данные карты в открытом виде |
number | + | string | Номер карты |
expiration_month | + | string | Месяц, до которого действует карта, в формате ММ. Например 01 |
expiration_year | + | string | Месяц, до которого действует карта, в формате ГГ. Например 22 |
security_code | + | string | Секретный код CVC или CVV |
amount_details | + | object | Данные для суммы платежа |
amount | + | int | Сумма в копейках. Значение должно быть больше нуля. Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен. Всегда: rub |
participant_details | - | object | Информация об участниках |
customer | + | object | Данные отправителя платежа на вашей стороне |
reference | + | string | Идентификатор отправителя платежа в вашей системе |
payment_options | + | object | Дополнительные параметры платежа |
return_url | + | string | URL, на который нужно перенаправить пользователя после проведения платежа. URL должен быть валидным |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
curl -X POST \
https://proxy.bank131.ru/api/v1/session/init/payment/sync \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "01",
"expiration_year": "22",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://131.ru"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "accepted",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_203",
"status": "succeeded",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://131.ru"
}
}]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/init/payment
Параметры запроса
Здесь перечислены только обязательные параметры запроса. Дополнительные параметры есть по ссылкам в описании объектов.
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | + | object | Платежные данные |
type | + | string | Тип способа оплаты. Возможные варианты: card |
card | + | object | Данные банковской карты |
type | + | string | Способ передачи данных карты. Значение: bank_card |
bank_card | + | object | Данные карты в открытом виде |
number | + | string | Номер карты |
expiration_month | + | string | Месяц, до которого действует карта, в формате ММ. Например 01 |
expiration_year | + | string | Месяц, до которого действует карта, в формате ГГ. Например 22 |
security_code | + | string | Секретный код CVC или CVV |
amount_details | + | object | Данные для суммы платежа |
amount | + | int | Сумма в копейках. Значение должно быть больше нуля. Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен. Всегда: rub |
participant_details | - | object | Информация об участниках |
customer | + | object | Данные отправителя платежа на вашей стороне |
reference | + | string | Идентификатор отправителя платежа в вашей системе |
payment_options | + | object | Дополнительные параметры платежа |
return_url | + | string | URL, на который нужно перенаправить пользователя после проведения платежа. URL должен быть валидным |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
curl -X POST \
https://proxy.bank131.ru/api/v2/session/init/payment/sync \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "01",
"expiration_year": "22",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://131.ru"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "accepted",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payment_list": [{
"id": "pm_203",
"status": "succeeded",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://131.ru"
}
}]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
session/init/payout
Создание сессии с одновременным стартом выплаты
Можно использовать этот запрос, если вы сразу готовы передать все параметры для создания выплаты. Например, при отправке выплаты на российский банковский счет.
Также можно стартовать выплату с использованием токена, который был получен при создании рекуррентного платежа
В ответе возвращаются параметры созданной сессии и объект с информацией о
выплате (payments/payout_list).
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/init/payout
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_method | + | object | Платежные данные (карта, банковский счет и др.) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/init/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "rub"
},
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Card\BankCard;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->initPayoutSession()
->setCard(new BankCard('4242424242424242'))
->setAmount(1000, 'rub')
->build();
$response = $client->session()->initPayout($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/init/payout
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payout_details | + | object | Платежные данные (карта, банковский счет и др.) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/init/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "rub"
},
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Card\BankCard;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->initPayoutSession()
->setCard(new BankCard('4242424242424242'))
->setAmount(1000, 'rub')
->build();
$response = $client->session()->initPayout($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payout_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/init/payout/fiscalization
Создание сессии и старт выплаты с дополнительной проверкой заполненности данных для фискализации
Можно использовать при выплатах самозанятым, если вы сразу готовы передать всю информацию о самозанятом и платежные данные для создания выплаты. Например, при отправке выплаты на российский банковский счет.
В ответе возвращаются параметры созданной сессии, объект с информацией о выплате
(payments/payout_list) с данными для отправки чека.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/init/payout/fiscalization
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_method | - | object | Платежные данные (карта, банковский счет и др.) |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://proxy.bank131.ru/api/v1/session/init/payout/fiscalization \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"fiscalization_details": {
"professional_income_taxpayer": {
"tax_reference": "590000000000",
"payer_type": "legal",
"payer_tax_number": "3300000000",
"payer_name": "OOO Vector",
"services": [{
"name": "Service description",
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}]
}
},
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "order123",
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Card\BankCard;
use Bank131\SDK\DTO\Collection\FiscalizationServiceCollection;
use Bank131\SDK\DTO\FiscalizationService;
use Bank131\SDK\DTO\Participant;
use Bank131\SDK\DTO\ProfessionalIncomeTaxpayer;
use Bank131\SDK\DTO\Amount;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$services = new FiscalizationServiceCollection();
$services[] = new FiscalizationService(
'Доставка товара',
new Amount(5000, 'rub'),
1
);
$incomeInformation = new ProfessionalIncomeTaxpayer(
$services,
'590000000000'
);
$incomeInformation->setPayerName('ООО Вектор');
$incomeInformation->setPayerType('legal');
$incomeInformation->setPayerTaxNumber('330000000000');
$recipient = new Participant();
$recipient->setFullName('Ivanov Ivan');
$request = RequestBuilderFactory::create()
->initPayoutSessionWithFiscalization()
->setIncomeInformation($incomeInformation)
->setCard(new BankCard('4242424242424242'))
->setAmount(5000, 'rub')
->setRecipient($recipient)
->setMetadata('good')
->build();
$response = $client->session()->initPayoutWithFiscalization($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "created",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_2909",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"fiscalization_details": {
"professional_income_taxpayer": {
"tax_reference": "590000000000",
"payer_type": "legal",
"payer_tax_number": "3300000000",
"payer_name": "OOO Vector",
"services": [{
"name": "Service description",
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}]
}
},
"metadata": "order123",
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
}
}]
}
}
{
"error": {
"code": "invalid_request",
"description": "participant_details.recipient.full_name.not_blank"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/init/payout/fiscalization
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payout_details | - | object | Платежные данные (карта, банковский счет и др.) |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://proxy.bank131.ru/api/v2/session/init/payout/fiscalization \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"fiscalization_details": {
"professional_income_taxpayer": {
"tax_reference": "590000000000",
"payer_type": "legal",
"payer_tax_number": "3300000000",
"payer_name": "OOO Vector",
"services": [{
"name": "Service description",
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}]
}
},
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "order123",
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Card\BankCard;
use Bank131\SDK\DTO\Collection\FiscalizationServiceCollection;
use Bank131\SDK\DTO\FiscalizationService;
use Bank131\SDK\DTO\Participant;
use Bank131\SDK\DTO\ProfessionalIncomeTaxpayer;
use Bank131\SDK\DTO\Amount;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$services = new FiscalizationServiceCollection();
$services[] = new FiscalizationService(
'Доставка товара',
new Amount(5000, 'rub'),
1
);
$incomeInformation = new ProfessionalIncomeTaxpayer(
$services,
'590000000000'
);
$incomeInformation->setPayerName('ООО Вектор');
$incomeInformation->setPayerType('legal');
$incomeInformation->setPayerTaxNumber('330000000000');
$recipient = new Participant();
$recipient->setFullName('Ivanov Ivan');
$request = RequestBuilderFactory::create()
->initPayoutSessionWithFiscalization()
->setIncomeInformation($incomeInformation)
->setCard(new BankCard('4242424242424242'))
->setAmount(5000, 'rub')
->setRecipient($recipient)
->setMetadata('good')
->build();
$response = $client->session()->initPayoutWithFiscalization($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "created",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_2909",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"payout_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"fiscalization_details": {
"professional_income_taxpayer": {
"tax_reference": "590000000000",
"payer_type": "legal",
"payer_tax_number": "3300000000",
"payer_name": "OOO Vector",
"services": [{
"name": "Service description",
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}]
}
},
"metadata": "order123",
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
}
}]
}
}
{
"error": {
"code": "invalid_request",
"description": "participant_details.recipient.full_name.not_blank"
},
"status": "error"
}
session/refund
Возврат
С помощью этого запроса можно вернуть деньги пользователю после успешного платежа.
После проведения возврата Банк 131 отправит вам вебхук payment_refunded.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/refund
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор успешной платежной сессии, по которой необходимо провести возврат |
amount_details | - | object | Сумма возврата. Если не указывать, то возврат будет на полную сумму платежа |
metadata | - | * | Дополнительная информация |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/refund \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->refundSession('ps_3230')
->build();
$response = $client->session()->refund($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_2705",
"status": "succeeded",
"created_at": "2018-05-27T02:03:00.000000Z",
"finished_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"refunds": [{
"id": "rf_23",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}]
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/refund
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор успешной платежной сессии, по которой необходимо провести возврат |
amount_details | - | object | Сумма возврата. Если не указывать, то возврат будет на полную сумму платежа |
metadata | - | * | Дополнительная информация |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/refund \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->refundSession('ps_3230')
->build();
$response = $client->session()->refund($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payment_list": [{
"id": "pm_2705",
"status": "succeeded",
"created_at": "2018-05-27T02:03:00.000000Z",
"finished_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"refunds": [{
"id": "rf_23",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}]
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/start/payment
Старт платежа
Этот запрос можно использовать, чтобы начать платеж в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения оплаты или заменить уже переданные.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/start/payment
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_details | - | object | Платежные данные |
amount_details | - | object | Сумма |
participant_details | - | object | Информация об участниках (отправителе и получателе платежа) |
customer | - | object | Данные отправителя платежа в вашей системе |
payment_options | - | object | Дополнительные параметры платежа |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
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_3230",
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "01",
"expiration_year": "26",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://www.131.ru"
},
"metadata": "good"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Card\BankCard;
use Bank131\SDK\DTO\Customer;
use Bank131\SDK\DTO\PaymentOptions;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$paymentOptions = new PaymentOptions();
$paymentOptions->setReturnUrl('return_url');
$request = RequestBuilderFactory::create()
->startPaymentSession('session_id')
->setCard(
new BankCard(
'number',
'expiration_month',
'expiration_year',
'security_code'
)
)
->setCustomer(
new Customer('reference')
)
->setPaymentOptions($paymentOptions)
->setAmount(10000, 'rub')
->setMetadata('good')
->build();
$response = $client->session()->startPayment($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-08-21T06:21:36.913863Z",
"updated_at": "2024-08-21T06:21:56.832509Z",
"acquiring_payments": [{
"id": "pm_3232",
"status": "in_progress",
"created_at": "2024-08-21T06:21:56.846204Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa",
"country_iso3": "RUS"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://www.131.ru"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "internal error",
"code": "repository_record_not_found"
}
}
Адрес для отправки запроса
/api/v2/session/start/payment
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_details | - | object | Платежные данные |
amount_details | - | object | Сумма |
participant_details | - | object | Информация об участниках (отправителе и получателе платежа) |
customer | - | object | Данные отправителя платежа в вашей системе |
payment_options | - | object | Дополнительные параметры платежа |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/start/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "01",
"expiration_year": "26",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://www.131.ru"
},
"metadata": "good"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Card\BankCard;
use Bank131\SDK\DTO\Customer;
use Bank131\SDK\DTO\PaymentOptions;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$paymentOptions = new PaymentOptions();
$paymentOptions->setReturnUrl('return_url');
$request = RequestBuilderFactory::create()
->startPaymentSession('session_id')
->setCard(
new BankCard(
'number',
'expiration_month',
'expiration_year',
'security_code'
)
)
->setCustomer(
new Customer('reference')
)
->setPaymentOptions($paymentOptions)
->setAmount(10000, 'rub')
->setMetadata('good')
->build();
$response = $client->session()->startPayment($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-08-21T06:21:36.913863Z",
"updated_at": "2024-08-21T06:21:56.832509Z",
"payment_list": [{
"id": "pm_3232",
"status": "in_progress",
"created_at": "2024-08-21T06:21:56.846204Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa",
"country_iso3": "RUS"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://www.131.ru"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "internal error",
"code": "repository_record_not_found"
}
}
session/start/payout
Старт выплаты
Этот запрос можно использовать, чтобы начать выплату в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения выплаты или заменить уже переданные.
Если вы используете выплатной виджет, чтобы получить токенизированные данные банковской карты пользователя, в этом запросе можно их передать.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/start/payout
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_method | - | object | Платежные данные (карта, банковский счёт и др.) |
amount_details | - | object | Сумма |
participant_details | - | object | Информация об участниках выплаты |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/start/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->startPayoutSession('session_id')
->build();
$response = $client->session()->startPayout($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/start/payout
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payout_details | - | object | Платежные данные (карта, банковский счёт и др.) |
amount_details | - | object | Сумма |
participant_details | - | object | Информация об участниках выплаты |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/start/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->startPayoutSession('session_id')
->build();
$response = $client->session()->startPayout($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payout_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/start/payout/fiscalization
Старт выплаты с проверкой на заполненность данных для фискализации
Этот запрос можно использовать, чтобы начать выплату в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения выплаты или заменить уже переданные.
Если вы используете выплатной виджет, чтобы получить токенизированные данные банковской карты пользователя, в этом запросе можно их передать.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/start/payout/fiscalization
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_method | - | object | Платежные данные (карта, банковский счет и др.) |
amount_details | - | object | Сумма |
fiscalization_details | - | object | Данные для фискализации |
participant_details | - | object | Информация об участниках выплаты |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/start/payout/fiscalization \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"fiscalization_details": {
"professional_income_taxpayer": {
"tax_reference": "590000000000",
"payer_type": "legal",
"payer_tax_number": "330000000000",
"payer_name": "ООО Вектор",
"services": [{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
}
}]
}
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Collection\FiscalizationServiceCollection;
use Bank131\SDK\DTO\FiscalizationService;
use Bank131\SDK\DTO\ProfessionalIncomeTaxpayer;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$services = new FiscalizationServiceCollection();
$services[] = new FiscalizationService(
'Доставка товара',
new Amount(5000, 'rub'),
1
);
$incomeInformation = new ProfessionalIncomeTaxpayer(
$services,
'590000000000'
);
$incomeInformation->setPayerName('ООО Вектор');
$incomeInformation->setPayerType('legal');
$incomeInformation->setPayerTaxNumber('330000000000');
$request = RequestBuilderFactory::create()
->startPayoutSessionWithFiscalization('3230', $incomeInformation)
->build();
$response = $client->session()->create($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_203",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"fiscalization_details": {
"professional_income_taxpayer": {
"services": [{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 1
}],
"tax_reference": "590613976192",
"payer_type": "legal",
"payer_tax_number": "3316004710",
"payer_name": "ООО Вектор"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/start/payout/fiscalization
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payout_details | - | object | Платежные данные (карта, банковский счет и др.) |
amount_details | - | object | Сумма |
fiscalization_details | - | object | Данные для фискализации |
participant_details | - | object | Информация об участниках выплаты |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/start/payout/fiscalization \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"fiscalization_details": {
"professional_income_taxpayer": {
"tax_reference": "590000000000",
"payer_type": "legal",
"payer_tax_number": "330000000000",
"payer_name": "ООО Вектор",
"services": [{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
}
}]
}
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
use Bank131\SDK\DTO\Collection\FiscalizationServiceCollection;
use Bank131\SDK\DTO\FiscalizationService;
use Bank131\SDK\DTO\ProfessionalIncomeTaxpayer;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$services = new FiscalizationServiceCollection();
$services[] = new FiscalizationService(
'Доставка товара',
new Amount(5000, 'rub'),
1
);
$incomeInformation = new ProfessionalIncomeTaxpayer(
$services,
'590000000000'
);
$incomeInformation->setPayerName('ООО Вектор');
$incomeInformation->setPayerType('legal');
$incomeInformation->setPayerTaxNumber('330000000000');
$request = RequestBuilderFactory::create()
->startPayoutSessionWithFiscalization('3230', $incomeInformation)
->build();
$response = $client->session()->create($request);
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_203",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"payout_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"fiscalization_details": {
"professional_income_taxpayer": {
"services": [{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 1
}],
"tax_reference": "590613976192",
"payer_type": "legal",
"payer_tax_number": "3316004710",
"payer_name": "ООО Вектор"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
token
Получение публичного токена для работы с виджетами
Для работы с виджетами нужен публичный токен, который действует 24 часа и предназначен для выполнения одной операции. При отправке запроса необходимо передать типы виджетов, с которыми планируете работать.
Адрес для отправки запроса
/api/v1/token
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
tokenize_widget | - | object | Данные для работы виджета токенизации |
self_employed_widget | - | object | Данные для работы виджета регистрации самозанятого |
acquiring_widget | - | object | Данные для работы виджета платежной формы |
Пример запроса на получение токена для проведения выплаты с получением данных карты через виджет и с подключением самозанятого
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/token \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"tokenize_widget": {
"access": true
},
"self_employed_widget": {
"tax_reference": "111111111111"
}
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$request = RequestBuilderFactory::create()
->issuePublicTokenBuilder()
->setTokenizeWidget()
->setSelfEmployedWidget('111111111111')
->setAcquiringWidget(
'test_ps_id',
'http://success.url',
'http://failed.url',
false
)
->build();
$response = $client->widget()->issuePublicToken($request);
$publicToken = $response->getPublicToken();
Пример запроса на получение токена для проведения платежа с оплатой через платежную форму
curl -X POST \
https://demo.bank131.ru/api/v1/token \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"acquiring_widget": {
"session_id": "ps_123456"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
public_token | - | string | Публичный токен |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"public_token": "e065c2f1328e74156a883c00e210a4b1b1451782bbfdd18ae8d05715e05d8539"
}
{
"status": "error",
"error": {
"description": "acquiring_widget.session_id.not_unique",
"code": "invalid_request"
}
}
tokenize
Метод для токенизации банковского счета (выплаты). Используйте его, чтобы получить токен и маскированный номер счета. Токен, полученный в ответе, не имеет срока действия.
Вы можете токенизировать любой счет, который пройдет проверку на соответствие заданному диапазону счетов. В противном случае вернется ошибка "Введите другой номер счета".
Адрес для отправки запроса
/api/v1/tokenize
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
type | string | Тип банковского счета |
bank_account_ru | object | Дополнительная информация о банковском счете |
bik | string | БИК банка |
account | string | Номер счета |
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v1/tokenize \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "bank_account_ru",
"bank_account_ru": {
"bik": "044525974",
"account": "40817810400003869535"
}
}'
Параметры ответа
| Параметр | Тип | Описание |
|---|---|---|
status | string | Тип банковского счета |
token | string | Токен |
data | object | Данные маскированного счета |
error | object | Описание ошибки |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"token": "2c6ebe1368407b922057efee0fed58360dae1d28af50fa6734bb54c61a763c24",
"data": {
"masked_account": "40817***9535"
}
}
{
"status": "error",
"error": {
"description": "The public token is not found",
"code": "public_token_invalid"
}
}
tokenize/elements
Метод для токенизации номера карты с хранением токенизированных данных на стороне Банка 131.
Для использования этого метода нужно обратиться к вашему менеджеру в Банке 131.
Адрес для отправки запроса
/api/v1/tokenize/elements
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
card_elements | + | object | Номер банковской карты для токенизации |
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v1/tokenize/elements \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"card_elements": [
{
"ref": "number",
"type": "card_number",
"card_number": "4242424242424242"
}
]
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
data | + | object | Данные карты |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"data": {
"number": {
"token": "adb0eb0ac3f1f5f627f15aa8ca47b13483325ec42baab5e87cbff5f784dca919",
"info": {
"masked_card_number": "424242******4242",
"card_network": "visa",
"card_type": "visa"
}
}
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Информация
fps/banks
С помощью этого запроса вы можете получить список наименований и идентификаторов банков-участников Системы быстрых платежей.
Метод используется только для выплат.
Адрес для отправки запроса
/api/v1/fps/banks
Пример запроса
- cURL
- PHP
curl -X GET \
https://demo.bank131.ru/api/v1/fps/banks \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{}'
use Bank131\SDK\Client;
$response = $client->fps()->getBanks();
foreach ($response->getBanks() as $bank) {
echo $bank->getId(), ' ', $bank->getRuName(), ' ', $bank->getEngName(), PHP_EOL;
}
Пример ответа
{
"banks": [{
"id": "100000000243",
"eng_name": "National Standard Bank",
"ru_name": "Национальный стандарт"
},
{
"id": "100000000056",
"eng_name": "Khlynov",
"ru_name": "Хлынов"
},...]
}
fps/customer_verification
С помощью этого запроса можно проверить, зарегистрирован ли получатель в Системе быстрых платежей. Если пользователь найден в СБП, то сессия примет успешный статус, иначе сессия отменится. Эта операция не тарифицируется и подтверждается автоматически (вебхук ready_to_confirm не отправляется).
- API v1
- API v2
Адрес для отправки запроса
/api/v1/fps/customer_verification
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_method | + | object | Платежные данные (карта, банковский счёт и др.) |
participant_details | + | object | Информация об участниках выплаты |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/fps/customer_verification \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "faster_payment_system_verification",
"faster_payment_system_verification": {
"phone": "79261234567",
"bank_id": "100000000069"
}
}
},
"participant_details": {
"recipient": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_109941",
"status": "in_progress",
"created_at": "2022-03-01T11:57:31.652396Z",
"updated_at": "2022-03-01T11:57:31.861329Z",
"payments": [{
"id": "po_31668",
"status": "in_progress",
"created_at": "2022-03-01T11:57:31.895773Z",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "faster_payment_system_verification",
"faster_payment_system_verification": {
"phone": "79261234567",
"bank_id": "100000000069"
}
}
},
"participant_details": {
"recipient": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/fps/customer_verification
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payout_details | + | object | Платежные данные (карта, банковский счёт и др.) |
participant_details | + | object | Информация об участниках выплаты |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v2/fps/customer_verification \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "faster_payment_system_verification",
"faster_payment_system_verification": {
"phone": "79261234567",
"bank_id": "100000000069"
}
}
},
"participant_details": {
"recipient": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_109941",
"status": "in_progress",
"created_at": "2022-03-01T11:57:31.652396Z",
"updated_at": "2022-03-01T11:57:31.861329Z",
"payout_list": [{
"id": "po_31668",
"status": "in_progress",
"created_at": "2022-03-01T11:57:31.895773Z",
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "faster_payment_system_verification",
"faster_payment_system_verification": {
"phone": "79261234567",
"bank_id": "100000000069"
}
}
},
"participant_details": {
"recipient": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
report/account_balance
Используйте этот метод, чтобы запросить баланс по вашему расчетному или номинальному счету. Подробнее о балансе счета.
Адрес для отправки запроса
/api/v1/report/account_balance
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
account_number | + | string | Номер счета. Счет должен начинаться с цифр: 40702, 40703, 40802, 40807, 40701 |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/report/account_balance \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"account_number": "40702810400000000333"
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
account_number | - | string | Номер счета |
account_currency | - | string | Валюта счета согласно ISO 4217. Пример: RUB |
balance | - | object | Информация о балансе |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"account_number": "40702810400000000333",
"account_currency": "RUB",
"balance": {
"current_balance": 20900
}
}
{
"status": "error",
"error": {
"code": "Error code",
"description": "Error description"
}
}
report/account_statement
Используйте этот метод, чтобы запросить выписку по расчетному или номинальному счету в рублях. Выписку можно получить по данным за одни сутки. Чтобы узнать больше, переходите по ссылке.
Адрес для отправки запроса
/api/v1/report/account_statement
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
account_number | + | string | Номер счета (20 цифр), по которому запрашивается выписка |
date_to | + | date | Дата окончания выписки. Пример: 2023-06-01 |
date_from | + | date | Дата начала выписки. Пример: 2023-06-01 |
Значения в
date_fromиdate_toдолжны совпадать.
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/report/account_statement \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"date_from": "2023-06-01",
"date_to": "2023-06-01",
"account_number": "40702810600200000014"
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
method | + | object | Информация о методе |
name | + | string | Название метода account_statement |
account_statement | + | object | Детали выписки |
date_from | + | date | Дата начала выписки |
date_to | + | date | Дата окончания выписки |
account_number | + | string | Номер счёта (20 цифр), по которому сформирована выписка |
total_turnover | + | object | Информация по движению средств |
debet | + | int | Сумма списаний по счёту за период выписки |
credit | + | int | Сумма пополнений по счёту за период выписки |
total_balance | + | object | Информация по балансу |
opening | + | int | Входящий остаток по счёту на дату начала выписки |
closing | + | int | Исходящий остаток по счёту на дату окончания выписки |
transactions | + | object | Список транзакций |
amount | + | int | Сумма транзакции (только неотрицательные значения) |
base_amount | - | int | Сумма операции в валюте. Заполняется только для транзакций в валюте, отличной от рублей. При использовании базовой валюты (RUB) параметр является необязательным |
currency | + | string | Валюта операции |
payment_date | + | date | Дата операции |
bank_system_id | + | string | Идентификатор платежа. Указывается для любого движения денежных средств по счету: - для платежей, отправленных по API - для переводов из другого банка - для платежей, совершенных через интернет-банк |
transaction_id | - | string | Идентификатор транзакции. Передается для платежей, отправленных по API |
session_id | - | string | Идентификатор сессии. Передается для платежей, отправленных по API |
purpose | + | string | Назначение платежа |
counter_party | + | object | Информация о контрагенте |
kpp | - | string | КПП контрагента |
inn | - | string | ИНН контрагента |
name | + | string | Наименование контрагента |
account_number | + | string | Номер счета контрагента |
bank_code | + | string | БИК банка контрагента |
type | + | string | Тип транзакции. Может принимать значения credit (для операции пополнения) или debet (для операции списания) |
Пример успешного ответа
{
"status": "ok",
"method": {
"name": "account_statement",
"account_statement": {
"date_from": "2022-11-12T18:19:32.487+0000",
"date_to": "2022-11-13T18:19:32.487+0000",
"account_number": "40703810500000000025",
"total_turnover": {
"debet": 0,
"debet_base": null,
"credit": 100,
"credit_base": null
},
"total_balance": {
"opening": 0,
"opening_base": null,
"closing": 100,
"closing_base": null
},
"transactions": [{
"amount": 10000,
"base_amount": null,
"currency": "RUB",
"payment_date": "2022-11-13",
"bank_system_id": "2080040097819020",
"transaction_id": "c7b923ec-844f-4d98-ad02-795d62fe1989",
"session_id": "ps_3230",
"purpose": "Пополнение счета для тестов",
"counter_party": {
"kpp": "165501001",
"inn": "1655415696",
"name": "Плата за услуги процессинга по переводам без открытия счета",
"account_number": "70606810600004710401",
"bank_code": "049205131"
},
"type": "credit"
}]
}
}
}
Примеры неуспешных ответов
- Неверные даты
- Невалидный запрос по формату JSON
- Внутренняя ошибка
date_from не равна date_to
{
"status": "error",
"error": {
"description": "Invalid input request parameters: (max interval is 1 day)",
"code": "invalid_request"
}
}
date_from больше date_to
{
"status": "error",
"error": {
"description": "Invalid input request parameters: (date_to must be greater than date_from); (max interval is 1 day)",
"code": "invalid_request"
}
}
Невалидная дата в date_from
{
"status": "error",
"error": {
"description": "Invalid value in date_from",
"code": "invalid_request"
}
}
Невалидная дата в date_to
{
"status": "error",
"error": {
"description": "Invalid value in date_to",
"code": "invalid_request"
}
}
{
"status": "error",
"error": {
"description": "Invalid request",
"code": "invalid_request"
}
}
Данный ответ возвращается в следующих случаях:
- номер счета указан неверно,
- запрашивается выписка по несуществующему счету,
- счет, по которому запрошена выписка, не принадлежит клиенту.
{
"status": "error",
"error": {
"description": "Internal error",
"code": "internal_error"
}
}
session/status
Получение информации по сессии
Вы можете отправить этот запрос, если хотите получить полную информацию о платежной сессии. Например, проверить, прошла выплата или нет. Или узнать, можно ли списывать сумму, захолдированную при оплате картой.
В ответ на запрос приходит платежная сессия с данными обо всех операциях, которые проводились в ее рамках.
Запрос не следует отправлять чаще 1 раза в сутки и дольше 7 дней подряд.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/status
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/session/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$response = $client->session()->status('session_id');
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"next_action": "confirm",
"payments": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa",
"bin": "220220"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"transaction_info": {
"rrn": "425307614918",
"auth_code": "057441"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/status
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v2/session/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$response = $client->session()->status('session_id');
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"next_action": "confirm",
"payout_list": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payout_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa",
"bin": "220220"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"transaction_info": {
"rrn": "425307614918",
"auth_code": "057441"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
token/info
Получение информации по токену
Операции с банковскими картами часто проводятся с токенизированными данными. При выплатах и платежах через виджеты создается публичный токен, при рекуррентных платежах — токен для рекуррентных платежей.
По любому платежному токену можно получить информацию:
- о банковской карте, для которой создан этот токен — это будет маскированный номер карты и платежная система;
- или о самом токене — тип токена, время создания, срок действия, активен ли этот токен на момент запроса.
Этот метод можно использовать, чтобы, например, узнать маскированный номер карты и показать пользователю, с какой карты спишутся деньги по подписке. Или если понадобится проверить срок действия токена.
Адрес для отправки запроса
/api/v1/token/info
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
type | + | string | Тип запроса. Варианты: card, public_token, recurrent_token, bank_account_ru |
card | - (обязателен для type = card) | object | Данные банковской карты |
public_token | - (обязателен для type = public_token) | object | Данные токена |
recurrent_token | - (обязателен для type = recurrent_token) | object | Данные токена для рекуррентных платежей и выплат |
bank_account_ru | - (обязателен для type = bank_account_ru) | object | Данные банковского счета |
Примеры запросов информации
- Хеш-номер карты
- Публичный токен
- Токен для рекуррентных платежей или выплат
- Токен банковского счета
Вы отправляете хеш-номер банковской карты и получаете информацию по карте.
curl -X POST \
https://demo.bank131.ru/api/v1/token/info \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "card",
"card": {
"type": "encrypted_card",
"encrypted_card": {
"number_hash": "card_number_hash"
}
}
}'
Вы отправляете публичный токен и получаете информацию о нем.
curl -X POST \
https://demo.bank131.ru/api/v1/token/info \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "public_token",
"public_token": {
"token": "your_token"
}
}'
Вы отправляете токен и получаете информацию о нем.
curl -X POST \
https://demo.bank131.ru/api/v1/token/info \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "recurrent_token",
"recurrent_token": {
"token": "your_token"
}
}'
Вы отправляете токен и получаете информацию о нем.
curl -X POST \
https://proxy-stage.bank131.ru/api/v1/token/info \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "bank_account_ru",
"bank_account_ru": {
"token": "4371c4633033d3e7f468c8ca5f50f7dd10c00fe8655563c3da759c16b505ba93"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
info | - | object | Информация о токене, зависит от типа запроса (type): токенизированная банковская карта, публичный токен, токен для рекуррентных платежей или выплат или токен банковского счета |
error | - | object | Ошибка |
Примеры ответов
- Данные карты по хешу
- Публичный токен
- Данные токена для рекуррентных платежей или выплат
- Данные токена банковского счета
{
"status": "ok",
"info": {
"number_hash": "card_number_hash",
"brand": "visa",
"last4": "4242",
"type": "card"
}
}
{
"status": "ok",
"info": {
"token": "your_token",
"created_at": "2021-03-17T14:10:56+03:00",
"finished_at": "2021-03-18T14:10:56+03:00",
"is_active": true,
"type": "public_token"
}
}
{
"status": "ok",
"info": {
"token": "your_token",
"created_at": "2021-03-17T14:19:05+03:00",
"finished_at": "2021-04-17T14:19:05+03:00",
"is_active": true,
"type": "recurrent_token"
}
}
{
"status": "ok",
"info": {
"masked_account": "40817***9535",
"created_at": "2024-02-08T17:17:44+03:00",
"finished_at": "2124-02-08T17:17:44+03:00",
"type": "bank_account_ru"
}
}
wallet/balance
С помощью этого запроса можно узнать ваш текущий баланс на депозите в Банке 131.
Данный метод можно использовать только для выплат. Информация о балансе для эквайринга доступна в вашем аккаунте интернет-банка в разделе Выписки, если возмещение перечисляется на счет в Банке 131.
Это нужно, чтобы убедиться, что на депозите достаточно денег:
- для проведения выплат,
- для проведения возвратов.
Если денег недостаточно, вы можете пополнить депозит.
Данный метод не передает информацию о балансе номинального счета. Эту информацию можно получить в вашем аккаунте интернет-банка в разделе Счета или с помощью метода
report/account_balance.
Адрес для отправки запроса
/api/v1/wallet/balance
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_datetime | + | string | Текущее время запроса в формате ISO 8601 |
Пример запроса
- cURL
- PHP
curl -X POST \
https://demo.bank131.ru/api/v1/wallet/balance \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_datetime": "2019-10-14T19:53:00+03:00"
}'
use Bank131\SDK\API\Request\Builder\RequestBuilderFactory;
use Bank131\SDK\Client;
use Bank131\SDK\Config;
$config = new Config(
'https://demo.bank131.ru',
'your_project_name',
file_get_contents('/path/to/your/private_key.pem')
);
$client = new Client($config);
$walletBalanceResponse = $client->wallet()->balance();
$wallets = $walletBalanceResponse->getWallets();
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
wallets | - | object | Список доступных счетов обеспечения в Банке 131 |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"wallets": [{
"id": "131",
"amount_details": {
"amount": 13100,
"currency": "rub"
}
}]
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Самозанятые
check и request/status
Проверка статуса самозанятого
Этот запрос позволяет проверить по ИНН, является физлицо самозанятым или нет.
Запрос состоит из двух частей:
- Отправьте запрос
checkс ИНН физлица в параметреtax_referenceи получите в ответ идентификаторrequest_id. - Отправьте запрос
request/statusс этим идентификатором. В ответе придет информация, зарегистрирован ли этот ИНН в налоговой как самозанятый и подключен ли он к Банку 131.
Запрос
checkне следует отправлять чаще, чем раз в 30 секунд.
Адрес для отправки запроса check
/api/v1/npd/check
Параметры запроса check
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
tax_reference | + | string | ИНН физлица |
Пример запроса check
curl -X POST \
https://demo.bank131.ru/api/v1/npd/check \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"tax_reference": "123456789012"
}'
Параметры ответа на запрос check
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
request_id | + | string | Идентификатор запроса |
Пример ответа на запрос check
{
"status": "ok",
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}
Адрес для отправки запроса request/status
/api/v1/npd/request/status
Параметры запроса request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос check |
Пример запроса request/status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/request/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}'
Параметры ответа на запрос request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
is_professional_income_taxpayer | - | bool | Является ли физлицо самозанятым |
is_linked | - | bool | Подключен ли самозанятый к Банку 131 |
error | - | object | Ошибка |
Примеры ответов на запрос request/status для check
- Физлицо является самозанятым и подключено к Банку 131
- Физлицо является самозанятым и не подключено к Банку 131
{
"status": "ok",
"is_professional_income_taxpayer": true,
"is_linked": true
}
{
"status": "ok",
"is_professional_income_taxpayer": true,
"is_linked": false
}
npd/accruals и npd/request/status
Метод для получения подробной информации о наличии налоговой задолженности и остатке налогового бонуса у самозанятых.
Запрос состоит из двух частей:
- Отправьте запрос в методе
npd/accruals, передайте в параметрах данные самозанятого и получите в ответ идентификатор в параметреrequest_id. - Отправьте запрос с этим идентификатором в методе
npd/request/status. В ответе придет подробная информация о наличии налоговой задолженности и остатке налогового бонуса у самозанятого.
Адрес для отправки запроса npd/accruals
/api/v1/npd/accruals
Параметры запроса npd/accruals
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
tax_reference_list | + | array | Список ИНН самозанятых. Не более 100 ИНН в одном запросе |
Пример запроса npd/accruals
curl -X POST \
https://demo.bank131.ru/api/v1/npd/accruals \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"tax_reference_list": [
"111111111111"
]
}'
Параметры ответа на запрос npd/accruals
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/accruals |
Пример ответа на запрос npd/accruals
{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}
Адрес для отправки запроса npd/request/status
/api/v1/npd/request/status
Параметры запроса npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/accruals |
Пример запроса npd/request/status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/request/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}'
Параметры ответа на запрос npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
accruals | - | jagged array | |
tax_charge_list | - | array | Информация о налоговой задолженности |
amount | - | string | Сумма начисления |
due_date | - | string | Срок оплаты |
tax_period_id | - | string | Идентификатор налогового периода. Формат: ГГГГММ |
oktmo | - | string | ОКТМО региона ведения деятельности |
kbk | - | string | Код бюджетной классификации |
paid_amount | - | string | Сумма поступивших оплат в АИС Налог 3 по данному начислению |
create_time | - | string | Дата и время создания налогового начисления |
id | - | string | Внутренний идентификатор налогового начисления в ПП НПД |
krsb_list | - | array | Информация о задолженности по карточке |
debt | - | string | Сумма о задолженности по карточке |
penalty | - | string | Сумма пени по карточке |
overpayment | - | string | Сумма переплаты по карточке |
oktmo | - | string | ОКТМО региона ведения деятельности, связанного с КРСБ |
kbk | - | string | Код бюджетной классификации, связанный с КРСБ |
tax_organ_code | - | string | Код налогового органа, связанного с КРСБ |
update_time | - | string | Дата/Время обновления информации по карточке в ПП НПД |
id | - | string | Внутренний идентификатор карточки в ПП НПД |
inn | - | string | ИНН |
Пример ответа на запрос npd/request/status
{
"status": "ok",
"accruals": [{
"tax_charge_list": [{
"amount": "",
"due_date": "",
"tax_period_id": "",
"oktmo": "",
"kbk": "",
"paid_amount": "",
"create_time": "",
"id": ""
}],
"krsb_list": [{
"debt": "",
"penalty": "",
"overpayment": "",
"oktmo": "",
"kbk": "",
"tax_organ_code": "",
"update_time": "",
"id": ""
}],
"inn": "111111111111"
}]
}
npd/notifications/count и npd/request/status
Метод для получения количества непрочитанных оповещений из ФНС для самозанятых.
Запрос состоит из двух частей:
- Отправьте запрос в методе
npd/notifications/count, передайте в параметрах ИНН и получите в ответ идентификатор в параметреrequest_id. - Отправьте запрос с этим идентификатором в методе
npd/request/status. В ответе придет информация о количестве непрочитанных оповещений. Статусpendingозначает, что необходимо повторить запрос.
Адрес для отправки запроса npd/notifications/count
/api/v1/npd/notifications/count
Параметры запроса npd/notifications/count
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
tax_reference_list | + | array | Список ИНН (не более 1000 штук в одном запросе) |
Пример запроса npd/notifications/count
curl -X POST \
https://demo.bank131.ru/api/v1/npd/notifications/count \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"tax_reference_list": [
"123456789012"
]
}'
Параметры ответа на запрос npd/notifications/count
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/notifications/count |
Пример ответа на запрос npd/notifications/count
{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}
Адрес для отправки запроса npd/request/status
/api/v1/npd/request/status
Параметры запроса npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/notifications/count |
Пример запроса npd/request/status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/request/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}'
Параметры ответа на запрос npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
info | - | array | Количество оповещений |
Пример ответа на запрос npd/request/status
{
"status": "ok",
"info": [{
"tax_reference": "",
"count": 0
}]
}
npd/notifications/mark_as_delivered и npd/request/status
Метод для отправки в ФНС уведомления о доставке оповещений самозанятому. Метод необходимо вызывать после метода notifications/read.
Запрос состоит из двух частей:
- Отправьте запрос в методе
npd/notifications/mark_as_delivered, передайте в параметрах данные самозанятого и получите в ответ идентификатор в параметреrequest_id. - Отправьте запрос с этим идентификатором в методе
npd/request/status. В ответе придет статус доставки.
Адрес для отправки запроса npd/notifications/mark_as_delivered
/api/v1/npd/notifications/mark_as_delivered
Параметры запроса npd/notifications/mark_as_delivered
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
notification_list | + | array | Данные об оповещениях |
Пример запроса npd/notifications/mark_as_delivered
curl -X POST \
https://demo.bank131.ru/api/v1/npd/notifications/mark_as_delivered \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"notification_list": [{
"message_id_list": [
"123",
"234"
],
"tax_reference": "123456789012"
}]
}'
Параметры ответа на запрос npd/notifications/mark_as_delivered
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/notifications/mark_as_delivered |
Пример ответа на запрос npd/notifications/mark_as_delivered
{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}
Адрес для отправки запроса npd/request/status
/api/v1/npd/request/status
Параметры запроса npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/notifications/mark_as_delivered |
Пример запроса npd/request/status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/request/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}'
Параметры ответа на запрос npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
Пример ответа на запрос npd/request/status
{
"status": "ok"
}
npd/notifications/read и npd/request/status
Метод для получения подробной информации о непрочитанных оповещениях для самозанятых из ФНС.
Запрос состоит из двух частей:
- Отправьте запрос в методе
npd/notifications/read, передайте в параметрах ИНН и получите в ответ идентификатор в параметреrequest_id. - Отправьте запрос с этим идентификатором в методе
npd/request/status. В ответе придет информация о непрочитанных оповещениях для самозанятых из ФНС. Статусpendingозначает, что необходимо повторить запрос.
Адрес для отправки запроса npd/notifications/read
/api/v1/npd/notifications/read
Параметры запроса npd/notifications/read
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
tax_reference_list | + | array | Список ИНН |
get_read | + | boolean | Выводить в ответе уже прочитанные оповещения. Возможные варианты: true — выводить; false — не выводить |
get_archived | + | boolean | Выводить в ответе архивные оповещения. Возможные варианты: true — выводить; false — не выводить |
Пример запроса npd/notifications/read
curl -X POST \
https://demo.bank131.ru/api/v1/npd/notifications/read \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"tax_reference_list": [
"123456789012"
],
"get_read": false,
"get_archived": false
}'
Параметры ответа на запрос npd/notifications/read
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/notifications/read |
Пример ответа на запрос npd/notifications/read
{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}
Адрес для отправки запроса npd/request/status
/api/v1/npd/request/status
Параметры запроса npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/notifications/read |
Пример запроса npd/request/status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/request/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}'
Параметры ответа на запрос npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
info | - | array | Список параметров для ИНН |
Пример ответа на запрос npd/request/status
{
"status": "ok",
"info": [{
"tax_reference": "123456789012",
"notifications": [{
"id": "132313",
"title": "131.ru запрашивает разрешение на осуществление определенных действий от Вашего имени",
"message": "131.ru запросил у Вас разрешение на осуществление определенных действий от Вашего имени. Вы можете ознакомиться с перечнем запрошенных разрешений и дать свое согласие (уполномочить 131.ru), нажав кнопку \"Разрешить\", или отказать ему, нажав кнопку \"Отказать\".",
"status": "NEW",
"created_at": "2023-03-22T13:29:55+00:00"
}]
}]
}
npd/notifications/update и npd/request/status
Метод для отправки в ФНС уведомления о том, что оповещение было прочитано самозанятым. Метод необходимо вызывать после метода notifications/mark_as_delivered.
Запрос состоит из двух частей:
- Отправьте запрос в методе
npd/notifications/update, передайте в параметрах данные самозанятого и получите в ответ идентификатор в параметреrequest_id. - Отправьте запрос с этим идентификатором в методе
npd/request/status. В ответе придет статус отправки.
Адрес для отправки запроса npd/notifications/update
/api/v1/npd/notifications/update
Параметры запроса npd/notifications/update
| Название | Обязательность | Ти | Описание |
|---|---|---|---|
notification_list | + | array | Данные об оповещениях |
Пример запроса npd/notifications/update
curl -X POST \
https://demo.bank131.ru/api/v1/npd/notifications/update \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"notification_list": [{
"tax_reference": "123456789012"
}]
}'
Параметры ответа на запрос npd/notifications/update
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/notifications/update |
Пример ответа на запрос npd/notifications/update
{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}
Адрес для отправки запроса npd/request/status
/api/v1/npd/request/status
Параметры запроса npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/notifications/update |
Пример запроса npd/request/status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/request/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}'
Параметры ответа на запрос npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
Пример ответа на запрос npd/request/status
{
"status": "ok"
}
npd/taxpayer/account_status и npd/request/status
Метод для получения общей информации о наличии налоговой задолженности и остатке налогового бонуса у самозанятых.
Запрос состоит из двух частей:
- Отправьте запрос в методе
npd/taxpayer/account_status, передайте в параметрах данные самозанятого и получите в ответ идентификатор в параметреrequest_id. - Отправьте запрос с этим идентификатором в методе
npd/request/status. В ответе придет общая информация о наличии налоговой задолженности и остатке налогового бонуса у самозанятого.
Адрес для отправки запроса npd/taxpayer/account_status
/api/v1/npd/taxpayer/account_status
Параметры запроса npd/taxpayer/account_status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
tax_reference | + | string | ИНН самозанятого. Не более 1 ИНН в запросе |
Пример запроса npd/taxpayer/account_status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/taxpayer/account_status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"tax_reference": "123456789012"
}'
Параметры ответа на запрос npd/taxpayer/account_status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/taxpayer/account_status |
Пример ответа на запрос npd/taxpayer/account_status
{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}
Адрес для отправки запроса npd/request/status
/api/v1/npd/request/status
Параметры запроса npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/taxpayer/account_status |
Пример запроса npd/request/status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/request/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}'
Параметры ответа на запрос npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
bonus_amount | - | string | Сумма бонусного счета |
unpaid_amount | - | string | Общая сумма неоплаченных платежей |
debt_amount | - | string | Сумма задолженности (включена в общая сумму неоплаченных платежей) |
Пример ответа на запрос npd/request/status
{
"status": "ok",
"bonus_amount": "9972.3624",
"unpaid_amount": "0",
"debt_amount": "0"
}
npd/taxpayer/check_personal_info и npd/request/status
Проверка соответствия данных самозанятого
Запрос позволяет проверить соответствие данных (ИНН, ФИО, номер телефона) самозанятого с теми, которые имеются в ФНС.
Запрос состоит из двух частей:
- Отправьте запрос в методе
npd/taxpayer/check_personal_info, передайте в параметрах ИНН, ФИО и номер телефона самозанятого, и получите в ответ идентификатор в параметреrequest_id. - Отправьте запрос с этим идентификатором в методе
npd/request/status. В ответе придет информация о возможных расхождениях с данными, которые есть у ФНС. Статусpendingозначает, что необходимо повторить запрос.
Адрес для отправки запроса npd/taxpayer/check_personal_info
/api/v1/npd/taxpayer/check_personal_info
Параметры запроса npd/taxpayer/check_personal_info
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
first_name | + | string | Имя самозанятого |
second_name | + | string | Фамилия самозанятого |
patronymic | + | string | Отчество самозанятого |
tax_reference | + | string | ИНН самозанятого |
phone | + | string | Номер телефона самозанятого. Формат: "7ХХХХХХХХХХ" |
Пример запроса npd/taxpayer/check_personal_info
curl -X POST \
https://demo.bank131.ru/api/v1/npd/taxpayer/check_personal_info \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"first_name": "Иван",
"second_name": "Иванов",
"patronymic": "Иванович",
"tax_reference": "123456789012",
"phone": "71234567890"
}'
Параметры ответа на запрос npd/taxpayer/check_personal_info
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
request_id | - | string | Идентификатор, который пришел в ответ на запрос npd/taxpayer/check_personal_info |
Пример ответа на запрос npd/taxpayer/check_personal_info
{
"status": "ok",
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}
Адрес для отправки запроса npd/request/status
/api/v1/npd/request/status
Параметры запроса npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
request_id | + | string | Идентификатор, который пришел в ответ на запрос npd/taxpayer/check_personal_info |
Пример запроса npd/request/status
curl -X POST \
https://demo.bank131.ru/api/v1/npd/request/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_id": "07adcced-8eb8-49c6-82ce-c3ded0b5bda6"
}'
Параметры ответа на запрос npd/request/status
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok, pending |
success | - | boolean | Расхождение в параметрах. true - расхождение не обнаружено; false - обнаружено расхождение |
violations | - | array[string] | Массив с названиями параметров, в значениях которых обнаружены расхождения. Возможные значения: "first_name", "second_name", "patronymic", "tax_reference", "phone" |
error | - | object | Ошибка |
Пример ответа на запрос npd/request/status
{
"status": "ok",
"success": false,
"violations": [
"first_name",
"second_name",
"phone"
]
}
Номинальный счет
session/create/nominal
Создание платежной сессии
Этот запрос создает платежную сессию на стороне Банка 131.
Сессия необходима для проведения платежных операций.
Используйте этот запрос, если вам нужно запросить у пользователя данные для проведения выплаты. Например, вызвать виджет для токенизации, показать пользователю и получить токенизированные данные счета и уже с этими данными отправить запрос на выплату.
Если вы готовы передать в запросе все данные, которые нужны для проведения операции, можете использовать метод, при котором сразу после создания сессии стартует выплата
session/init/payout/nominal. В этом случае запускать операцию отдельным запросом не нужно.
В ответе возвращаются параметры созданной сессии.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/create/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_method | - | object | Платежные данные |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/create/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40817810400003869535",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств по договору № 5015553111 Иванов Иван Иванович НДС не облагается"
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.586072Z",
"updated_at": "2023-05-10T16:58:43.705620Z",
"payments": [{
"id": "po_72265",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.781934Z",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810900000000001",
"full_name": "Наименование организации",
"description": "Перечисление денежных средств по договору № 1 НС от 01.09.2021 комиссия площадки за декабрь 2022 г. НДС не облагается.",
"is_fast": false,
"kpp": "156605001",
"inn": "3111104710"
}
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"paymentMetadata": {},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "Invalid input request parameters: payment_method.bank_account.ru.inn (bank_account_ru.inn.invalid_length)",
"code": "invalid_request"
}
}
Адрес для отправки запроса
/api/v2/session/create/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payout_details | - | object | Платежные данные |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v2/session/create/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payout_details": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40817810400003869535",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств по договору № 5015553111 Иванов Иван Иванович НДС не облагается"
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.586072Z",
"updated_at": "2023-05-10T16:58:43.705620Z",
"payout_list": [{
"id": "po_72265",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.781934Z",
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810900000000001",
"full_name": "Наименование организации",
"description": "Перечисление денежных средств по договору № 1 НС от 01.09.2021 комиссия площадки за декабрь 2022 г. НДС не облагается.",
"is_fast": false,
"kpp": "156605001",
"inn": "3111104710"
}
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"paymentMetadata": {},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/init/payout/nominal
Создание сессии с одновременным стартом выплаты на банковский счет
Этот запрос можно использовать для отправки выплаты с номинального счета на банковский счет.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/init/payout/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_method | + | object | Платежные данные |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Примеры запросов
- Выплата на счет физического лица
- Выплата на счет юридического лица
curl -X POST \
https://demo.bank131.ru/api/v1/session/init/payout/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40817810400003869535",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств по договору № 5015553111 Иванов Иван Иванович НДС не облагается"
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
curl -X POST \
https://demo.bank131.ru/api/v1/session/init/payout/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40702810500000000001",
"full_name": "ООО Наименование организации",
"inn": "1111111111",
"kpp": "156605101",
"description": "Перечисление денежных средств по договору за декабрь 2022 г. НДС не облагается."
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.586072Z",
"updated_at": "2023-05-10T16:58:43.705620Z",
"payments": [{
"id": "po_72265",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.781934Z",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810900000000001",
"full_name": "Наименование организации",
"description": "Перечисление денежных средств по договору № 1 НС от 01.09.2021 комиссия площадки за декабрь 2022 г. НДС не облагается.",
"is_fast": false,
"kpp": "156605001",
"inn": "3111104710"
}
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"paymentMetadata": {},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/init/payout/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payout_details | + | object | Платежные данные |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Примеры запросов
- Выплата на счет физического лица
- Выплата на счет юридического лица
curl -X POST \
https://demo.bank131.ru/api/v2/session/init/payout/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payout_details": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40817810400003869535",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств по договору № 5015553111 Иванов Иван Иванович НДС не облагается"
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
curl -X POST \
https://demo.bank131.ru/api/v2/session/init/payout/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payout_details": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40702810500000000001",
"full_name": "ООО Наименование организации",
"inn": "1111111111",
"kpp": "156605101",
"description": "Перечисление денежных средств по договору за декабрь 2022 г. НДС не облагается."
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_287403",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.586072Z",
"updated_at": "2023-05-10T16:58:43.705620Z",
"payout_list": [{
"id": "po_72265",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.781934Z",
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810900000000001",
"full_name": "Наименование организации",
"description": "Перечисление денежных средств по договору № 1 НС от 01.09.2021 комиссия площадки за декабрь 2022 г. НДС не облагается.",
"is_fast": false,
"kpp": "156605001",
"inn": "3111104710"
}
}
},
"amount_details": {
"amount": 300,
"currency": "rub"
},
"paymentMetadata": {},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/multi/create/nominal
Создание платежной сессии
Этот запрос создает платежную сессию на стороне Банка 131.
Сессия необходима для проведения платежных операций. В рамках сессии может проходить одна или несколько операций.
Используйте этот запрос, если вам нужно запросить у пользователя данные для проведения выплаты или платежа. Например, вызвать виджет для токенизации, показать пользователю и получить токенизированные данные карты и уже с этими данными отправить запрос на выплату.
Если вы готовы передать в запросе все данные, которые нужны для проведения операции, можете использовать метод, при котором сразу после создания сессии стартует выплата
session/multi/init/payment/nominal. В этом случае запускать операцию отдельным запросом не нужно.
В ответе возвращаются параметры созданной сессии.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/multi/create/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | - | object | Данные о переводе |
payment_method | - | object | Платежные данные (карта, банковский счет и др.) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/multi/create/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "Назначение платежа"
}
}
},
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "****************"
}
}
},
"participant_details": {
"sender": {
"full_name": "Данные отправителя",
"beneficiary_id": "1234567890"
},
"recipient": {
"full_name": "Иванов Иван Иванович"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"customer": {
"reference": "123456789012"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payments": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"acquiring_payments": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/multi/create/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | - | object | Данные о переводе |
payout_details | - | object | Платежные данные (карта, банковский счет и др.) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v2/session/multi/create/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "Назначение платежа"
}
}
},
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "****************"
}
}
},
"participant_details": {
"sender": {
"full_name": "Данные отправителя",
"beneficiary_id": "1234567890"
},
"recipient": {
"full_name": "Иванов Иван Иванович"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"customer": {
"reference": "123456789012"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payout_list": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payout_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"payment_list": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
session/multi/init/payment/nominal
Создание сессии с одновременным стартом выплаты на банковскую карту
Можно использовать этот запрос, если вы сразу готовы передать все параметры для создания выплаты.
В ответе возвращаются параметры созданной сессии и объект с информацией о выплате (acquiring_payments/payment_list).
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/multi/init/payment/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | + | object | Данные о переводе |
payment_method | + | object | Платежные данные (карта) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
customer | + | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/multi/init/payment/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout"
}
}
},
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"beneficiary_id": "123412341234"
},
"sender": {
"full_name": "Ivan Ivanovich Ivanov",
"beneficiary_id": "123412341234"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"customer": {
"reference": "test"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payments": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"acquiring_payments": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/multi/init/payment/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | + | object | Данные о переводе |
payout_details | + | object | Платежные данные (карта) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
customer | + | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v2/session/multi/init/payment/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout"
}
}
},
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"beneficiary_id": "123412341234"
},
"sender": {
"full_name": "Ivan Ivanovich Ivanov",
"beneficiary_id": "123412341234"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"customer": {
"reference": "test"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payout_list": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payout_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"payment_list": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
session/multi/start/payment/nominal
Старт выплаты на банковскую карту
Этот запрос можно использовать, чтобы начать выплату в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения операции или заменить уже переданные.
Если вы используете виджет для токенизации данных банковской карты пользователя, в этом запросе можно их передать.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/multi/start/payment/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_details | + | object | Данные о переводе |
payment_method | + | object | Платежные данные (карта, банковский счет и др.) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
customer | + | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/multi/start/payment/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_12345",
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout"
}
}
},
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"beneficiary_id": "123412341234"
},
"sender": {
"full_name": "Ivan Ivanovich Ivanov",
"beneficiary_id": "123412341234"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"customer": {
"reference": "test"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_72974",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payments": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"acquiring_payments": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/multi/start/payment/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_details | + | object | Данные о переводе |
payout_details | + | object | Платежные данные (карта, банковский счет и др.) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
customer | + | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v2/session/multi/start/payment/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_12345",
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout"
}
}
},
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"beneficiary_id": "123412341234"
},
"sender": {
"full_name": "Ivan Ivanovich Ivanov",
"beneficiary_id": "123412341234"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"customer": {
"reference": "test"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payout_list": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payout_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"payment_list": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_nominal_account",
"transfer_from_nominal_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 30000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
session/start/payout/nominal
Старт выплаты на банковский счет
Этот запрос можно использовать для отправки выплаты с номинального счета на банковский счет.
Этот запрос можно использовать, чтобы начать выплату в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения операции или заменить уже переданные.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/start/payout/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_method | + | object | Платежные данные |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Примеры запросов
- Выплата на счет физического лица
- Выплата на счет юридического лица
curl -X POST \
https://demo.bank131.ru/api/v1/session/start/payout/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_12345",
"payment_method": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40817810400003869535",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств по договору № 5015553111 Иванов Иван Иванович НДС не облагается"
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 30000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
curl -X POST \
https://demo.bank131.ru/api/v1/session/start/payout/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_12345",
"payment_method": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40702810500000000001",
"full_name": "ООО Наименование организации",
"inn": "1111111111",
"kpp": "156605101",
"description": "Перечисление денежных средств по договору за декабрь 2022 г. НДС не облагается."
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 30000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.586072Z",
"updated_at": "2023-05-10T16:58:43.705620Z",
"payments": [{
"id": "po_72265",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.781934Z",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810900000000001",
"full_name": "Наименование организации",
"description": "Перечисление денежных средств по договору № 1 НС от 01.09.2021 комиссия площадки за декабрь 2022 г. НДС не облагается.",
"is_fast": false,
"kpp": "156605001",
"inn": "3111104710"
}
}
},
"amount_details": {
"amount": 30000,
"currency": "rub"
},
"paymentMetadata": {},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/start/payout/nominal
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payout_details | + | object | Платежные данные |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Примеры запросов
- Выплата на счет физического лица
- Выплата на счет юридического лица
curl -X POST \
https://demo.bank131.ru/api/v2/session/start/payout/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_12345",
"payout_details": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40817810400003869535",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств по договору № 5015553111 Иванов Иван Иванович НДС не облагается"
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 30000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
curl -X POST \
https://demo.bank131.ru/api/v2/session/start/payout/nominal \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_12345",
"payout_details": {
"type": "bank_account",
"bank_account": {
"ru": {
"bik": "044525974",
"account": "40702810500000000001",
"full_name": "ООО Наименование организации",
"inn": "1111111111",
"kpp": "156605101",
"description": "Перечисление денежных средств по договору за декабрь 2022 г. НДС не облагается."
},
"system_type": "ru"
}
},
"amount_details": {
"amount": 30000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.586072Z",
"updated_at": "2023-05-10T16:58:43.705620Z",
"payout_list": [{
"id": "po_72265",
"status": "in_progress",
"created_at": "2023-05-10T16:58:43.781934Z",
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810900000000001",
"full_name": "Наименование организации",
"description": "Перечисление денежных средств по договору № 1 НС от 01.09.2021 комиссия площадки за декабрь 2022 г. НДС не облагается.",
"is_fast": false,
"kpp": "156605001",
"inn": "3111104710"
}
}
},
"amount_details": {
"amount": 30000,
"currency": "rub"
},
"paymentMetadata": {},
"participant_details": {
"sender": {
"account": "40702810300200000013"
},
"recipient": {
"beneficiary_id": "1234567890"
}
}
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Расчетный счет
session/create/rko
Создание платежной сессии
Этот запрос создает платежную сессию на стороне Банка 131.
Сессия необходима для проведения платежных операций.
Используйте этот запрос, если вам нужно запросить у пользователя данные для проведения выплаты. Например, вызвать виджет для токенизации, показать пользователю и получить токенизированные данные счета и уже с этими данными отправить запрос на выплату.
Если вы готовы передать в запросе все данные, которые нужны для проведения операции, можете использовать метод, при котором сразу после создания сессии стартует выплата session/init/payout/rko. В этом случае запускать операцию отдельным запросом не нужно.
В ответе возвращаются параметры созданной сессии.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/create/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_method | - | object | Платежные данные (банковский счет) |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | - | object | Информация об отправителе |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v1/session/create/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810900000000011"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/create/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payout_details | - | object | Платежные данные (банковский счет) |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | - | object | Информация об отправителе |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v2/session/create/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810900000000011"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/init/payout/rko
Создание сессии с одновременным стартом выплаты на банковский счет
Этот запрос можно использовать для отправки выплаты с расчетного счета на банковский счет.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/init/payout/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_method | + | object | Платежные данные (банковский счет) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | + | object | Информация об отправителе |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v1/session/init/payout/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810900000000011"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/init/payout/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payout_details | + | object | Платежные данные (банковский счет) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | + | object | Информация об отправителе |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v2/session/init/payout/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810900000000011"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
session/multi/create/rko
Создание платежной сессии
Этот запрос создает платежную сессию на стороне Банка 131 для выплаты с расчетного счета.
Сессия необходима для проведения платежных операций. В рамках сессии может проходить одна или несколько операций.
Используйте этот запрос, если вам нужно запросить у пользователя данные для проведения выплаты. Например, вызвать виджет для токенизации, показать пользователю и получить токенизированные данные карты и уже с этими данными отправить запрос на выплату.
Если вы готовы передать в запросе все данные, которые нужны для проведения операции, можете использовать метод, при котором сразу после создания сессии стартует выплата (
session/multi/init/payment/rko). В этом случае запускать операцию отдельным запросом не нужно.
В ответе возвращаются параметры созданной сессии.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/multi/create/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | - | object | Данные о переводе |
payment_method | - | object | Платежные данные (карта, банковский счет и др.) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/multi/create/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "Назначение платежа"
}
}
},
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "****************"
}
}
},
"participant_details": {
"sender": {
"full_name": "Данные отправителя"
},
"recipient": {
"full_name": "Иванов Иван Иванович"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"customer": {
"reference": "123456789012"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payments": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"acquiring_payments": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/multi/create/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | - | object | Данные о переводе |
payout_details | - | object | Платежные данные (карта, банковский счет и др.) |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | - | object | Информация об участниках операции (отправителе и получателе) |
amount_details | - | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v2/session/multi/create/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "Назначение платежа"
}
}
},
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "****************"
}
}
},
"participant_details": {
"sender": {
"full_name": "Данные отправителя"
},
"recipient": {
"full_name": "Иванов Иван Иванович"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"customer": {
"reference": "123456789012"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payout_list": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payout_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"payment_list": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
session/multi/init/payment/rko
Создание сессии с одновременным стартом выплаты на банковскую карту
Можно использовать этот запрос, если вы сразу готовы передать все параметры для создания выплаты.
Если вы используете выплатной виджет, чтобы получить токенизированные данные банковской карты пользователя, в этом запросе можно их передать.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/multi/init/payment/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | + | object | Данные о переводе |
payment_method | + | object | Платежные данные (карта, банковский счет и др.) |
customer | + | object | Данные получателя в вашей системе |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/multi/init/payment/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout"
}
}
},
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivan Ivanovich Ivanov"
},
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"customer": {
"reference": "test"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payments": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"acquiring_payments": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/multi/init/payment/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
payment_details | + | object | Данные о переводе |
payout_details | + | object | Платежные данные (карта, банковский счет и др.) |
customer | + | object | Данные получателя в вашей системе |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v2/session/multi/init/payment/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout"
}
}
},
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivan Ivanovich Ivanov"
},
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"customer": {
"reference": "test"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payout_list": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payout_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"payment_list": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
session/multi/start/payment/rko
Старт выплаты на банковскую карту
Этот запрос можно использовать, чтобы начать выплату с расчетного счета на банковскую карту в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения операции или заменить уже переданные.
Если вы используете выплатной виджет, чтобы получить токенизированные данные банковской карты пользователя, в этом запросе можно их передать.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/multi/start/payment/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_details | + | object | Данные о переводе |
payment_method | + | object | Платежные данные (карта, банковский счет и др.) |
customer | + | object | Данные получателя в вашей системе |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/multi/start/payment/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_12345",
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout"
}
}
},
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivan Ivanovich Ivanov"
},
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"customer": {
"reference": "test"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payments": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"acquiring_payments": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
Адрес для отправки запроса
/api/v2/session/multi/start/payment/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_details | + | object | Данные о переводе |
payout_details | + | object | Платежные данные (карта, банковский счет и др.) |
customer | + | object | Данные получателя в вашей системе |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
participant_details | + | object | Информация об участниках операции (отправителе и получателе) |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v2/session/multi/start/payment/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_12345",
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout"
}
}
},
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivan Ivanovich Ivanov"
},
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"customer": {
"reference": "test"
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_12345",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.274416Z",
"updated_at": "2021-08-06T11:34:51.466550Z",
"payout_list": [{
"id": "po_25657",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545329Z",
"customer": {
"reference": "lucky"
},
"payout_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "0002"
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}],
"payment_list": [{
"id": "pm_15174",
"status": "in_progress",
"created_at": "2021-08-06T11:34:51.545232Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internal_transfer",
"internal_transfer": {
"type": "transfer_from_bank_account",
"transfer_from_bank_account": {
"description": "test payout",
"card_mask": "400000******0002"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}]
}
}
{
"error": {
"description": "error description",
"code": "error code"
},
"status": "error"
}
session/start/payout/rko
Старт выплаты на банковский счет
Этот запрос можно использовать для отправки выплаты с номинального счета на банковский счет в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения операции или заменить уже переданные.
- API v1
- API v2
Адрес для отправки запроса
/api/v1/session/start/payout/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payment_method | + | object | Платежные данные (банковский счет) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | + | object | Информация об отправителе |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v1/session/start/payout/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810900000000011"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Адрес для отправки запроса
/api/v2/session/start/payout/rko
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
payout_details | + | object | Платежные данные (банковский счет) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_details | + | object | Информация об отправителе |
fiscalization_details | - | object | Данные для фискализации, только для выплат самозанятым |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v2/session/start/payout/rko \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"participant_details": {
"sender": {
"account": "40702810900000000011"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payout_list": [{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810300000000006",
"full_name": "Вектор",
"inn": "1234567890",
"kpp": "165801002",
"description": "Перевод с расчетного счета на счет другого ЮЛ, открытого в Банке 131"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}
Денежные переводы
calculate
Метод предназначен для конвертации валюты при проведении денежных переводов.
Конвертация может проходить по прямому или обратному курсу:
- Прямой курс — укажите сумму перевода в рублях, чтобы рассчитать сумму к получению в целевой валюте.
- Обратный курс — укажите сумму к получению в целевой валюте, чтобы рассчитать, сколько рублей нужно отправить.
Адрес для отправки запроса
/api/v1/calculate
Параметры запроса
| Название | Обязательность | Тип данных | Описание |
|---|---|---|---|
amounts | + | object | Сумма и валюта конвертации |
source | + | object | Сумма и валюта списания с отправителя |
amount | + | number | Значение в минорных единицах валюты (в копейках) для расчета прямого курса, или значение null для расчета обратного курса валюты |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен. Значение rub обязательно должно быть указано в одном из объектов: source.currency или destination.currency |
destination | + | object | Сумма и валюта зачисления получателю |
amount | + | number | Значение в минорных единицах валюты (в копейках) для расчета обратного курса, или значение null для расчета прямого курса валюты |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен. Значение rub обязательно должно быть указано в одном из объектов: source.currency или destination.currency |
Примеры запросов
- Прямой курс. Конвертация из RUB в TRY
- Обратный курс. Конвертация из UZS в RUB
curl -X POST \
https://demo.bank131.ru/api/v1/calculate \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"amounts": {
"source": {
"amount": 357912,
"currency": "RUB"
},
"destination": {
"amount": null,
"currency": "TRY"
}
}
}'
curl -X POST \
https://demo.bank131.ru/api/v1/calculate \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"amounts": {
"source": {
"amount": null,
"currency": "RUB"
},
"destination": {
"amount": 46943404,
"currency": "UZS"
}
}
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
amounts | + | object | Расчет суммы конвертации |
source | + | object | Сумма и валюта списания с отправителя |
amount | + | number | Сумма, рассчитанная в валюте плательщика (рублях) |
currency | + | string | Код валюты списания согласно ISO 4217. Регистр не важен |
destination | + | object | Сумма и валюта зачисления получателю |
amount | + | number | Сумма, рассчитанная к получению |
currency | + | string | Код валюты получения согласно ISO 4217. Регистр не важен |
transfer_fee | + | object | Комиссия с отправителя за перевод |
amount | + | number | Сумма комиссии, взимаемой с отправителя за осуществление перевода |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен. Варианты: rub |
sms_fee | + | object | Комиссия с отправителя за отправку СМС получателю |
amount | + | number | Сумма комиссии за отправку СМС получателю |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен. Варианты: rub |
payment | + | object | Итоговая сумма к списанию с отправителя |
amount | + | number | Фактическая сумма к списанию с отправителя с учетом всех комиссий. Представляет собой сумму source + transfer_fee + sms_fee |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен. Варианты: rub |
exchanges | + | object | Данные о курсе конвертации |
source | + | object | Полученные в запросе сумма и валюта списания с отправителя |
amount | + | number | Значение в минорных единицах валюты (в копейках) для расчета прямого курса, или значение null для расчета обратного курса валюты |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен |
destination | + | object | Полученные в запросе сумма и валюта зачисления получателю |
amount | + | number | Значение в минорных единицах валюты (в копейках) для расчета обратного курса, или значение null для расчета прямого курса валюты |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен |
rate | + | object | Курс валюты |
fx_rate | + | number | Значение курса валюты к рублю (валюты получения к валюте списания) с указанием 4 символов после десятичного разделителя. Например: 75.0145 |
quantity | + | number | Количество единиц валюты. Для некоторых валют расчеты ведутся в десятках, сотнях или тысячах единиц, значения валют на текущий день доступны на сайте Банка России |
error | - | object | Ошибка |
Примеры ответов
- Прямой курс. Конвертация из RUB в TRY
- Обратный курс. Конвертация из UZS в RUB
- Пример неуспешного ответа
{
"amounts": {
"source": {
"amount": 357913,
"currency": "RUB"
},
"destination": {
"amount": 131426,
"currency": "TRY"
},
"transfer_fee": {
"amount": 0,
"currency": "RUB"
},
"sms_fee": {
"amount": 0,
"currency": "RUB"
},
"payment": {
"amount": 5400,
"currency": "RUB"
}
},
"exchanges": {
"source": {
"amount": 357912,
"currency": "RUB"
},
"destination": {
"amount": null,
"currency": "TRY"
},
"rate": {
"fx_rate": 2.7233,
"quantity": 1
}
}
}
{
"amounts": {
"source": {
"amount": 357912,
"currency": "RUB"
},
"destination": {
"amount": 46943404,
"currency": "UZS"
},
"transfer_fee": {
"amount": 0,
"currency": "RUB"
},
"sms_fee": {
"amount": 0,
"currency": "RUB"
},
"payment": {
"amount": 9193,
"currency": "RUB"
}
},
"exchanges": {
"source": {
"amount": null,
"currency": "RUB"
},
"destination": {
"amount": 46943404,
"currency": "UZS"
},
"rate": {
"fx_rate": 76.2433,
"quantity": 10000
}
}
}
{
"status": "error",
"error": {
"description": "Invalid request",
"code": "invalid_request"
}
}
session/multi/init
Метод предназначен для создания мультисессии и старта трансграничного перевода.
Адрес для отправки запроса
/api/v2/session/multi/init
Параметры запроса
| Название | Обязательность | Тип данных | Описание |
|---|---|---|---|
payment_list | + | array | Список транзакций списания с отправителя |
amount_details | + | object | Информация о сумме выплаты. Значение дублируется с payout_list.amount_details |
amount | + | number | Значение суммы в минорных единицах валюты (в копейках). Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен |
customer | + | object | Данные о пользователе (получателе выплаты или отправителе платежа) в вашей системе |
reference | + | string | Идентификатор пользователя (получателя выплаты или отправителя платежа) |
participant_details | + | object | Информация об участниках перевода |
sender | + | object | Информация об отправителе |
first_name | + | string | Имя |
last_name | + | string | Фамилия |
middle_name | - | string | Отчество |
tax_reference | + | string | 12-значный ИНН отправителя |
date_of_birth | + | string | Дата рождения отправителя в формате ГГГГ-ММ-ДД. Убедитесь, что возраст отправителя 18+ |
identity_document | + | object | Данные документа, удостоверяющего личность отправителя |
id_type | + | string | Тип документа, удостоверяющего личность отправителя. Возможные значения: - Паспорт гражданина Российской Федерации- Паспорт иностранного гражданина |
id_number | + | string | Серия и номер документа, удостоверяющего личность отправителя (без пробелов) |
issue_date | + | string | Дата выдачи документа, удостоверяющего личность отправителя, в формате ГГГГ-ММ-ДД |
id_expiration_date | - | string | Дата окончания срока действия документа, удостоверяющего личность отправителя-нерезидента, в формате ГГГГ-ММ-ДД |
division_code | - | string | Код подразделения, выдавшего документ, удостоверяющий личность отправителя. Обязательно для заполнения при наличии в документе |
issued_by | - | string | Название подразделения, выдавшего документ, удостоверяющий личность отправителя. Обязательно для заполнения при наличии в документе |
citizenship_country_iso3 | + | string | Страна гражданства отправителя по стандарту ISO 3166-1 alpha-3 |
contacts | + | object | Контакты отправителя |
email | - | string | Электронная почта |
phone | + | object | Данные телефона |
full_number | + | string | Полный номер телефона в формате +<код страны><номер> |
country_iso3 | - | string | Код страны, к которой относится номер телефона (ISO 3166-1 alpha-3). Только для перевода в Турцию с получением наличных |
operator_code | - | string | Код оператора телефонного номера. Только для перевода в Турцию с получением наличных |
short_number | - | string | Номер телефона без кода оператора. Только для перевода в Турцию с получением наличных |
country_iso3 | + | string | Код страны (ISO 3166-1 alpha-3) |
postal_code | - | string | Почтовый индекс места регистрации отправителя |
state | - | string | Регион или район регистрации отправителя |
city | + | string | Населенный пункт регистрации отправителя |
street | - | string | Название улицы места регистрации отправителя |
building | + | string | Номер дома места регистрации отправителя |
flat | - | string | Квартира места регистрации отправителя |
payment_options | - | object | Параметры для проведения платежа |
return_url | - | string | URL, на который нужно перенаправить пользователя после проведения платежа. URL должен быть валидным |
recurrent | - | bool | Нужно ли провести платеж с помощью сохраненного токена. В payment_details следует указать токен банковской карты |
payment_details | + | object | Детали списания |
| type | + | string | Тип способа списания. Возможные варианты: - card — банковская карта,- recurrent — транзакция по ранее сохранённой карте |
card | - | object | Данные банковской карты для type = card |
recurrent | - | object | Данные токена банковской карты для type = recurrent |
payout_list | + | array | Список транзакций выплаты Получателю |
amount_details | + | object | Информация о сумме выплаты. Значение дублируется с payment_list.amount_details |
amount | + | number | Значение суммы в минорных единицах валюты (в копейках). Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен |
participant_details | + | object | Информация об участниках перевода |
recipient | + | object | Информация о получателе |
first_name | + | string | Имя |
last_name | + | string | Фамилия |
middle_name | - | string | Отчество |
tax_reference | - | string | 12-значный ИНН получателя |
date_of_birth | - | string | Дата рождения получателя в формате ГГГГ-ММ-ДД. Убедитесь, что возраст получателя 18+ |
identity_document | - | object | Данные документа, удостоверяющего личность получателя |
id_type | + | string | Тип документа, удостоверяющего личность получателя. Возможные значения: - Паспорт гражданина Российской Федерации- Паспорт иностранного гражданина |
id_number | + | string | Серия и номер документа, удостоверяющего личность получателя (без пробелов) |
issue_date | + | string | Дата выдачи документа, удостоверяющего личность получателя, в формате ГГГГ-ММ-ДД |
id_expiration_date | - | string | Дата окончания срока действия документа, удостоверяющего личность получателя-нерезидента, в формате ГГГГ-ММ-ДД |
division_code | - | string | Код подразделения, выдавшего документ, удостоверяющий личность получателя. Обязательно для заполнения при наличии в документе |
issued_by | - | string | Название подразделения, выдавшего документ, удостоверяющий личность получателя. Обязательно для заполнения при наличии в документе |
citizenship_country_iso3 | + | string | Страна гражданства получателя по стандарту ISO 3166-1 alpha-3 |
contacts | + | object | Контакты получателя |
email | - | string | Электронная почта |
phone | + | object | Данные телефона |
full_number | + | string | Полный номер телефона в формате +<код страны><номер> |
country_iso3 | - | string | Код страны, к которой относится номер телефона (ISO 3166-1 alpha-3). Только для перевода в Турцию с получением наличных |
operator_code | - | string | Код оператора телефонного номера. Только для перевода в Турцию с получением наличных |
short_number | - | string | Номер телефона без кода оператора. Только для перевода в Турцию с получением наличных |
purpose | - | string | Назначение перевода. Если recipient.country_iso3 = AZE:- gift (Подарок),- donation (Пожертвование),- support (Помощь),- education (Оплата за образование),- other (Другое) |
country_iso3 | - | string | Код страны (ISO 3166-1 alpha-3) |
postal_code | - | string | Почтовый индекс места регистрации получателя |
state | - | string | Регион или район регистрации получателя |
city | - | string | Населенный пункт регистрации получателя |
street | - | string | Название улицы места регистрации получателя |
building | - | string | Номер дома места регистрации получателя |
flat | - | string | Квартира места регистрации получателя |
payout_details | + | object | Детали выплаты |
type | + | string | Тип способа получения выплаты. Возможные варианты: - card (на банковскую карту), - bank_account (по IBAN), - tokenized_card (на ранее сохранённую банковскую карту), - moneysend (наличными) |
card | - | object | Данные банковской карты для type = card |
bank_account | - | object | Данные IBAN для type = bank_account |
tokenized_card | - | object | Данные токена банковской карты для type = tokenized_card |
moneysend | - | object | Объект передается при переводе наличными, всегда пустой: {} |
Примеры запросов
- Перевод с банковской карты на банковскую карту в Таджикистан
- Перевод с банковской карты на IBAN в Турцию
curl -X POST \
https://demo.bank131.ru/api/v2/session/multi/init \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_list": [{
"amount_details": { // Дублируется в payout_list, суммы и валюта должны совпасть
"amount": 37700,
"currency": "TJS"
},
"customer": {
"reference": "lucky"
},
"participant_details": {
"sender": {
"citizenship_country_iso3": "TRY",
"first_name": "Ольга",
"last_name": "Зайцева",
"middle_name": "Александровна",
"country_iso3": "RUS",
"state": "Московская область",
"city": "Уренгой",
"postal_code": "119900",
"street": "Конаковская",
"building": "99",
"flat": "1",
"date_of_birth": "1998-03-15",
"identity_document": {
"id_type": "Паспорт иностранного гражданина",
"id_number": "8008 579120",
"issue_date": "2020-03-01"
},
"contacts": {
"phone": {
"full_number": "+79376151530",
"country_iso3": "TJK",
"operator_code": "937",
"short_number": "6151530"
},
"email": "sender@test.com"
}
}
},
"payment_options": {
"return_url": "https://www.131.ru/"
},
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4111111111111111"
}
}
}
}],
"payout_list": [{ // Дублируется в payment_list, суммы и валюта должны совпасть
"amount_details": {
"amount": 37700,
"currency": "TJS"
},
"participant_details": {
"recipient": {
"first_name": "Sidor",
"last_name": "Sidorov",
"middle_name": "Sidorovich",
"date_of_birth": "2000-11-08",
"country_iso3": "TJK",
"citizenship_country_iso3": "TJK",
"contacts": {
"phone": {
"full_number": "+43523452345",
"country_iso3": "TJK",
"operator_code": "352",
"short_number": "3452345"
},
"email": "recipient@test.tr"
}
}
},
"payout_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "2204320396205389"
}
}
}
}]
}'
curl -X POST \
https://demo.bank131.ru/api/v2/session/multi/init \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_list": [{
"amount_details": { // Дублируется в payout_list, суммы и валюта должны совпасть
"amount": 1000,
"currency": "TRY"
},
"customer": {
"reference": "lucky"
},
"participant_details": {
"sender": {
"citizenship_country_iso3": "RUS",
"first_name": "Ольга",
"last_name": "Зайцева",
"middle_name": "Александровна",
"country_iso3": "RUS",
"state": "Московская область",
"city": "Уренгой",
"postal_code": "119900",
"street": "Конаковская",
"building": "99",
"flat": "1",
"date_of_birth": "1998-03-15",
"identity_document": {
"id_type": "Паспорт гражданина Российской Федерации",
"id_number": "8008 579120",
"issue_date": "2010-03-01",
"issued_by": "ОВД ПО Кировскому району",
"division_code": "123-543"
},
"contacts": {
"phone": {
"full_number": "+79376151530"
},
"email": "sender@test.com"
}
}
},
"payment_options": {
"return_url": "https://www.131.ru/"
},
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4111111111111111"
}
}
}
}],
"payout_list": [{ // Дублируется в payment_list, суммы и валюта должны совпасть
"amount_details": {
"amount": 1000,
"currency": "TRY"
},
"participant_details": {
"recipient": {
"first_name": "Sidor",
"last_name": "Sidorov",
"middle_name": "Sidorovich",
"date_of_birth": "2000-11-08",
"country_iso3": "TRY",
"citizenship_country_iso3": "TRY",
"contacts": {
"phone": {
"full_number": "+43523452345",
"country_iso3": "TRY",
"operator_code": "352",
"short_number": "3452345"
},
"email": "recipient@test.tr"
}
}
},
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "iban",
"iban": {
"account": "TR12312312"
}
}
}
}]
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
session | + | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Перевод с банковской карты на банковскую карту в Таджикистан
- Перевод с банковской карты на IBAN в Турцию
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3808365",
"status": "in_progress",
"created_at": "2025-08-08T12:39:15.668563Z",
"updated_at": "2025-08-08T12:39:16.388348Z",
"payout_list": [{
"id": "po_955259",
"status": "in_progress",
"created_at": "2025-08-08T12:39:16.439833Z",
"payout_details": {
"type": "card",
"card": {
"brand": "mir",
"last4": "5389",
"country_iso3": "RUS"
}
},
"amount_details": {
"amount": 37700,
"currency": "TJS"
},
"amounts": {},
"payment_metadata": {},
"participant_details": {
"recipient": {
"full_name": "Sidor Sidorov Sidorovich",
"first_name": "Sidor",
"last_name": "Sidorov",
"middle_name": "Sidorovich",
"country_iso3": "TJK",
"date_of_birth": "2000-11-08",
"citizenship_country_iso3": "TJK",
"contacts": {
"phone": {
"full_number": "+43523452345",
"country_iso3": "TJK",
"operator_code": "352",
"short_number": "3452345"
},
"email": "recipient@test.tr"
}
}
}
}],
"payment_list": [{
"id": "pm_2765898",
"status": "in_progress",
"created_at": "2025-08-08T12:39:16.439730Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "1111",
"country_iso3": "POL"
}
},
"amount_details": {
"amount": 37700,
"currency": "TJS"
},
"amounts": {},
"participant_details": {
"sender": {
"full_name": "Ольга Зайцева Александровна",
"first_name": "Ольга",
"last_name": "Зайцева",
"middle_name": "Александровна",
"country_iso3": "RUS",
"city": "Уренгой",
"postal_code": "119900",
"building": "99",
"date_of_birth": "1998-03-15",
"street": "Конаковская",
"flat": "1",
"state": "Московская область",
"identity_document": {
"id_type": "Паспорт иностранного гражданина",
"id_number": "8008 579120",
"issue_date": "2020-03-01"
},
"citizenship_country_iso3": "TRY",
"contacts": {
"phone": {
"full_number": "+79376151530",
"country_iso3": "TJK",
"operator_code": "937",
"short_number": "6151530"
},
"email": "sender@test.com"
}
}
},
"payment_options": {
"return_url": "https://www.131.ru/",
"recurrent": false
}
}]
}
}
{
"status": "ok",
"session": {
"id": "ps_3808544",
"status": "in_progress",
"created_at": "2025-08-11T07:39:00.076932Z",
"updated_at": "2025-08-11T07:39:00.476548Z",
"payout_list": [{
"id": "po_955266",
"status": "in_progress",
"created_at": "2025-08-11T07:39:00.528662Z",
"payout_details": {
"type": "bank_account",
"bank_account": {
"system_type": "iban",
"iban": {
"account": "TR12312312"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "TRY"
},
"amounts": {},
"payment_metadata": {},
"participant_details": {
"recipient": {
"full_name": "Sidor Sidorov Sidorovich",
"first_name": "Sidor",
"last_name": "Sidorov",
"middle_name": "Sidorovich",
"country_iso3": "TRY",
"date_of_birth": "2000-11-08",
"citizenship_country_iso3": "TRY",
"contacts": {
"phone": {
"full_number": "+43523452345",
"country_iso3": "TRY",
"operator_code": "352",
"short_number": "3452345"
},
"email": "recipient@test.tr"
}
}
}
}],
"payment_list": [{
"id": "pm_2766065",
"status": "in_progress",
"created_at": "2025-08-11T07:39:00.528558Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "1111",
"country_iso3": "POL"
}
},
"amount_details": {
"amount": 1000,
"currency": "TRY"
},
"amounts": {},
"participant_details": {
"sender": {
"full_name": "Ольга Зайцева Александровна",
"first_name": "Ольга",
"last_name": "Зайцева",
"middle_name": "Александровна",
"country_iso3": "RUS",
"city": "Уренгой",
"postal_code": "119900",
"building": "99",
"date_of_birth": "1998-03-15",
"street": "Конаковская",
"flat": "1",
"state": "Московская область",
"identity_document": {
"id_type": "Паспорт гражданина Российской Федерации",
"id_number": "8008 579120",
"issue_date": "2010-03-01",
"division_code": "123-543",
"issued_by": "ОВД ПО Кировскому району"
},
"citizenship_country_iso3": "RUS",
"contacts": {
"phone": {
"full_number": "+79376151530"
},
"email": "sender@test.com"
}
}
},
"payment_options": {
"return_url": "https://www.131.ru/",
"recurrent": false
}
}]
}
}
{
"status": "error",
"error": {
"description": "Invalid request",
"code": "invalid_request"
}
}
Прочее
sberpay/push
Метод для запроса статуса оплаты через SberPay.
Адрес для отправки запроса
/api/v1/sberpay/push
Параметры запроса
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
session_id | + | string | Идентификатор сессии |
phone | + | string | Номер телефона для отправки пуш-уведомления |
Пример запроса
curl -X GET \
https://proxy.bank131.ru/api/v1/sberpay/push \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_75459435",
"phone": "+79638594ххх"
}'
Параметры ответа
| Название | Обязательность | Тип | Описание |
|---|---|---|---|
status | + | string | Статус. Возможные варианты: error, ok |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok"
}
{
"status": "error",
"error": {
"description": "Internal error",
"code": "internal_error"
}
}