# Тестирование Электронных Средств Платежей

# Введение

Для тестирования создания ЭСП используется отдельный sanbox сервис, которые в зависимости от переданных ФИО создает ЭСП для проведения успешных и неуспещных операций.

# Авторизация

Домен для тестирования и прода https://accounts.mandarinbank.com/

Для получения access_token требуется выпуск oauth приложения через Службу поддержки (client_id вы получите от них, а client_secret придут на почту пользователя, которому выпустили приложение)

Запрос на получение токена

Включает в себя обязательные form-data параметры, которые передаются в теле запроса (параметры application.client_id и application.client_secret неизменны для приложения и хранятся на стороне клиента).

Параметр Описание Пример
grant_type Грант авторизации (всегда равен client_credentials). client_credentials
client_id Идентификатор клиента (равен значению application.client_id, предоставленному Mandarin). VvPtlhcyldKtkuoUWY42 pErdrj4er2AwFoBWrn8n
client_secret Секретный ключ-пароль клиента (равен значению application.client_secret, предоставленному Mandarin). uQfOIMsltZYL8x3XMqUGP5 iFM59PyFnKlN0UmD3Ihre2 Ry3AGazUAv5jPdUI4dBJqV 0Of6b9GFvWvzGahYnq2aVV xkxn9n4qWF57FP0C01Kp6l EtajhfYv3UZ2f4pAZ7
scope Запрашиваемые скоупы (области доступа):
например, transactions.read - "Чтение транзакций".
Разделитель - пробел.
Запрашивать можно любой список скоупов, при этом в ответе вернется тот список запрошенных скоупов, который может быть предоставлен для данного приложения.
transactions.read
curl --location --request POST 'https://accounts.mandarinbank.com/oauth/token/' \
--form 'grant_type=client_credentials' \
--form 'client_id=VvPtlhcyldKtkuoUWY42pErdrj4er2AwFoBWrn8n' \
--form 'client_secret=uQfOIMsltZYL8x3XMqUGP5iFM59PyFnKlN0UmD3Ihre2Ry3AGazUAv5jPdUI4dBJqV0Of6b9GFvWvzGahYnq2aVVxkxn9n4qWF57FP0C01Kp6lEtajhfYv3UZ2f4pAZ7' \
--form 'scope=transactions.read'

Ответ

Параметр Описание Пример
access_token Токен (ключ доступа). VnuxZiW14mXBedDeZO7d W7GBmzPxMn
expires_in Срок действия токена (в секундах). Всегда равен 36 000 секунд (10 часов). 36000
token_type Тип токена (всегда равен Bearer). Bearer
scope Разрешенные скоупы (области доступа): например, transactions.read - "Чтение транзакций".
Разделитель - пробел.
Запрашивать можно любой список скоупов, при этом в ответе вернется тот список запрошенных скоупов, который может быть предоставлен для данного приложения.
transactions.read
{
    "access_token": "VnuxZiW14mXBedDeZO7dW7GBmzPxMn",
    "expires_in": 36000,
    "token_type": "Bearer",
    "scope": "transactions.read"
}

Использование токена

Указывается в headers каждого запроса, в поле Authorization, после зарезервированного слова Bearer.

Authorization:Bearer VnuxZiW14mXBedDeZO7dW7GBmzPxMn

# Создание виртуального счёта (ЭСП)

Production
https://payment-tokens.mandarin.io/api/v1/tokens/generate

Sandbox
https://sandbox-payment-tokens.mandarin.io/api/v1/tokens/generate

Запрос

curl --location 'https://payment-tokens.mandarin.io/api/v1/tokens/generate' \
--header 'Mid: 395' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer Token' \
--data-raw '{
    "first_name": "Иван",
    "last_name": "Иванов",
    "middle_name": "Иванович",
    "birth_date": "1990-12-22",
    "citizenship": "RU",
    "registration_address": "г. Москва, ул. Петровка, д.2, кв.1",
    "living_address": "г. Москва, ул. Петровка, д.2, кв.1",
    "document": {
        "document_type": "Passport",
        "serial": "1234",
        "number": "123456",
        "issue_date": "2002-04-24T15:23:14.969Z",
        "birth_place": "г. Москва",
        "issuer": "ОВД района Фили Давыдково",
        "issue_code": "404-004",
        "expiration_date": null
    },
    "inn": "1234567890",
    "snils": "140-120-150 35",
    "phones": [
        {
            "phone": "79004001234",
            "type": "Personal"
        }
    ],
    "email": "ivanoff@mail.ru",
    "phone_check": true,
    "terms_agreement": true,
    "is_public_official_person": false,
    "presence_of_beneficiary": false,
    "beneficiary_information": false,
    "exist_fatf_government_bills": false,
    "affiliation_with_foreign_taxpayers": false
}'

Ответ в случае успешного запроса на создание виртуального счёта (ЭСП) (200 ОК)

{
    "id": "06dca2f1-4e1c-44e7-8848-3e9e3adba875",
    "status": "Processing",
    "created_at": "2025-11-21T10:33:27.021823Z",
    "processed_at": null,
    "finished_at": null
}

ОБРАТИТЕ ВНИМАНИЕ!

Для успешного создания кошелька нужно использовать ФИО Успешный Успех Успехович, для неуспешного - Неуспешный Неуспех Неуспехович.