# Тестирование выплат через СБП

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

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

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

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

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

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

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

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

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

GET https://secure.mandarinpay.com/api/sbp/banks/

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

{
    "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"
        }
    ]
}

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

GET https://secure.mandarinpay.com/api/sbp/banks?bankName=Сбербанк

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

{
    "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 Да

Запрос:

POST https://secure.mandarinpay.com/api/transactions
{
    "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 Да

Запрос:

POST https://secure.mandarinpay.com/api/transactions
{
    "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

GET https://secure.mandarinpay.com/api/sbp/43913ddc000c4d3990fddbd3980c1725/status

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

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

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

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

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

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

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

POST https://secure.mandarinpay.com/api/sbp/43913ddc000c4d3990fddbd3980c1725/confirm

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

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

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

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

POST https://secure.mandarinpay.com/api/sbp/43913ddc000c4d3990fddbd3980c1725/reject

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

{
	"id": "43913ddc000c4d3990fddbd3980c1725"
}