# Выплаты через СБП

Особенности работы сервиса выплат через СБП в тестовом режиме:

  • Для активации тестового режима необходимо обратиться в Службу поддержки (opens new window);

  • Запрос на получение списка банков возвращает список из 5 банков;

  • Для успешного запроса с ФИО и получения статуса выплаты success необходимо использовать телефон +79001234567, при использовании иного теелфона будет получен статус транзакции fail;

  • Для успешного запроса без ФИО и получения статуса выплаты success необходимо использовать телефон +79007654321, при использовании иного теелфона будет получен статус транзакции fail. На запрос статуса в ответе возвращается ФИО Иван Иванович Иванов;

# Получение списка банков

Авторизация - XAuth (opens new window).

Параметр Тип Обязателен Описание
bankName string Нет Наименование банка по которому необходимо проводить фильтрацию, можно указать неполное название, метод вернет все подходящие варианты. При фильтрации регистр игнорируется

Запрос на получение списка банков:

curl --request GET \
  --url https://secure.mandarinpay.com/api/sbp/banks/ \
--header 'x-auth: {{x_auth}}'

Ответ в случае успешного создания запроса:

{
    "banks": [
        {
            "bankId": "100000000008",
            "bankName": "Альфа-Банк",
            "bankBic": "044525593"
        },
        {
            "bankId": "100000000005",
            "bankName": "ВТБ",
            "bankBic": "044525187"
        },
        {
            "bankId": "100000000004",
            "bankName": "Т-Банк",
            "bankBic": "044525974"
        },
        {
            "bankId": "100000000007",
            "bankName": "Райффайзен Банк",
            "bankBic": "044525700"
        },
        {
            "bankId": "100000000111",
            "bankName": "Сбербанк",
            "bankBic": "044525225"
        }
    ]
}

Запрос на получение определенного банка:

curl --request GET \
  --url https://secure.mandarinpay.com/api/sbp/banks?bankName=Сбербанк \
--header 'x-auth: {{x_auth}}'

Ответ в случае успешного создания запроса:

{
    "banks": [
        {
            "bankId": "100000000111",
            "bankName": "Сбербанк",
            "bankBic": "044525225"
        }
    ]
}

# Создание выплаты с ФИО

Параметр Обязателен
customerInfo Да
customerInfo.phone Да
customerInfo.email Да
customerInfo.firstName Да
customerInfo.lastName Да
customerInfo.middleName Да
payment Да
payment.action Да
payment.orderId Да
payment.price Да
target Да
target.sbp Да
target.sbp.bankId Да
target.sbp.bankBic Да

Запрос:

curl --request POST \
  --url https://secure.mandarinpay.com/api/transactions \
--header 'Content-Type: application/json' \
--header 'x-auth: {{x_auth}}' \
--data-raw '{
    "customerInfo": {
        "phone": "+79001234567",
        "email": "test@test.com",
        "firstName": "Иванов",
        "lastName": "Иван",
        "middleName": "Иванович"
    },
    "payment": {
        "orderId": "your_unique_order_id",
        "price": "10.00",
        "action": "payout"
    },
    "target": {
        "sbp": {
            "bankId": "100000000111",
            "bankBic": "044525225"
        }
    }
}'

Ответ в случае успешного создания транзакции (200 ОК):

{
	"id": "43913ddc000c4d3990fddbd3980c1725"
}

Ответ в случае, если транзакция не создана (400 Bad request):

{
	"error": "Invalid request"  
}

Ответ в случае попытки создания выплаты с уже существующим значением orderId (400 Bad Request):

{
    "error": "Duplicate order id 5f2fdcf6-0b78-4dd7-be9f-212c7c058001 found for incomplete payout transaction",
    "errorCode": -2
}

# Создание выплаты без ФИО

Выплаты без ФИО осуществляются в два этапа - создание транзакции и ее подтверждение или отмена после проверки статуса и данных.

Параметр Обязателен
customerInfo Да
customerInfo.phone Да
customerInfo.email Да
payment Да
payment.action Да
payment.orderId Да
payment.price Да
target Да
target.sbp Да
target.sbp.bankId Да
target.sbp.bankBic Да

Запрос:

curl --request POST \
  --url https://secure.mandarinpay.com/api/transactions \
--header 'Content-Type: application/json' \
--header 'x-auth: {{x_auth}}' \
--data-raw '{
    "customerInfo": {
        "phone": "+79007654321",
        "email": "test@test.com"
    },
    "payment": {
        "orderId": "your_unique_order_id",
        "price": "10.00",
        "action": "payout"
    },
    "target": {
        "sbp": {
            "bankId": "100000000111",
            "bankBic": "044525225"
        }
    }
}'

Ответ в случае успешного создания транзакции (200 ОК):

{
	"id": "43913ddc000c4d3990fddbd3980c1725"
}

Ответ в случае, если транзакция не создана (400 Bad request):

{
	"error": "Invalid request"  
}

Ответ в случае попытки создания выплаты с уже существующим значением orderId (400 Bad Request):

{
    "error": "Duplicate order id 5f2fdcf6-0b78-4dd7-be9f-212c7c058001 found for incomplete payout transaction",
    "errorCode": -2
}

# Проверка статуса запроса без ФИО

Запрос на проверку статуса:

После создания выплаты без ФИО необходимо проверить статус, если телефон был указан тестовый из документации +79007654321, то статус будет success, если указан иной, то на запрос статуса будет получен fail

curl --request GET \
  --url https://secure.mandarinpay.com/api/sbp/43913ddc000c4d3990fddbd3980c1725/status \
--header 'x-auth: {{x_auth}}'

Ответ в случае успеха:

{
    "status": "success",
    "fio": "Иван Иванович Иванов"
}

Ответ в случае неуспеха:

{
    "status": "fail",
    "fio": null
}

# Подтверждение выплаты без ФИО

Запрос на подтверждение выплаты:

После получения успешного статуса необходимо подтвердить выплату, чтобы получателю ушли средства.

curl --request POST \
  --url https://secure.mandarinpay.com/api/sbp/43913ddc000c4d3990fddbd3980c1725/confirm \
--header 'x-auth: {{x_auth}}'

Ответ в случае успешного подтверждения выплаты (200 ОК)

# Отмена выплаты без ФИО

Выплату можно отменить, если еще не был отправлен запрос на подтверждение confirm.

Запрос на отмену выплаты:

curl --request POST \
  --url https://secure.mandarinpay.com/api/sbp/43913ddc000c4d3990fddbd3980c1725/reject \
--header 'x-auth: {{x_auth}}'

Ответ в случае успешной отмены выплаты (200 ОК):

{
	"id": "43913ddc000c4d3990fddbd3980c1725"
}