3. Backend API
3.1 Создание платежа
Платёж инициируется методом create_payment_form для отображения платёжной формы Миксплат. В ответе метода возвращается payment_id, по которому в дальнейшем будет передаваться статус оплаты.
3.1.1 create_payment_form
Создание платежа c использованием платёжной формы Миксплат. Используйте этот метод для переадресации плательщика на платёжную форму Миксплат, где плательщик вводит свои платёжные данные.
Направление запроса: ТСП → Миксплат
Тип запроса: POST-JSON (см. раздел 5.6)
URL запроса: https://api.mixplat.com/create_payment_form
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. Обязательный параметр |
| project_id | int | ID проекта ТСП в Миксплат, для которого создаётся платёж. Значение параметра отображается в личном кабинете Миксплат в настройках проекта. Обязательный параметр |
| signature | string | Подпись запроса. Обязательный параметр Принцип формирования: Символ "+" означает конкатенацию, request_id, project_id, merchant_payment_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку. Пример формирования: Результат: Пример реализации:
|
| amount | int | Сумма платежа в минорных единицах (копейках). Обязательный параметр |
| description | string|null | Описание платежа. Отображается на платёжной форме и в личном кабинете ТСП. Необязательный параметр. По умолчанию "Оплата заказа". От 3 до 125 символов. |
| request_id | string|null | Уникальный идентификатор запроса, задаваемый ТСП, обеспечивающий идемпотентность вызовов (повторные запросы с тем же request_id не будут приводить к созданию нового платежа, а параметры ответа будут полностью повторять параметры ответа первоначального вызова с данным request_id). Рекомендуется передавать этот параметр, чтобы защититься от дублирования платежей в результате сетевых проблем, задержек ответа и т. п. В качестве request_id можно использовать идентификатор платежа в системе ТСП (если он уникален), или хеш от ключевых параметров запроса. Проверка наличия другого запроса с данным request_id осуществляется за последние 30 дней. Необязательный параметр. От 1 до 64 символов. |
| payment_method | string|null | Платёжный метод (см. раздел 6.8), который будет использован для совершения оплаты. Необязательный. По умолчанию не задан (все доступные методы). |
| merchant_payment_id | string|null | ID платежа в ТСП. Если передан, то это же значение параметра будет приходить в уведомлениях Необязательный параметр. От 1 до 256 символов. |
| merchant_campaign_id | string|null | ID кампании в ТСП. Если передан, то это же значение параметра будет приходить в уведомлениях Необязательный параметр. От 1 до 256 символов. |
| merchant_data | string|null | Произвольные данные ТСП, связанные с платежом. Если передан, то это же значение параметра будет приходить в уведомлениях Необязательный параметр. От 1 до 256 символов. |
| merchant_fields | json-object|null | Массив дополнительных сведений о транзакции, которые ТСП может передать при создании платежа. При уведомлении о статусе оплаты этот массив будет возвращен вместе с остальными параметрами в уведомлении Может применяться для передачи сопутствующих данных о плательщике или товаре: по значениям в массиве возможна фильтрация платежей в личном кабинете и выгружаемых XLS отчетах. Пример: Необязательный параметр. |
| user_email | string|null | Email плательщика (если известен), для отправки email о совершённом платеже. Необязательный параметр. |
| user_name | string|null | Имя плательщика (если известно), для отправки email о совершённом платеже. Необязательный параметр. |
| user_phone | string|null | Номер телефона плательщика (если известен), только цифры, в международном формате, с кодом страны. Необязательный параметр. |
| user_comment | string|null | Пользовательский комментарий к платежу (если есть). Необязательный параметр. |
| user_account_id | string|null | Идентификатор пользователя в ТСП (если есть). Необязательный параметр. |
| test | int|null | Признак тестового платежа.
Для тестовых платежей необходимо указывать специальные номера банковских карт/номера телефонов (раздел 5.5). Необязательный параметр. По умолчанию 0 (Платёж реальный). |
| timeout | int|null | Время в секундах, отведенное на оплату. После окончания времени на оплату платёж получит статус таймаут и оплата по данному payment_id будет невозможна. Для повторной оплаты необходимо создать новый платёж. Необязательный параметр. По умолчанию 21600 (6 часов). |
| language | string|null | Язык платёжной формы, сервисных сообщений (см. раздел 6.2). Необязательный параметр. По умолчанию "RU" или "EN" в зависимости от IP пользователя. |
| currency | string|null | Валюта платежа (см. раздел 6.1). Необязательный параметр. По умолчанию RUB. |
| items | json-object|null | Данные для чека. Описание структуры – в разделе 3.7 Пример: Необязательный параметр. |
| url_success | string|null | URL, на который будет перенаправлен Плательщик после успешной оплаты. Необязательный параметр. Если не передан, используются настройки платёжной формы, заданные в ЛК. |
| url_failure | string|null | URL, на который будет перенаправлен Плательщик после неуспешной оплаты. Необязательный параметр. Если не передан, используются настройки платёжной формы, заданные в ЛК. |
| recurrent_payment | int|null | Признак установочного платежа для последующих безакцептных списаний в режиме рекуррентов (раздел 3.5) или в режиме подписки (раздел 3.4)
Необязательный параметр. По умолчанию 0 (платёж обычный). |
| payment_scheme | string|null | Схема проведения платежа по банковским картам (см. раздел 4.3). Возможные значения см. в разделе 6.11 Необязательный параметр. По умолчанию "single". |
| utm_medium | string|null | UTM-метка, определяющая тип трафика. Если параметр передан, то это же значение параметра будет приходить в уведомлениях Необязательный параметр. |
| utm_source | string|null | UTM-метка, определяющая источник трафика. Если параметр передан, то это же значение параметра будет приходить в уведомлениях Необязательный параметр. |
| utm_campaign | string|null | UTM-метка, определяющая рекламную кампанию. Если параметр передан, то это же значение параметра будет приходить в уведомлениях Необязательный параметр. |
| utm_term | string|null | Произвольная пользовательская UTM-метка. Если параметр передан, то это же значение параметра будет приходить в уведомлениях Необязательный параметр. |
Параметры ответа от Миксплат
| result | string | Результат выполнения запроса (см. раздел 6.3). При успешном выполнении метода Значение result = ok является подтверждением получения платёжного запроса, и не относится к статусу самого платежа. |
| error_description | string | Описание ошибки, возникшей при выполнении запроса. Присутствует только в случае ошибки при выполнения метода (result != ok). |
| payment_id | string|null | ID созданного платежа в системе Миксплат. Присутствует только в случае ошибки при выполнения метода (result = ok). |
| redirect_url | string|null | URL, на который необходимо перенаправить Плательщика. Присутствует только в случае ошибки при выполнения метода (result = ok). |
Пример запроса и ответа
Запрос от ТСП
- JSON
- CURL
POST https://api.mixplat.com/create_payment_form
{
"api_version" : 3,
"project_id" : 10001,
"amount" : 50000,
"signature" : "d9729feb74992cc3482b350163a1a010",
"description" : "Оплата по договору №571 от 19.07.2022",
"payment_method" : "card",
"merchant_payment_id" : "571",
"merchant_data" : "Договор №571",
"merchant_fields" :
{
"Cookie" : "HunjV5LHOvDIF",
"client-category" : "VIP",
"Возраст" : 33
},
"user_email" : "email@mail.ru",
"user_name" : "Дмитрий",
"user_phone" : "79037652277",
"user_comment" : "Договор №571 от 19.07.2022",
"user_account_id" : "124522751",
"url_success" : "https://site.ru/success.html",
"url_failure" : "https://site.ru/failure.html",
"utm_source" : "vkontakte"
}
curl https://api.mixplat.com/create_payment_form \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"api_version" : 3,
"project_id" : 10001,
"amount" : 50000,
"signature" : "d9729feb74992cc3482b350163a1a010",
"description" : "Оплата по договору №571 от 19.07.2022",
"payment_method" : "card",
"merchant_payment_id" : "571",
"merchant_data" : "Договор №571",
"merchant_fields" :
{
"Cookie" : "HunjV5LHOvDIF",
"client-category" : "VIP",
"Возраст" : 33
},
"user_email" : "email@mail.ru",
"user_name" : "Дмитрий",
"user_phone" : "79037652277",
"user_comment" : "Договор №571 от 19.07.2022",
"user_account_id" : "124522751",
"url_success" : "https://site.ru/success.html",
"url_failure" : "https://site.ru/failure.html",
"utm_source" : "vkontakte"
}'
Успешный ответ от Миксплат
{
"result" : "ok",
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"redirect_url" : "https://pay.mixplat.com/p/XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh"
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_project_not_found",
"error_description" : "Project 1203 is not found"
}
3.2 Статусы платежей
Статус платежа с уникальным идентификатором payment_id может быть передан на URL скрипта Обработчика ТСП, прописанного в настройках проекта в Личном кабинете (тип уведомления payment_status), либо запрошен со стороны ТСП в Миксплат методом get_payment_status. Получаемые данные о статусе платежа для определённого payment_id в обоих случаях будут идентичными.
3.2.1 payment_status
Уведомление на URL Обработчика ТСП о статусе платежа.
Направление запроса: Миксплат → ТСП
Тип запроса: POST-JSON (см. раздел 5.7)
URL запроса: задаётся в настройках проекта в личном кабинете Миксплат
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| request | string | Тип уведомления. В данном методе передаётся значение |
| payment_id | string | ID платежа в системе Миксплат. |
| merchant_payment_id | string|null | ID платежа в ТСП. |
| payment_method | string|null | Платёжный метод, который был использован для оплаты (см. раздел 6.8), или NULL, если он ещё не определён. |
| payment_method_group | string|null | Группа платёжного метода, который был использован для оплаты (см. раздел 6.7), или NULL, если он ещё не определён. |
| status | string | Статус платежа (см. раздел 6.5). Может быть промежуточным ( |
| status_extended | string | Расширенный статус платежа (см. раздел 6.6). Состав расширенных статусов может быть изменён. Для определения успешности платежа используйте исключительно |
| amount_user | int|null | Сумма, фактически оплаченная плательщиком, с учётом комиссии (если есть), в минорных единицах (копейках) или NULL, если платёж ещё не подтверждён. |
| amount_merchant | int|null | Сумма к выплате ТСП, за вычетом комиссии (если есть), в минорных единицах (копейках) или NULL, если платёж ещё не подтверждён. |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, payment_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
| test | int | Признак тестового платежа.
Для тестовых платежей необходимо указывать специальные номера банковских карт/номера телефонов (см. раздел 5.5). |
| currency | string | Валюта платежа (см. раздел 6.1). |
| date_created | string | Дата и время создания платежа (по UTC+03:00). |
| date_processed | string|null | Дата и время обработки платежа (по UTC+03:00). |
| project_id | int | ID проекта ТСП в Миксплат, к которому относится платёж. Значение параметра отображается в личном кабинете Миксплат в настройках проекта. |
| recurrent_id | string|null | ID рекуррентной сессии. В дальнейшем вы можете использовать этот идентификатор и принимать повторные платежи без подтверждения со стороны плательщика (см. раздел 5.3). Присутствует в случае, если режим рекуррентов был согласован для проекта, и если при создании платежа был передан параметр recurrent_payment = 1. |
| init_payment_id | string|null | Значение payment_id первого платежа по рекурренту/подписке. |
| merchant_init_payment_id | string|null | Значение merchant_payment_id из первого платежа по рекурренту/подписке. |
| merchant_campaign_id | string|null | ID кампании в ТСП. |
| merchant_data | string|null | Произвольные данные ТСП, связанные с платежом. |
| merchant_fields | json|null | Массив дополнительных сведений о транзакции. Пример: |
| user_email | string|null | Email плательщика. |
| user_name | string|null | Имя плательщика. |
| user_phone | string|null | Номер телефона плательщика. |
| user_comment | string|null | Пользовательский комментарий к платежу. |
| user_account_id | string|null | Идентификатор пользователя в ТСП. |
| user_country_code | string|null | Двухсимвольный код страны плательщика по стандарту ISO 3166. |
| user_country | string|null | Страна плательщика. Могут быть несовпадения при подключенном VPN. |
| user_region_code | string|null | Код региона плательщика по стандарту ISO 3166. |
| user_region | string|null | Регион плательщика. |
| utm_medium | string|null | UTM-метка, определяющая тип трафика. |
| utm_source | string|null | UTM-метка, определяющая источник трафика. |
| utm_campaign | string|null | UTM-метка, определяющая рекламную кампанию. |
| utm_term | string|null | Произвольная пользовательская UTM-метка. |
| card | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "card" (см. раздел 3.2.3.1). Присутствует только для платежей с payment_method_group="card" |
| bank | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "bank" (см. раздел 3.2.3.2). Присутствует только для платежей с payment_method_group="bank" |
| mobile | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "mobile" (см. раздел 3.2.3.3). Присутствует только для платежей с payment_method_group="mobile" |
| wallet | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "wallet" (см. раздел 3.2.3.4). Присутствует только для платежей с payment_method_group="wallet" |
Параметры ответа от ТСП
| result | string | Результат выполнения запроса (см. раздел 6.4). result = ok является подтверждением получения нотификации, и не относится к передаваемым данным |
| error_description | string | Описание ошибки, возникшей при обработке уведомления. Необязательный, может присутствовать в случае возникновения ошибки при выполнении запроса |
| message | string | Текст сообщения, которое будет отправлено Плательщику (в sms или email в зависимости от настроек сервиса в ЛК). Необязательный |
Пример уведомления от Миксплат
POST <URL обработчика ТСП>
{
"api_version" : 3,
"request" : "payment_status",
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"merchant_payment_id" : "571",
"payment_method" : "yandex_pay",
"payment_method_group" : "card",
"status" : "success",
"status_extended" : "success_success",
"amount" : 50000,
"amount_user" : 50000,
"amount_merchant" : 48750,
"signature" : "d9729feb74992cc3482b350163a1a010",
"test" : 0,
"currency" : "RUB",
"date_created" : "2019-03-03 11:45:23",
"date_processed" : "2019-03-03 11:47:12",
"project_id" : 1203,
"merchant_data" : "Договор №571",
"merchant_fields" :
{
"Cookie" : "HunjV5LHOvDIF",
"client-category" : "VIP",
"Возраст" : 33
},
"user_email" : "email@mail.ru",
"user_name" : "Дмитрий",
"user_phone" : "79031234567",
"user_comment" : "Договор №571 от 19.07.2022",
"user_account_id" : "124522751",
"user_country_code" : "ru",
"user_country" : "Россия",
"user_region_code" : "RU-KLU",
"user_region" : "Калужская обл.",
"utm_source" : "vkontakte",
"card" :
{
"pan" : "408397******8222",
"payment_system" : "card_visa",
"issuer_country_code" : "ru",
"issuer_country" : "Россия",
"issuer" : "ALFA-BANK"
}
}
Успешный ответ от ТСП
{
"result" : "ok"
}
Ответ от ТСП в случае возникновения ошибки, которая требует повтора нотификации
{
"result" : "error",
"error_description" : "Internal error"
}
Ответ от ТСП в случае ошибки, которая не требует повтора нотификации
{
"result" : "ok",
"error_description" : "Payment information is not found"
}
Примечание 1: result относится к успешности факта приёма нотификации, а не к передаваемым данным.
Примечание 2: payment_status также отправляется при оплате банковской картой по двухстадийной (double) схеме, когда платёж успешно авторизован (status = pending, status_extended = pending_authorized).
3.2.2 get_payment_status
Получение информации о статусе оплаты по идентификатору платежа payment_id (или merchant_payment_id).
Направление запроса: ТСП → Миксплат
Тип запроса: POST-JSON (см. раздел 5.6)
URL запроса: https://api.mixplat.com/get_payment_status
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| payment_id | string | ID платежа в системе Миксплат. Не указывается, если присутствует merchant_payment_id |
| merchant_payment_id | string | ID платежа в системе ТСП. Не указывается, если присутствует payment_id |
| project_id | string | ID проекта ТСП в Миксплат, к которому относится платёж. Значение параметра отображается в личном кабинете Миксплат в настройках проекта. Указывается, только если присутствует merchant_payment_id |
| signature | string | Подпись запроса. Символ "+" означает конкатенацию, payment_id, merchant_payment_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку. Пример формирования: Результат: |
Параметры ответа от Миксплат
Совпадают с нотификацией payment_status, за исключением параметров result и error_description, используемых только в get_payment_status:
| result | string | Результат выполнения запроса (см. раздел 6.3). |
| error_description | string | Описание ошибки, возникшей при выполнении запроса. Присутствует только в случае ошибки при выполнения метода (result != ok) |
| payment_id | string | ID платежа в системе Миксплат. |
| merchant_payment_id | string|null | ID платежа в ТСП. |
| payment_method | string|null | Платёжный метод, который был использован для оплаты (см. раздел 6.8), или NULL, если он ещё не определён. |
| payment_method_group | string|null | Группа платёжного метода, который был использован для оплаты (см. раздел 6.7), или NULL, если он ещё не определён. |
| status | string | Статус платежа (см. раздел 6.5). Может быть промежуточным ( |
| status_extended | string | Расширенный статус платежа (см. раздел 6.6). Состав расширенных статусов может быть изменён. Для определения успешности платежа используйте исключительно |
| amount_user | int|null | Сумма, фактически оплаченная плательщиком, с учётом комиссии (если есть), в минорных единицах (копейках) или NULL, если платёж ещё не подтверждён. |
| amount_merchant | int|null | Сумма к выплате ТСП, за вычетом комиссии (если есть), в минорных единицах (копейках) или NULL, если платёж ещё не подтверждён. |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, payment_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
| test | int | Признак тестового платежа.
Для тестовых платежей необходимо указывать специальные номера банковских карт/номера телефонов (см. раздел 5.5). |
| currency | string | Валюта платежа (см. раздел 6.1). |
| date_created | string | Дата и время создания платежа (по UTC+03:00). |
| date_processed | string|null | Дата и время обработки платежа (по UTC+03:00). |
| project_id | int | ID проекта ТСП в Миксплат, к которому относится платёж. Значение параметра отображается в личном кабинете Миксплат в настройках проекта. |
| recurrent_id | string|null | ID рекуррентной сессии. В дальнейшем вы можете использовать этот идентификатор и принимать повторные платежи без подтверждения со стороны плательщика (см. раздел 5.3). Присутствует в случае, если режим рекуррентов был согласован для проекта, и если при создании платежа был передан параметр recurrent_payment = 1. |
| init_payment_id | string|null | Значение payment_id первого платежа по рекурренту/подписке. |
| merchant_init_payment_id | string|null | Значение merchant_payment_id из первого платежа по рекурренту/подписке. |
| merchant_campaign_id | string|null | ID кампании в ТСП. |
| merchant_data | string|null | Произвольные данные ТСП, связанные с платежом. |
| merchant_fields | json|null | Массив дополнительных сведений о транзакции. Пример: |
| user_email | string|null | Email плательщика. |
| user_name | string|null | Имя плательщика. |
| user_phone | string|null | Номер телефона плательщика. |
| user_comment | string|null | Пользовательский комментарий к платежу. |
| user_account_id | string|null | Идентификатор пользователя в ТСП. |
| user_country_code | string|null | Двухсимвольный код страны плательщика по стандарту ISO 3166. |
| user_country | string|null | Страна плательщика. Могут быть несовпадения при подключенном VPN. |
| user_region_code | string|null | Код региона плательщика по стандарту ISO 3166. |
| user_region | string|null | Регион плательщика. |
| utm_medium | string|null | UTM-метка, определяющая тип трафика. |
| utm_source | string|null | UTM-метка, определяющая источник трафика. |
| utm_campaign | string|null | UTM-метка, определяющая рекламную кампанию. |
| utm_term | string|null | Произвольная пользовательская UTM-метка. |
| card | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "card" (см. раздел 3.2.3.1). Присутствует только для платежей с payment_method_group="card" |
| bank | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "bank" (см. раздел 3.2.3.2). Присутствует только для платежей с payment_method_group="bank" |
| mobile | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "mobile" (см. раздел 3.2.3.3). Присутствует только для платежей с payment_method_group="mobile" |
| wallet | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "wallet" (см. раздел 3.2.3.4). Присутствует только для платежей с payment_method_group="wallet" |
Пример запроса и ответа
Запрос от ТСП
- JSON
- CURL
POST https://api.mixplat.com/get_payment_status
{
"api_version" : 3,
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"signature" : "d9729feb74992cc3482b350163a1a010"
}
curl https://api.mixplat.com/get_payment_status \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"api_version" : 3,
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"signature" : "d9729feb74992cc3482b350163a1a010"
}'
Успешный ответ от Миксплат
{
"result" : "ok",
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD4mh",
"merchant_payment_id" : "572",
"payment_method" : "bank",
"payment_method_group" : "sbp",
"status" : "success",
"status_extended" : "success_success",
"amount" : 50000,
"amount_user" : 50000,
"amount_merchant" : 48750,
"test" : 0,
"currency" : "RUB",
"date_created" : "2019-03-03 11:45:23",
"date_processed" : "2019-03-03 11:47:12",
"project_id" : 1203,
"merchcant_data" : "Договор №571",
"merchant_fields" :
{
"Cookie" : "HunjV5LHOvDIF",
"client-category" : "VIP",
"Возраст" : 33
},
"user_email" : "email@mail.ru",
"user_name" : "Дмитрий",
"user_phone" : "79031234567",
"user_comment" : "Договор №571 от 19.07.2022",
"user_account_id" : "124522751",
"user_country_code" : "ru",
"user_country" : "Россия",
"user_region_code" : "RU-KLU",
"user_region" : "Калужская обл.",
"utm_source" : "vkontakte",
"bank" :
{
"pan" : "408178**********2202",
"issuer_country_code" : "ru",
"issuer_country" : "Россия",
"issuer" : "ALFA-BANK"
}
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_payment_not_found",
"error_description" : "Payment ID XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh is not found"
}
3.2.3 Опциональные JSON-поля
В структуре данных о статусе платежа может передаваться JSON-объект с расширенной информацией о платеже, специфичной для конкретного платёжного метода. Название этих JSON-объектов совпадает с наименованием платёжного метода в параметре payment_method_group (см. раздел 6.7).
3.2.3.1 структура поля card
| payment_system | string | Платёжная система карты плательщика (см. раздел 6.9) |
| pan | string | Номер карты плательщика. Показаны только первые 6 и последние 4 цифры, остальные заменены на символ *. |
| issuer_country_code | string | Двухсимвольный код страны плательщика по стандарту ISO 3166, определенный по номеру карты. |
| issuer_country | string | Cтрана плательщика, определённая по номеру карты. |
| issuer | string|null | Банк-эмитент карты плательщика. Задаётся в случае, если удалось распознать банк плательщика. |
3.2.3.2 структура поля bank
| account | string | Номер расчётного счёта плательщика. В зависимости от источника номер может быть частично закрыт символами *. |
| issuer_country_code | string | Двухсимвольный код страны банка по стандарту ISO 3166. |
| issuer_country | string | Cтрана банка. |
| issuer | string|null | Банк-эмитент карты плательщика. Задаётся в случае, если удалось распознать банк плательщика. |
3.2.3.3 структура поля mobile
| payment_system | string|null | Символьное наименование оператора сотовой связи телефонного номера абонента. (см. раздел 6.9) |
| mccmnc | int | Код оператора сотовой связи по стандарту MCCMNC. |
| billing_type | string | Тип биллинга платежа (см. раздел 6.10) |
| sender | string|null | Номер, на который было отправлено SMS-сообщение, инициировавшее платёж. Задаётся только в случае, если платёж был инициирован отправкой SMS-сообщения на короткий номер. |
| text_raw | string|null | Полный текст сообщения. Задаётся только в случае, если платёж был инициирован отправкой SMS-сообщения на короткий номер. |
| prefix | string|null | Ключевое слово, распознанное в тексте сообщения. Задаётся только в случае, если платёж был инициирован отправкой SMS-сообщения на короткий номер. |
| text_after_prefix | string|null | Текст после ключевого слова. Задаётся только в случае, если платёж был инициирован отправкой SMS-сообщения на короткий номер. |
3.2.3.4 структура поля wallet
| account | string | Идентификатор плательщика в платёжной системе. |
| issuer_country_code | string | Двухсимвольный код страны банка по стандарту ISO 3166. |
| issuer_country | string | Cтрана банка. |
| issuer | string|null | Наименование банка плательщика. Задаётся в случае, если удалось распознать банк плательщика. |
3.3 Возврат платежа
3.3.1 refund_payment
Возврат средств по ранее выполненному платежу. Возврат может быть произведён как на полную сумму произведённого пользователем платежа, так и на частичную. Статус платежа (определяется по payment_id) после процедуры возврата не изменяется, результат проведения возврата будет определён по refund_id. Для одного и того же платежа может быть произведено несколько возвратов на разные суммы, они будут отражены в реестрах как отдельные операции с отдельными refund_id.
Направление запроса: ТСП → Миксплат
Тип запроса: POST-JSON (см. раздел 5.6)
URL запроса: https://api.mixplat.com/refund_payment
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| payment_id | string | ID платежа, по которому будет осуществлён возврат. |
| amount | int | Сумма возврата (в минорных единицах, копейках). Необязательный, по умолчанию совпадает с суммой платежа с идентификатором payment_id |
| currency | string|null | Валюта платежа (см. раздел 6.1). Необязательный, по умолчанию совпадает с валютой платежа с идентификатором payment_id |
| merchant_refund_id | string|null | ID возврата в ТСП. Необязательный параметр. От 1 до 256 символов. |
| merchant_data | string|null | Произвольные данные ТСП, связанные с возвратом. Необязательный параметр. От 1 до 256 символов. |
| signature | string | Подпись запроса. Принцип формирования: Символ "+" означает конкатенацию, payment_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку. Пример формирования: Результат: 047780e4f51dc6664d333536a6b4aab8 |
Параметры ответа от Миксплат
| result | string | Результат выполнения запроса (см. раздел 6.3). При успешном выполнении метода |
| error_description | string | Описание ошибки, возникшей при выполнении запроса. Присутствует только в случае ошибки при выполнения метода (result != ok). |
| refund_id | string|null | ID созданного возврата. Присутствует только в случае ошибки при выполнения метода (result = ok). |
Пример запроса и ответа
Запрос от ТСП
POST https://api.mixplat.com/refund_payment
{
"api_version" : 3,
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"signature" : "d9729feb74992cc3482b350163a1a010"
}
Успешный ответ от Миксплат
{
"result" : "ok",
"refund_id" : 19872
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_payment_not_found",
"error_description" : "Payment is not found"
}
3.3.2 refund_status
Уведомление на URL Обработчика ТСП о статусе возврата. Уведомление о возврате платежа будет отправлено после получения подтверждения от банка-эмитента. Обратите внимание, что получение данного уведомления может занять несколько дней.
Направление запроса: Миксплат → ТСП
Тип запроса: POST-JSON (см. раздел 5.7)
URL запроса: задаётся в настройках проекта в личном кабинете Миксплат
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| request | string | Тип уведомления. В данном методе передаётся значение |
| refund_id | int | ID возврата в Миксплат. |
| payment_id | string | ID платежа в Миксплат, для которого был создан возврат. |
| merchant_payment_id | string|null | ID платежа в системе ТСП. |
| amount | int | Сумма платежа в минорных единицах (копейках). Сумма 123₽ будет соответствовать amount = 12300 |
| merchant_refund_id | string|null | ID возврата в ТСП, или NULL, если он не был указан при создании платежа. |
| merchant_data | string|null | Произвольные данные ТСП, связанные с возвратом, или NULL, если они не были указаны при создании платежа. |
| status | string | Статус возврата (см. раздел 6.12). |
| date_created | string | Дата и время создания возврата (по UTC+03:00). |
| date_completed | string|null | Дата и время осуществления возврата (по UTC+03:00), или NULL, если возврат ещё обрабатывается.Формат: YYYY-MM-DD HH:MM:SS |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, refund_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
Параметры ответа от ТСП
| result | string | Результат выполнения запроса (см. раздел 6.4). |
| error_description | string | Описание ошибки, возникшей при обработке уведомления. Необязательный, может присутствовать в случае возникновения ошибки при выполнении запроса |
Пример уведомления и ответа
Уведомление от Миксплат
POST <URL обработчика ТСП>
{
"api_version" : 3,
"request" : "refund_status",
"refund_id" : 19872,
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"merchant_payment_id" : "878712525",
"amount" : 10000,
"status" : "success",
"date_created" : "2019-04-02 12:43:00",
"date_completed" : "2019-04-02 13:15:00",
"signature" : "d9729feb74992cc3482b350163a1a010"
}
Успешный ответ от ТСП
{
"result" : "ok"
}
Ответ от ТСП в случае возникновения ошибки
{
"result" : "error_refund_not_found",
"error_description" : "Refund is not found"
}
3.3.3 get_refund_status
Получение информации о статусе возврата по refund_id. Статус финализируется только после получения подтверждения от банка-эмитента. Обратите внимание, что получение финального статуса может занять несколько дней.
Направление запроса: ТСП → Миксплат
Тип запроса: POST-JSON (см. раздел 5.6)
URL запроса: https://api.mixplat.com/get_refund_status
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| refund_id | int | ID возврата в Миксплат. |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, refund_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
Параметры ответа от Миксплат
| result | string | Результат выполнения запроса (см. раздел 6.4). |
| error_description | string | Описание ошибки, возникшей при обработке уведомления. Необязательный, может присутствовать в случае возникновения ошибки при выполнении запроса |
| payment_id | string | ID платежа в Миксплат, для которого был создан возврат. |
| merchant_payment_id | string|null | ID платежа в системе ТСП. |
| amount | int | Сумма платежа в минорных единицах (копейках). Сумма 123₽ будет соответствовать amount = 12300 |
| merchant_refund_id | string|null | ID возврата в ТСП, или NULL, если он не был указан при создании платежа. |
| merchant_data | string|null | Произвольные данные ТСП, связанные с возвратом, или NULL, если они не были указаны при создании платежа. |
| status | string | Статус возврата (см. раздел 6.12). |
| date_created | string | Дата и время создания возврата (по UTC+03:00). |
| date_completed | string|null | Дата и время осуществления возврата (по UTC+03:00), или NULL, если возврат ещё обрабатывается.Формат: YYYY-MM-DD HH:MM:SS |
Пример запроса и ответа
Запрос от ТСП
- JSON
- CURL
POST https://api.mixplat.com/get_refund_status
{
"api_version" : 3,
"refund_id" : 19872,
"signature" : "d9729feb74992cc3482b350163a1a010"
}
curl https://api.mixplat.com/get_refund_status \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"api_version" : 3,
"refund_id" : 19872,
"signature" : "d9729feb74992cc3482b350163a1a010"
}'
Запрос от ТСП
POST https://api.mixplat.com/get_refund_status
{
"api_version" : 3,
"refund_id" : 19872,
"signature" : "d9729feb74992cc3482b350163a1a010"
}
Ответ от Миксплат
POST <URL обработчика ТСП>
{
"result" : "ok",
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"merchant_payment_id" : "878712525",
"amount" : 10000,
"status" : "success",
"date_created" : "2019-04-02 12:43:00",
"date_completed" : "2019-04-02 13:15:00",
"signature" : "d9729feb74992cc3482b350163a1a010"
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_refund_not_found",
"error_description" : "Refund is not found"
}
3.4 Подписки
Подписка — повторные безакцептные списания средств с карты плательщика с заранее определённой периодичностью без дополнительных действий со стороны ТСП.
Для возможности создания подписок необходимо настроить подписочный профиль у платёжной формы. Параметры подписочного профиля согласовывается отдельно через техническую поддержку.
3.4.1 Профиль подписки
Профиль подписки — это шаблон, на основе которого создаются подписки для конкретных пользователей.
В профиле настраиваются основные параметры, которые действуют для всех подписок, созданных на его основе. Для создания или изменения профилей подписок обратитесь в техническую поддержку Миксплат.
В профиле подписки настраиваются:
- Название профиля (для отображения в Личном Кабинете)
- Валюта платежа
- Сумма платежа
- Доступные платёжные методы
- Текст уведомлений при событиях (подтверждение, активация и т. п.)
- Периодичность списания:
- Ежедневная
- Еженедельная
- Ежемесячная
- Количество бесплатных дней (период между подтверждением и активацией подписки)
- Количество и период попыток списания
3.4.2 Создание подписки
Для создания подписки нужно инициировать установочный платёж с помощью метода create_payment_form, передав дополнительный параметр recurrent_payment = 1. Подписка создаётся только в случае, если установочный платёж успешен. После проведения установочного платежа вы получите идентификатор подписки recurrent_id в уведомлении payment_status.
3.4.3 Платежи по подписке
В соответствии с заданной периодичностью в профиле подписки, Миксплат инициирует очередные платежи с заданной периодичностью. При очередном списании ТСП получит уведомление payment_status c идентификатором подписки recurrent_id. Если очередной платёж был неуспешен, то в зависимости от настроек подписочного профиля попытки списаний остановятся или будут выполнены дополнительные попытки списания. Дата и время очередного платежа по подписке отсчитывается от даты установочного платежа.
3.4.4 stop_subscription
Направление запроса: ТСП → Миксплат
Тип запроса: POST-JSON (см. раздел 5.6)
URL запроса: https://api.mixplat.com/stop_subscription
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| recurrent_id | int | ID подписки |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, recurrent_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
Параметры ответа от Миксплат
| result | string | Результат выполнения запроса (см. раздел 6.3). При успешном выполнении метода |
| error_description | string | Описание ошибки, возникшей при выполнении запроса. Присутствует только в случае ошибки при выполнения метода (result != ok). |
Пример запроса и ответа
Запрос от ТСП
- JSON
- CURL
POST https://api.mixplat.com/stop_subscription
{
"api_version" : 3,
"recurrent_id" : "434241",
"signature" : "d9729feb74992cc3482b350163a1a010"
}
curl https://api.mixplat.com/stop_subscription \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"api_version" : 3,
"recurrent_id" : "434241",
"signature" : "d9729feb74992cc3482b350163a1a010"
}'
Успешный ответ от Миксплат
{
"result" : "ok",
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_subscription_not_found",
"error_description" : "Subscription is not found"
}
3.4.5 get_subscription_status
Направление запроса: ТСП → Миксплат
Тип запроса: POST-JSON (см. раздел 5.6)
URL запроса: https://api.mixplat.com/get_subscription_status
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| recurrent_id | int | ID подписки |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, recurrent_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
Параметры ответа от Миксплат
| result | string | Результат выполнения запроса (см. раздел 6.3). При успешном выполнении метода Значение result = ok является подтверждением получения платёжного запроса, и не относится к статусу самого платежа. |
| error_description | string | Описание ошибки, возникшей при выполнении запроса. Присутствует только в случае ошибки при выполнения метода (result != ok). |
| subscription_status | string | Статус подписки: confirmation (подтверждается), active (активна), suspended (приостановлена) и stopped (остановлена). |
| profile_id | string | ID профиля подписки в системе Миксплат. |
| period | string | Период списаний по подписке: "1month", "1week", "1day" и т.д. |
| payment_method | string|null | Платёжный метод, который был использован для оплаты (см. раздел 6.8), или NULL, если он ещё не определён. |
| payment_method_group | string|null | Группа платёжного метода, который был использован для оплаты (см. раздел 6.7), или NULL, если он ещё не определён. |
| amount | int | Сумма платежа в минорных единицах (копейках). Сумма 123₽ будет соответствовать amount = 12300 |
| amount_user | int|null | Сумма, фактически оплаченная плательщиком, с учётом комиссии (если есть), в минорных единицах (копейках) или NULL, если платёж ещё не подтверждён. |
| amount_merchant | int|null | Сумма к выплате ТСП, за вычетом комиссии (если есть), в минорных единицах (копейках) или NULL, если платёж ещё не подтверждён. |
| test | int|null | Признак тестового платежа.
Для тестовых платежей необходимо указывать специальные номера банковских карт/номера телефонов (раздел 5.5). |
| currency | string|null | Валюта платежа (см. раздел 6.1). Необязательный параметр. По умолчанию RUB. |
| date_created | string | Дата и время создания подписки (по UTC+03:00). |
| date_processed | string|null | Дата и время обработки последнего платежа по подписке (по UTC+03:00). |
| date_stopped | string|null | Дата и время остановки подписки (по UTC+03:00) или NULL, если она активна. |
| project_id | int | ID проекта ТСП в Миксплат, к которому относится платёж. Значение параметра отображается в личном кабинете Миксплат в настройках проекта. |
| init_payment_id | string|null | Значение payment_id первого платежа по подписке. |
| merchant_init_payment_id | string|null | Значение merchant_payment_id из первого платежа по подписке. |
| merchant_campaign_id | string|null | ID кампании в ТСП. |
| merchant_data | string|null | Произвольные данные ТСП, связанные с платежом. |
| merchant_fields | json|null | Массив дополнительных сведений о транзакции. |
| user_email | string|null | Email плательщика. |
| user_name | string|null | Имя плательщика. |
| user_phone | string|null | Номер телефона плательщика. |
| user_comment | string|null | Пользовательский комментарий к платежу. |
| user_account_id | string|null | Идентификатор пользователя в ТСП. |
| user_country_code | string|null | Двухсимвольный код страны плательщика по стандарту ISO 3166. |
| user_country | string|null | Страна плательщика. Могут быть несовпадения при подключенном VPN. |
| user_region_code | string|null | Код региона плательщика по стандарту ISO 3166. |
| user_region | string|null | Регион плательщика. |
| utm_medium | string|null | UTM-метка, определяющая тип трафика. |
| utm_source | string|null | UTM-метка, определяющая источник трафика. |
| utm_campaign | string|null | UTM-метка, определяющая рекламную кампанию. |
| utm_term | string|null | Произвольная пользовательская UTM-метка. |
| card | json|null | Дополнительная информация, специфичная для группы платёжных методов "card" (см. раздел 3.2.3.1). Присутствует только для платежей с payment_method_group="card" |
| bank | json|null | Дополнительная информация, специфичная для группы платёжных методов "bank" (см. раздел 3.2.3.2). Присутствует только для платежей с payment_method_group="bank" |
| mobile | json|null | Дополнительная информация, специфичная для группы платёжных методов "mobile" (см. раздел 3.2.3.3). Присутствует только для платежей с payment_method_group="mobile" |
| wallet | json|null | Дополнительная информация о платеже, специфичная для группы платёжных методов "wallet" (см. раздел 3.2.3.4). Присутствует только для платежей с payment_method_group="wallet" |
Пример запроса и ответа
Запрос от ТСП
- JSON
- CURL
POST https://api.mixplat.com/get_subscription_status
{
"api_version" : 3,
"recurrent_id" : "434241",
"signature" : "d9729feb74992cc3482b350163a1a010"
}
curl https://api.mixplat.com/get_subscription_status \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"api_version" : 3,
"recurrent_id" : "434241",
"signature" : "d9729feb74992cc3482b350163a1a010"
}'
Успешный ответ от Миксплат
{
"result" : "ok",
"subscription_status" : "active",
"profile_id" : "10",
"period" : "1month",
"payment_method" : "bank",
"payment_method_group" : "sbp",
"amount" : 50000,
"amount_user" : 50000,
"amount_merchant" : 48750,
"test" : 0,
"currency" : "RUB",
"date_created" : "2019-03-03 11:45:23",
"date_processed" : "2019-03-03 11:47:12",
"project_id" : 1203,
"merchcant_data" : "Договор №571",
"merchant_fields" :
{
"Cookie" : "HunjV5LHOvDIF",
"client-category" : "VIP",
"Возраст" : 33
},
"user_email" : "email@mail.ru",
"user_name" : "Дмитрий",
"user_phone" : "79031234567",
"user_comment" : "Договор №571 от 19.07.2022",
"user_account_id" : "124522751",
"user_country_code" : "ru",
"user_country" : "Россия",
"user_region_code" : "RU-KLU",
"user_region" : "Калужская обл.",
"utm_source" : "vkontakte",
"bank" :
{
"pan" : "408178**********2202",
"issuer_country_code" : "ru",
"issuer_country" : "Россия",
"issuer" : "ALFA-BANK"
}
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_subscription_not_found",
"error_description" : "Subscription is not found"
}
3.5 Рекуррентные платежи
Рекуррент — повторные безакцептные списания произвольных сумм с карты плательщика в произвольные моменты времени по запросу со стороны ТСП.
Возможность проведения рекуррентных платежей включается в настройках проекта и согласовывается отдельно через техническую поддержку. После успешного прохождения первого, установочного платежа от плательщика с помощью метода create_payment_form, в уведомлении payment_status, ТСП получит параметр recurrent_id, который является обязательным для проведения очередных рекуррентных платежей.
3.5.1 create_recurrent_payment
Проведение очередного рекуррентного платежа на основе recurrent_id. Результатом вызова метода будет создание отдельного платежа с новым payment_id, но с тем же recurrent_id. Для определения в дальнейшем статуса этого платежа будут применяться методы payment_status и/или get_payment_status.
Направление запроса: ТСП → Миксплат
Тип запроса: POST-JSON (см. раздел 5.6)
URL запроса: https://api.mixplat.com/create_recurrent_payment
Параметры запроса:
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| request_id | string|null | Уникальный идентификатор запроса, задаваемый ТСП, обеспечивающий идемпотентность вызовов (повторные запросы с тем же request_id не будут приводить к созданию нового платежа, а параметры ответа будут полностью повторять параметры ответа первоначального вызова с данным request_id). Рекомендуется передавать этот параметр, чтобы защититься от дублирования платежей в результате сетевых проблем, задержек ответа и т. п. В качестве request_id можно использовать идентификатор платежа в системе ТСП (если он уникален), или хеш от ключевых параметров запроса. Проверка наличия другого запроса с данным request_id осуществляется за последние 30 дней. Необязательный параметр. От 1 до 64 символов. |
| recurrent_id | string|null | ID привязанной карты, полученный ранее в уведомлении Обязательный параметр |
| merchant_payment_id | string|null | ID платежа в ТСП. Необязательный параметр. От 1 до 256 символов. |
| merchant_data | string|null | Произвольные данные ТСП, связанные с платежом. Необязательный параметр. От 1 до 256 символов. |
| amount | int | Сумма платежа в минорных единицах (копейках). Обязательный параметр |
| items | json-object|null | Данные для чека. Описание структуры – в разделе 3.7 Пример: Необязательный параметр. |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, recurrent_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
Параметры ответа от Миксплат
| result | string | Результат выполнения запроса (см. раздел 6.3). При успешном выполнении метода Значение result = ok является подтверждением получения платёжного запроса, и не относится к статусу самого платежа. |
| error_description | string | Описание ошибки, возникшей при выполнении запроса. Присутствует только в случае ошибки при выполнения метода (result != ok). |
| payment_id | string|null | ID созданного платежа в системе Миксплат. Присутствует только в случае ошибки при выполнения метода (result = ok). |
Запрос от ТСП
- JSON
- CURL
POST https://api.mixplat.com/create_recurrent_payment
{
"api_version" : 3,
"request_id" : "324223",
"recurrent_id" : "Kslf8Jsk5JskqjcnFkod0ngH1ndiBdra",
"merchant_payment_id" : "571",
"amount" : 20000,
"signature" : "d9729feb74992cc3482b350163a1a010"
}
curl https://api.mixplat.com/create_recurrent_payment \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"api_version" : 3,
"request_id" : "324223",
"recurrent_id" : "Kslf8Jsk5JskqjcnFkod0ngH1ndiBdra",
"merchant_payment_id" : "571",
"amount" : 20000,
"signature" : "d9729feb74992cc3482b350163a1a010"
}'
Успешный ответ от Миксплат
{
"result" : "ok",
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh"
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_project_not_found",
"error_description" : "Project 1203 is not found"
}
3.6 Двухэтапные платежи
При создании платежа методами create_payment или create_payment_form с параметром payment_scheme=double не будет произведено автоматическое списание денежных средств, пока ТСП не подтвердит платёж методом confirm_payment.
3.6.1 confirm_payment
Подтверждение платежа по банковским картам, созданного по двухэтапной схеме. Можно подтвердить изначально определённую сумму платежа, либо её часть через параметр amount в данном методе.
Направление запроса: ТСП → Миксплат
Тип запроса: POST-JSON (см. раздел 5.6)
URL запроса: https://api.mixplat.com/confirm_payment
Параметры запроса от ТСП
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| payment_id | string | ID платежа в системе Миксплат. |
| amount | int | Сумма платежа в минорных единицах (копейках). Небязательный параметр. Если не задан, сумма списания остаётся той же, которая была указана изначально в |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, payment_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
Параметры ответа от Миксплат
| result | string | Результат выполнения запроса (см. раздел 6.3). При успешном выполнении метода Значение result = ok является подтверждением получения платёжного запроса, и не относится к статусу самого платежа. |
| error_description | string | Описание ошибки, возникшей при выполнении запроса. Присутствует только в случае ошибки при выполнения метода (result != ok). |
Пример запроса и ответа
Запрос от ТСП
- JSON
- CURL
POST https://api.mixplat.com/confirm_payment
{
"api_version" : 3,
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"signature" : "d9729feb74992cc3482b350163a1a010"
}
curl https://api.mixplat.com/confirm_payment \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"api_version" : 3,
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"signature" : "d9729feb74992cc3482b350163a1a010"
}'
Успешный ответ от Миксплат
{
"result" : "ok"
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_payment_not_found",
"error_description" : "Payment is not found"
}
3.6.2 cancel_payment
Отмена платежа по банковским картам, созданного по двухэтапной схеме.
URL запроса: https://api.mixplat.com/cancel_payment
Параметры запроса от ТСП
| api_version | int | Версия API. Текущая актуальная версия: 3. |
| payment_id | string | ID платежа в системе Миксплат. |
| signature | string | Принцип формирования: Символ "+" означает конкатенацию, payment_id — это строковые представления соответствующих параметров запроса, API_KEY — это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Пример формирования: Результат: |
Параметры ответа от Миксплат
| result | string | Результат выполнения запроса (см. раздел 6.3). При успешном выполнении метода Значение result = ok является подтверждением получения платёжного запроса, и не относится к статусу самого платежа. |
| error_description | string | Описание ошибки, возникшей при выполнении запроса. Присутствует только в случае ошибки при выполнения метода (result != ok). |
Пример запроса и ответа
Запрос от ТСП
- JSON
- CURL
POST https://api.mixplat.com/cancel_payment
{
"api_version" : 3,
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"signature" : "d9729feb74992cc3482b350163a1a010"
}
curl https://api.mixplat.com/cancel_payment \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"api_version" : 3,
"payment_id" : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
"signature" : "d9729feb74992cc3482b350163a1a010"
}'
Успешный ответ от Миксплат
{
"result" : "ok"
}
Ответ от Миксплат при возникновении ошибки
{
"result" : "error_payment_not_found",
"error_description" : "Payment is not found"
}
3.7 Фискализация
3.7.1 items
Параметр items представляет собой JSON массив, элементы которого являются JSON объектами, описывающими товары/услуги, которые должны быть отражены в фискальном чеке. Поля такого объекта описаны в таблице:
| name | string | Наименование позиции товара/услуги. |
| sum | int | Стоимость позиции данных товаров/услуг (в минорных единицах). |
| quantity | float|null | Количество товара/услуги. Дробное число с разделителем-точкой. Необязательное поле, по умолчанию: 1 |
| unit | string|int|null | Единица измерения количества. В случае ФФД 1.05 передается в виде строки (шт., кг, литр и т.д.). Необязательное поле для ФФД 1.05, по умолчанию: "шт." Обязательное поле для ФФД 1.2, по умолчанию 0 |
| vat | string|null | НДС (см. ниже Необязательное поле, по умолчанию берётся из настроек компании. |
| method | string|null | Способ взаиморасчёта (см. ниже Необязательное поле, по умолчанию берётся из настроек компании. |
| object | string|null | Тип товаров/услуг (см. ниже Необязательное поле, по умолчанию берётся из настроек компании. |
items.vat
НДС на позицию чека.
| none | Без НДС |
| vat0 | НДС 0% |
| vat5 | НДС 5% |
| vat7 | НДС 7% |
| vat10 | НДС 10% |
| vat105 | НДС 5/105 |
| vat107 | НДС 7/107 |
| vat110 | НДС 10/110 |
| vat20 | НДС 20% |
| vat120 | НДС 20/120 |
items.method
Признак способа расчёта по позиции чека.
| full_payment | Полная оплата, в том числе с учетом аванса |
| full_prepayment | Полная предварительная оплата до момента передачи предмета расчета |
| prepayment | Частичная предварительная оплата до момента передачи предмета расчета |
| advance | Аванс |
| partial_payment | Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит |
| credit | Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит |
| credit_payment | Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита). |
items.object
Признак предмета расчёта.
| commodity | Реализация товаров |
| excise | Реализация подакцизных товаров |
| job | Выполнение работ |
| service | Оказание услуг |
| payment | Аванс, задаток, предоплата, кредит, пени, штраф, вознаграждение, бонус и т.д. |
| property_right | Передача имущественных прав |
| composite | Предмет расчета, состоящий из нескольких признаков |
| another | Предмет расчета, не относящийся ни к одному из перечисленным предметов расчета |
items.unit
Единица измерения количества (для ФФД версии 1.2).
| 0 | Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами |
| 10 | Грамм |
| 11 | Килограмм |
| 12 | Тонна |
| 20 | Сантиметр |
| 21 | Дециметр |
| 22 | Метр |
| 30 | Квадратный сантиметр |
| 31 | Квадратный дециметр |
| 32 | Квадратный метр |
| 40 | Миллилитр |
| 41 | Литр |
| 42 | Кубический метр |
| 50 | Киловатт-час |
| 51 | Гигакалория |
| 70 | Сутки (день) |
| 71 | Час |
| 72 | Минута |
| 73 | Секунда |
| 80 | Килобайт |
| 81 | Мегабайт |
| 82 | Гигабайт |
| 83 | Терабайт |
| 255 | Применяется при использовании иных единиц измерения |