Методы
При обработке запросов проверяется корректность входных параметров, наличие необходимых заголовков, права на выполнение действий.
Проведение операций
fiscalization
Фискализация без выплаты
Этот запрос можно использовать, чтобы зарегистрировать выплату самозанятому в налоговой и получить ссылку на чек. Саму выплату проводить не нужно (можно провести до или после, любым удобным способом).
Чтобы отправить запрос на фискализацию, нужно сначала создать платежную сессию и получить идентификатор сессии (session_id
).
Адрес для отправки запроса
/api/v1/fiscalization
Параметры запроса
Название | Обязательность | Тип | Описание |
---|---|---|---|
session_id | + | string | Идентификатор платежной сессии |
fiscalization_details | + | object | Данные для фискализации |
payment_method | - | object | Платежные данные (карта, банковский счёт и др.) |
amount_details | - | object | Сумма |
participant_details | - | object | Информация об участниках выплаты |
customer | - | object | Данные получателя в вашей системе |
metadata | - | * | Дополнительная информация. Любые данные, которые вам необходимы для проведения операции. Возвращаются в ответах и вебхуках |
Пример запроса
- cURL
curl -X POST \
https://demo.bank131.ru/api/v1/fiscalization \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_2704",
"fiscalization_details": {
"professional_income_taxpayer": {
"tax_reference": "123456789012",
"payer_type": "legal",
"payer_tax_number": "3316004777",
"payer_name": "ООО Вектор",
"services": [
{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
}
},
{
"name": "Доставка сырья",
"amount_details": {
"amount": 5000,
"currency": "rub"
}
}
]
}
}
}'
Параметры ответа
Название | Обязательность | Тип | Описание |
---|---|---|---|
status | + | string | Статус. Возможные варианты: error , ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Пример успешного ответа
{
"status": "ok",
"session": {
"id": "ps_2704",
"status": "in_progress",
"created_at": "2021-05-27T08:13:33.736384Z",
"updated_at": "2021-05-27T08:13:33.871729Z",
"payments": [
{
"id": "po_2705",
"status": "in_progress",
"created_at": "2021-05-27T08:13:33.860754Z",
"amount_details": {
"amount": 15000,
"currency": "rub"
},
"fiscalization_details": {
"professional_income_taxpayer": {
"services": [
{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 2
},
{
"name": "Доставка сырья",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 1
}
],
"tax_reference": "123456789012",
"payer_type": "legal",
"payer_tax_number": "3316004777",
"payer_name": "ООО Вектор"
}
}
}
]
}
}
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
},
"status": "ok"
}
session/cancel
Отмена операции
Этот запрос можно отправлять, когда Банк 131 готов провести операцию — выплату или платеж. Например, вы получили вебхук ready_to_confirm
или ready_to_capture
.
Если не хотите проводить эту операцию, можете ее отменить: отправьте запрос session/cancel
.
Если всё в порядке, отправьте запрос на подтверждение операции (session/confirm
) или на списание замороженной суммы (session/capture
).
Адрес для отправки запроса
/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"
}
]
}
}
session/capture
Списание захолдированной суммы
Этот запрос можно использовать, если вы отправляете холдированные платежи. Такой платеж проходит в две стадии: сначала деньги замораживаются (например, на банковской карте пользователя), а потом списываются по вашей команде.
Запрос можно отправлять, когда Банк 131 готов списать деньги и прислал вам вебхук ready_to_capture
.
Если вы хотите списать замороженную сумму, отправьте запрос session/capture
. Можно списать замороженную сумму или меньше.
Чтобы отменить списание, отправьте (session/cancel
).
Адрес для отправки запроса
/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 | Ошибка |
session/confirm
Подтверждение операции
Этот запрос можно отправлять, когда Банк 131 готов провести операцию — выплату или платеж. Например, вы получили вебхук ready_to_confirm
.
Вам нужно проверить параметры операции и принять решение. Если всё в порядке, подтвердите операцию: отправьте Банку session/confirm
. Если что-то не так, отмените операцию: отправьте запрос (session/cancel
).
Адрес для отправки запроса
/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"
}
]
}
}
session/create
Создание платежной сессии
Этот запрос создает платежную сессию на стороне Банка 131.
Сессия необходима для проведения платежных операций. В рамках сессии может проходить одна или несколько операций одного или разных типов (например, несколько выплат, платеж и возврат, оплата с последующим разделением платежей).
Используйте этот запрос, если вам нужно запросить у пользователя данные для проведения выплаты или оплаты. Например, вызвать виджет для токенизации, показать пользователю и получить токенизированные данные карты и уже с этими данными отправить запрос на выплату.
Если вы готовы передать в запросе все данные, которые нужны для проведения операции, можете использовать метод, при котором сразу после создания сессии стартует выплата (
session/start/payout
) или оплата (session/start/payment
). В этом случае запускать операцию отдельным запросом не нужно.
В ответе возвращаются параметры созданной сессии.
Адрес для отправки запроса
/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"
}
session/init/payment
Создание сессии с одновременным стартом платежа
Можно использовать, если вы сразу готовы передать все параметры, необходимые для оплаты. Например, при оплате банковской картой, если у вас есть PCI DSS.
В ответе возвращаются параметры созданной сессии и объект с информацией о
платеже (acquiring_payments
).
Параметры запроса
Название | Обязательность | Тип | Описание |
---|---|---|---|
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"
}
session/init/payment/sync
Данный метод не рекомендуется к использованию, кроме тех случаев, когда он уже был реализован вами ранее.
Платеж одним запросом
Этот метод позволяет отправить запрос на оплату и сразу получить ответ. Можно использовать, если вы готовы в этом запросе передать все параметры для оплаты. Например, при оплате банковской картой, если у вас есть PCI DSS.
В ответе возвращаются параметры созданной сессии и объект acquiring_payments
с результатом платежа и всей информацией о нем.
Параметры запроса
Здесь перечислены только обязательные параметры запроса. Дополнительные параметры есть по ссылкам в описании объектов.
Название | Обязательность | Тип | Описание |
---|---|---|---|
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"
}
session/init/payout
Создание сессии с одновременным стартом выплаты
Можно использовать этот запрос, если вы сразу готовы передать все параметры для создания выплаты. Например, при отправке выплаты на российский банковский счет. При выплате на банковскую карту — только если у вас есть PCI DSS.
Также можно стартовать выплату с использованием токена, который был получен при создании рекуррентного платежа
В ответе возвращаются параметры созданной сессии и объект с информацией о
выплате (Payment
).
Адрес для отправки запроса
/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"
}
]
}
}
session/init/payout/fiscalization
Создание сессии и старт выплаты с дополнительной проверкой заполненности данных для фискализации
Можно использовать при выплатах самозанятым, если вы сразу готовы передать всю информацию о самозанятом и платежные данные для создания выплаты. Например, при отправке выплаты на российский банковский счет. При выплате на банковскую карту — только если у вас есть PCI DSS.
В ответе возвращаются параметры созданной сессии, объект с информацией о выплате
(Payment
) с данными для отправки чека.
Адрес для отправки запроса
/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"
}
session/refund
Возврат
С помощью этого запроса можно вернуть деньги пользователю после успешного платежа.
После проведения возврата Банк 131 отправит вам вебхук payment_refunded
.
Адрес для отправки запроса
/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"
}
}
]
}
]
}
}
session/start/payment
Старт платежа
Этот запрос можно использовать, чтобы начать платеж в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения оплаты или заменить уже переданные.
Адрес для отправки запроса
/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 \
-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"
}
}
session/start/payout
Старт выплаты
Этот запрос можно использовать, чтобы начать выплату в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения выплаты или заменить уже переданные.
Если вы используете выплатной виджет, чтобы получить токенизированные данные банковской карты пользователя, в этом запросе можно их передать.
Адрес для отправки запроса
/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"
}
]
}
}
session/start/payout/fiscalization
Старт выплаты с проверкой на заполненность данных для фискализации
Этот запрос можно использовать, чтобы начать выплату в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения выплаты или заменить уже переданные.
Если вы используете выплатной виджет, чтобы получить токенизированные данные банковской карты пользователя, в этом запросе можно их передать.
Адрес для отправки запроса
/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": "ООО Вектор"
}
}
}
]
}
}
token
Генерация публичного токена для работы с виджетами
Токен нужен для доступа к JavaScript-библиотеке Банка 131. Вы можете сгенерировать его этим запросом и использовать для работы с виджетами.
Токен действителен 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"
}
}
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 (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": "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"
}
}
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": "40702***0025"
}
}
{
"status": "error",
"error": {
"description": "The public token is not found",
"code": "public_token_invalid"
}
}
tokenize/elements
Метод для токенизации номера карты с хранением токенизированных данных на стороне Банка 131.
Метод доступен только для клиентов с PCI DSS. Для использования этого метода нужно обратиться к вашему менеджеру в Банке 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": "ok",
"data": {
"number": {
"token": "adb0eb0ac3f1f5f627f15aa8ca47b13483325ec42baab5e87cbff5f784dca919",
"info": {
"masked_card_number": "424242******4242",
"card_network": "visa",
"card_type": "visa"
}
}
}
}
Информация
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/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": "Иванович"
}
}
}
]
}
}
report/account_balance
Используйте этот метод, чтобы запросить баланс по вашему расчетному или номинальному счету. Подробнее о балансе счета.
Адрес для отправки запроса
/api/v1/report/account_balance
Параметры запроса
Название | Обязательность | Тип | Описание |
---|---|---|---|
account_number | + | string | Номер счета. Счет должен начинаться с цифр: 40702 , 40703 , 40802 , 40807 , 40701 |
Пример запроса
curl -X GET \
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
Параметры запроса
Название | Обязательность | Тип | Описание |
---|---|---|---|
date_from | + | date | Дата начала выписки. Пример: 2023-06-01 |
date_to | + | date | Дата окончания выписки. Пример: 2023-06-01 |
account_number | + | string | Номер счета (20 цифр), по которому запрашивается выписка |
Значения в
date_from
иdate_to
должны совпадать.
Пример запроса
curl -X GET \
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 |
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
Получение информации по сессии
Вы можете отправить этот запрос, если хотите получить полную информацию о платежной сессии. Например, проверить, прошла выплата или нет. Или узнать, можно ли списывать сумму, захолдированную при оплате картой.
В ответ на запрос приходит платежная сессия с данными обо всех операциях, которые проводились в ее рамках.
Адрес для отправки запроса
/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"
}
]
}
}
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"
}
}
]
}
Самозанятые
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/init/payout/nominal
Создание сессии с одновременным стартом выплаты на банковский счет
Этот запрос можно использовать для отправки выплаты с номинального счета на банковский счет.
Адрес для отправки запроса
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_287403",
"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": 200,
"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"
}
}
session/multi/create/nominal
Создание платежной сессии
Этот запрос создает платежную сессию на стороне Банка 131.
Сессия необходима для проведения платежных операций. В рамках сессии может проходить одна или несколько операций.
Используйте этот запрос, если вам нужно запросить у пользователя данные для проведения выплаты или платежа. Например, вызвать виджет для токенизации, показать пользователю и получить токенизированные данные карты и уже с этими данными отправить запрос на выплату.
Если вы готовы передать в запросе все данные, которые нужны для проведения операции, можете использовать метод, при котором сразу после создания сессии стартует выплата
session/multi/init/payment/nominal
. В этом случае запускать операцию отдельным запросом не нужно.
В ответе возвращаются параметры созданной сессии.
Адрес для отправки запроса
/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": 293400,
"currency": "RUB"
},
"customer": {
"reference": "123456789012"
}
}'
Параметры ответа
Название | Обязательность | Тип | Описание |
---|---|---|---|
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": 1011,
"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": 1011,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}
]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
session/multi/init/payment/nominal
Создание сессии с одновременным стартом выплаты на банковскую карту
Можно использовать этот запрос, если вы сразу готовы передать все параметры для создания выплаты. При выплате на банковскую карту — только если у вас есть PCI DSS.
В ответе возвращаются параметры созданной сессии и объект с информацией о
выплате (acquiring_payments
).
Адрес для отправки запроса
/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": 1011,
"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": 1011,
"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": 1011,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}
]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
session/multi/start/payment/nominal
Старт выплаты
Этот запрос можно использовать, чтобы начать выплату в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения операции или заменить уже переданные.
Если вы используете виджет для токенизации данных банковской карты пользователя, в этом запросе можно их передать.
Адрес для отправки запроса
/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": 1011,
"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": 1011,
"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": 1011,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}
]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
Расчетный счет
session/init/payout/rko
Метод инициализации сессии и старта выплаты с расчетного счета.
Адрес для отправки запроса
/api/v1/session/init/payout/rko
Параметры запроса
Название | Обязательность | Тип | Описание |
---|---|---|---|
payment_method | + | object | Платежные данные (банковский счет) |
amount_details | + | object | Сумма. Передается в копейках. Чтобы передать 100 рублей, укажите 10000 |
participant_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": 212,
"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"
}
]
}
}
session/multi/create/rko
Этот запрос создает платежную сессию на стороне Банка 131 для выплаты с расчетного счета.
Сессия необходима для проведения платежных операций. В рамках сессии может проходить одна или несколько операций.
Используйте этот запрос, если вам нужно запросить у пользователя данные для проведения выплаты. Например, вызвать виджет для токенизации, показать пользователю и получить токенизированные данные карты и уже с этими данными отправить запрос на выплату.
Если вы готовы передать в запросе все данные, которые нужны для проведения операции, можете использовать метод, при котором сразу после создания сессии стартует выплата (
/api/v1/session/multi/init/payment/rko
). В этом случае запускать операцию отдельным запросом не нужно.
В ответе возвращаются параметры созданной сессии.
Адрес для отправки запроса
/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": 293400,
"currency": "RUB"
},
"customer": {
"reference": "123456789012"
}
}'
Параметры ответа
Название | Обязательность | Тип | Описание |
---|---|---|---|
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": 1011,
"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": 1011,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}
]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
session/multi/start/payment/rko
Этот запрос можно использовать, чтобы начать выплату с расчетного счета на банковскую карту в рамках уже созданной сессии. В параметрах запроса можно передать недостающие данные для проведения операции или заменить уже переданные.
Если вы используете выплатной виджет, чтобы получить токенизированные данные банковской карты пользователя, в этом запросе можно их передать.
Адрес для отправки запроса
/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 | Информация об участниках операции (отправителе и получателе) |
Пример запроса
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": 1011,
"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": 1011,
"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": 1011,
"currency": "RUB"
},
"metadata": {
"key": "value"
},
"participant_details": {
"sender": {
"full_name": "Ivan Ivanovich Ivanov"
},
"recipient": {
"full_name": "Ivan Ivanovich Ivanov",
"reference": "1234"
}
}
}
]
}
}
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}
Денежные переводы
/bpa/session/init/payment
Метод предназначен для старта перевода.
Адрес для отправки запроса
/api/v1/bpa/session/init/payment
Параметры запроса
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
payment_details | + | object | Платежные данные |
amount_details | - | object | Сумма |
participant_details | - | object | Информация об участниках |
cash_details | + | object | Дополнительная информация о платеже наличными |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/bpa/session/init/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "moneysend",
"moneysend": {}
},
"amount_details": {
"amount": 1000,
"currency": "rub"
},
"participant_details": {
"sender": {
"citizenship_country_iso3": "AUS",
"first_name": "Ivan",
"last_name": "Ivanov",
"middle_name": "Ivanovich",
"country_iso3": "RUS",
"state": "New York",
"city": "Kazan",
"postal_code": "420000",
"street": "Nekrasova",
"building": "1",
"flat": "131",
"tax_reference": "123456789012",
"date_of_birth": "2010-01-01",
"contacts": {
"phone": {
"full_number": "+79371234567",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "1234567"
},
"email": "test@test.com"
},
"identity_document": {
"id_type": "Паспорт гражданина Российской Федерации",
"id_number": "123456789",
"issue_date": "2020-01-01",
"id_expiration_date": "2030-01-01",
"division_code": "165-065",
"issued_by": "OVD Kazani"
},
"documents_foreigner": {
"id_type": "Виза",
"issued_by": "OVD Kazani",
"issue_date": "2020-01-01",
"id_expiration_date": "2030-01-01"
},
"service_point": {
"id": "1",
"name": "point_on_lenina",
"country_iso3": "RUS",
"state": "Moscow",
"city": "Moscow",
"oktmo": "36634436111",
"street": "Lenin avenue",
"house": "1",
"terminal_id": "123124"
},
"source_of_money": "salary",
"description": "salary transfers"
},
"recipient": {
"first_name": "Ivan",
"last_name": "Sidorov",
"middle_name": "Ivanovich",
"date_of_birth": "2010-01-01",
"currency": "TRY",
"contacts": {
"phone": {
"full_number": "+79377654321",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "7654321"
},
"email": "test@test.com"
}
}
},
"cash_details": {
"shift": "11"
}
}'
Параметры ответа
Название | Обязательность | Тип | Описание |
---|---|---|---|
status | + | string | Статус. Возможные варианты: error , ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_592245",
"status": "in_progress",
"created_at": "2022-11-15T15:38:50.255803Z",
"updated_at": "2022-11-15T15:38:50.336303Z",
"acquiring_payments": [
{
"id": "pm_296251",
"status": "in_progress",
"created_at": "2022-11-15T15:38:50.357833Z",
"payment_details": {
"type": "moneysend",
"moneysend": {}
},
"amount_details": {
"amount": 978,
"currency": "rub"
},
"participant_details": {
"sender": {
"citizenship_country_iso3": "AUS",
"first_name": "Ivan",
"last_name": "Ivanov",
"middle_name": "Ivanovich",
"country_iso3": "RUS",
"state": "New York",
"city": "Kazan",
"postal_code": "420000",
"street": "Nerkasova",
"building": "1",
"flat": "131",
"tax_reference": "123456789012",
"date_of_birth": "2010-01-01",
"contacts": {
"phone": {
"full_number": "+79371234567",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "1234567"
},
"email": "test@test.com"
},
"identity_document": {
"id_type": "Паспорт гражданина Российской Федерации",
"id_number": "123456789",
"issue_date": "2020-01-01",
"id_expiration_date": "2030-01-01",
"division_code": "165-065",
"issued_by": "OVD Kazani"
},
"documents_foreigner": {
"id_type": "Виза",
"issued_by": "OVD Kazani",
"issue_date": "2020-01-01",
"id_expiration_date": "2030-01-01"
},
"service_point": {
"id": "1",
"name": "point_on_lenina",
"country_iso3": "RUS",
"state": "Moscow",
"city": "Moscow",
"oktmo": "36634436111",
"street": "Lenin avenue",
"house": "1",
"terminal_id": "123124"
},
"source_of_money": "salary",
"description": "salary transfers"
},
"recipient": {
"first_name": "Ivan",
"last_name": "Sidorov",
"middle_name": "Ivanovich",
"date_of_birth": "2010-01-01",
"currency": "TRY",
"contacts": {
"phone": {
"full_number": "+79376151530",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "7654321"
},
"email": "test@test.com"
}
}
}
}
]
}
}
{
"error": {
"code": "invalid_request",
"description": "participant_details.recipient.full_name.not_blank"
},
"status": "error"
}
/cash/payout/session/init
Метод предназначен для старта выдачи перевода получателю или возврата денег отправителю. Набор параметров в обоих случаях одинаков. Чтобы вернуть перевод отправителю, данные отправителя (participant_details.sender
) и получателя перевода (participant_details.recipient
) в запросе должны совпадать.
Обратите внимание, что в параметр
tcn_code_encoded
передается код перевода, который необходимо обернуть в BASE64.
Адрес для отправки запроса
/api/v1/cash/payout/session/init
Параметры запроса
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
tcn_code_encoded | + | string | Контрольный номер перевода, полученный от Получателя и обернутый в BASE64. Пример: “MzU4MDctMjM1ODk=” |
payment_method | + | object | Payment details. Передайте значение moneysend . |
amount_details | - | object | Сумма |
participant_details | - | object | Информация об участниках выплаты |
cash_details | + | object | Дополнительная информация о платеже наличными |
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/cash/payout/session/init \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"tcn_code_encoded": "NTkyMjM3LTg5MjEzNDk5",
"payment_method": {
"type": "moneysend",
"moneysend": {}
},
"cash_details": {
"shift": "159"
},
"amount_details": {
"amount": 1000,
"currency": "rub"
},
"participant_details": {
"recipient": {
"citizenship_country_iso3": "AUS",
"first_name": "Ivan",
"last_name": "Sidorov",
"middle_name": "Ivanovich",
"country_iso3": "RUS",
"state": "New York",
"city": "Kazan",
"postal_code": "420000",
"street": "Nerkasova",
"building": "1",
"flat": "131",
"tax_reference": "123456789012",
"date_of_birth": "2008-01-01",
"identity_document": {
"id_type": "Паспорт гражданина Российской Федерации",
"id_number": "123456789",
"issue_date": "2020-01-01",
"id_expiration_date": "2030-01-01",
"division_code": "165-065",
"issued_by": "OVD Kazani"
},
"documents_foreigner": {
"id_type": "Виза",
"issued_by": "OVD Kazani",
"issue_date": "2020-01-01",
"id_expiration_date": "2030-01-01"
},
"service_point": {
"id": "1",
"name": "point_on_lenina",
"country_iso3": "RUS",
"state": "Moscow",
"city": "Moscow",
"oktmo": "36634436111",
"street": "Lenin avenue",
"house": "1",
"terminal_id": "123124"
},
"source_of_money": "salary",
"description": "salary transfers",
"contacts": {
"phone": {
"full_number": "+79377654321",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "7654321"
},
"email": "test@test.com"
}
},
"sender": {
"first_name": "Ivan",
"last_name": "Ivanov",
"middle_name": "Ivanovich",
"contacts": {
"phone": {
"full_number": "+79371234567",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "1234567"
},
"email": "test@test.com"
}
}
}
}
Параметры ответа
Название | Обязательность | Тип | Описание |
---|---|---|---|
status | + | string | Статус. Возможные варианты: error , ok |
session | - | object | Платежная сессия |
payment_method | + | object | Информация о методе платежа |
error | - | object | Ошибка |
Примеры ответов
- Пример успешного ответа
- Пример неуспешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2022-11-01T02:03:00.000000Z",
"updated_at": "2022-11-01T02:03:00.000000Z",
"payments": [
{
"id": "po_2018",
"status": "in_progress",
"created_at": "2022-11-01T02:03:00.000000Z",
"payment_method": {
"type": "moneysend"
},
"participant_details": {
"recipient": {
"citizenship_country_iso3": "AUS",
"first_name": "Ivan",
"last_name": "Sidorov",
"middle_name": "Ivanovich",
"country_iso3": "RUS",
"state": "New York",
"city": "Kazan",
"postal_code": "420000",
"street": "Nekrasova",
"building": "1",
"flat": "131",
"tax_reference": "123456789012",
"date_of_birth": "2010-01-01",
"contacts": {
"phone": {
"full_number": "+79377654321",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "7654321"
},
"email": "test@test.com"
},
"identity_document": {
"id_type": "Паспорт гражданина Российской Федерации",
"id_number": "123456789",
"issue_date": "2020-01-01",
"id_expiration_date": "2030-01-01",
"division_code": "165-065",
"issued_by": "OVD Kazani"
},
"documents_foreigner": {
"id_type": "Виза",
"issued_by": "OVD Kazani",
"issue_date": "2020-01-01",
"id_expiration_date": "2030-01-01"
},
"service_point": {
"id": "1",
"name": "point_on_lenina",
"country_iso3": "RUS",
"state": "Moscow",
"city": "Moscow",
"oktmo": "36634436111",
"street": "Lenin avenue",
"house": "1",
"terminal_id": "123124"
},
"source_of_money": "salary",
"description": "salary transfers",
"customer_verification": {
"first_name": "Ivan",
"last_name": "Ivanov",
"middle_name": "Ivanovich",
"date_of_birth": "2010-01-01",
"contacts": {
"phone": {
"full_number": "+79371234567",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "1234567"
},
"email": "test@test.com"
}
}
},
"sender": {
"first_name": "Ivan",
"last_name": "Ivanov",
"middle_name": "Ivanovich",
"contacts": {
"phone": {
"full_number": "+79371234567",
"country_iso3": "RUS",
"operator_code": "937",
"short_number": "1234567"
},
"email": "test@test.com"
}
}
}
}
]
}
}'
{
"error": {
"code": "invalid_request",
"description": "participant_details.recipient.full_name.not_blank"
},
"status": "error"
}
Прочее
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"
}
}