MIXPLAT, мобильная коммерция

1. Общие сведения

Мобильная коммерция, текущая версия API: 2.0

1.1 Принцип работы

API позволяет реализовать приём платежей со счета мобильного телефона в web-, mobile- и desktop-приложениях.

Обмен запросами между системами происходит без переадресации абонента на платёжную форму, что позволяет интегрировать оплату в интерфейс сайта или приложения без визуальных стилизационных изменений.

Система Продавца может использовать ранее сохранённые номера телефонов своих пользователей и задавать сумму оплаты согласно действиям и выбору пользователя.

1.2 Описание взаимодействия

Возможны две схемы инициации мобильного платежа:

  • Инициация со стороны партнёра (когда пользователь оформляет заказ на сайте партнёра, после чего партнёр отправляет в MIXPLAT запрос на создание платежа)
  • Инициация со стороны абонента (когда пользователь отправляет SMS на короткий номер или совершает оплату через виджет или платёжную форму, т.е. когда MIXPLAT первым узнаёт о создании мобильного платежа)

1.2.1 Инициация платежа со стороны партнёра

Ниже приведена схема взаимодействия между участниками транзакции в случае успешной оплаты.

Описание стадий процесса:

  1. Система партнёра отправляет в MIXPLAT запрос на создание платежа create_payment (см. раздел 2.1) и получает ответ от MIXPLAT с результатом запроса и дополнительными параметрами.
  2. MIXPLAT создаёт платёжную транзакцию у оператора, которому принадлежит абонент.
  3. Оператор отправляет абоненту акцептную SMS, в которой указан получатель платежа, сумма и действие, которое должен совершить абонент, чтобы подтвердить оплату. Абонент подтверждает оплату ответной SMS.
  4. Оператор отправляет уведомление MIXPLAT об успешности платёжной транзакции.
  5. MIXPLAT отправляет системе партнёра status-запрос (см. раздел 3.1), уведомляя о финальном статусе платежа, система партнёра корректно отвечает на запрос. В то же время, если партнёр при создании платежа в MIXPLAT указал параметр success_message (см. раздел 2.1), то MIXPLAT отправляет абоненту SMS с указанным текстом.

1.2.2 Инициация платежа со стороны абонента

Ниже приведена схема взаимодействия участников транзакции в случае успешной оплаты.

Описание стадий процесса:

  1. Абонент инициирует платёж с помощью SMS на короткий номер, совершая оплату через виджет или платёжную форму MIXPLAT.
  2. MIXPLAT отправляет системе партнёра check-запрос (см. раздел 3.2), проверяя готовность партнёра оказать услугу, система партнёра подтверждает готовность в ответе на запрос.
    Внимание! check-запрос отправляется только в случае, когда у сервиса указан URL для check-запросов в личном кабинете. Если URL для check-запросов не указан, то платёж одобряется автоматически.
  3. MIXPLAT создаёт платёжную транзакцию у оператора, которому принадлежит абонент.
  4. Оператор отправляет абоненту акцептную SMS, в которой указан получатель платежа, сумма и действие, которое должен совершить абонент, чтобы подтвердить оплату. Абонент подтверждает оплату ответной SMS.
  5. Оператор отправляет уведомление MIXPLAT об успешности платёжной транзакции.
  6. MIXPLAT отправляет системе партнёра status-запрос (см. раздел 3.1), уведомляя о финальном статусе платежа, система партнёра корректно отвечает на запрос. В то же время, если партнёр при создании платежа в MIXPLAT указал параметр success_message (см. раздел 2.1), то MIXPLAT отправляет абоненту SMS с указанным текстом.

1.3 Запрос от системы партнёра к MIXPLAT

1.3.1 Запрос от системы партнёра

Запросы от системы партнёра к MIXPLAT осуществляются POST запросом по протоколу HTTPS (рекомендуется) или HTTP.

Параметры запроса, если они требуются, передаются в виде JSON словаря в теле запроса. Все строки передаются в кодировке UTF-8.

Обратите внимание, что параметр запроса считается незаданным в двух случаях:

  • Он отсутствует в JSON словаре
  • Он присутствует в JSON словаре, но его значение = null

В большинстве случаев длительность выполнения запроса к MIXPLAT не превышает 1 секунды, но в отдельных случаях запрос может выполняться до 20 секунд включительно. Удостоверьтесь, что в вашей HTTP библиотеке установлен таймаут ожидания ответа не менее 20 секунд.

1.3.2 Ответ от MIXPLAT

Ответ представляет собой JSON словарь, в котором всегда присутствует параметр result (string) - результат выполнения API запроса (см. раздел 4.1) и другие параметры, описанные ниже. Все строки передаются в кодировке UTF-8.

Успешное выполнение запроса

При успешном выполнении запроса (result = ok) передаются дополнительные параметры, которые описаны в соответствующих разделах документации.

 {
	"result" : "ok",
	"param1" : "value1",
	"param2" : "value2",
	"param3" : "value3",
	...
 }

Ошибка при выполнении запроса

При неуспешном выполнении запроса (result != ok) в ответе присутствует только один дополнительный параметр ответа: message (string), в котором содержится описание возникшей ошибки.

{
	"result"  : "error_payment_not_found",
    "message" : "Payment XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh not found",
}

Внимание! Если HTTP код ответа отличен от 200, или возвращён некорректный JSON то это также следует считать неудачным выполнением запроса.

1.4 Запрос от MIXPLAT к системе партнёра

1.4.1 Запрос от MIXPLAT

Запросы от MIXPLAT к системе партнёра осуществляются POST запросом на URL, указанный в настройках сервиса в личном кабинете.

Параметры запроса, если они требуются, передаются в виде JSON словаря в теле запроса. Все строки передаются в кодировке UTF-8.

MIXPLAT ожидает ответа от системы партнёра в течение 40 секунд.

1.4.2 Ответ от системы партнёра

В ответ на свой запрос MIXPLAT ожидает от системы партнёра JSON словарь с параметрами ответа (набор параметров указан для конкретных методов). Все строки передаются в кодировке UTF-8.

Если HTTP код ответа отличен от 200 или возвращён некорректный JSON, то это считается неудачной попыткой уведомления.

2. Запросы от системы партнёра к MIXPLAT

2.1 Создание платежа (create_payment)

Этот запрос используется для создания нового платежа в MIXPLAT.

URL запроса:

  • http://api.mixplat.com/mc/create_payment
  • https://api.mixplat.com/mc/create_payment

2.1.1 Параметры запроса от системы партнёра

re
Параметр Тип Описание
service_id int ID сервиса, для которого создаётся платёж. Узнать ID вашего сервиса можно в личном кабинете в настройках проекта.
Обязательный параметр.
Пример: 100359
phone string[5..32] Номер телефона абонента без знака + и спецсимволов в формате 7хххххххххх.
Обязательный параметр.
Пример: 79261000000
amount int Сумма платежа в минорных единицах (копейках). От 100 до 1500000.
Обязательный параметр.
Пример: 1000
currency string[3] Код валюты платежа (см. раздел 4.7).
Обязательный параметр.
Пример: RUB
description string[10..70] Описание платежа (его увидит абонент в SMS с подтверждением платежа).
Если не задано, то будет сгенерировано автоматически.
Пример: Оплата доступа к WiFi
external_id string[1..256] Идентификатор платежа в системе продавца.
Необязательный параметр
Пример: ORDER142555
success_message string[10..256] Текст SMS сообщения, отправляемого абоненту после успешного платежа. Включается по запросу через техническую поддержку. SMS отправляется только в случае, если этот параметр задан. SMS оплачивается за каждую часть (67 символов) по согласованным тарифам.
Необязательный параметр
Пример: Спасибо за оплату! Для доступа используйте пароль x4md59
custom_data string[1..1024] Произвольные данные партнёра, которые будут переданы в уведомлении о статусе платежа и в реестре платежей.
Необязательный параметр
Пример: userid=103255,trxid=144288534233
signature string[32] Подпись запроса.
Обязательный параметр.

Принцип формирования:
md5 ( service_id + phone + amount + currency + external_id + test + SERVICE_SECRET_KEY)

Символ "+" означает конкатенацию, service_id, phone, amount, currency, external_id, test - это строковые представления соответствующих параметров запроса, SERVICE_SECRET_KEY - это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку.

Пример формирования:
md5(100145792612345671000RUBORDER14255c23a4398db8ef7b3ae1f4b07aeeb7c54f8e3c7c9)

Результат:
90e7f99daa7576134cc1402b57bc6951

2.1.2 Параметры ответа от MIXPLAT

Параметр Тип Описание
result string[1..32] Результат выполнения запроса (см. раздел 4.1)
id string[32] Идентификатор созданного платежа в MIXPLAT.
operator string[1..32] Код оператора (см. раздел 4.2), которому принадлежит номер телефона абонента.

2.1.3. Примеры запроса и ответа

Запрос на https://api.mixplat.com/mc/create_payment

{
	"service_id"        : 100359,
	"phone"             : "79261000000",
	"amount"            : 1000,
	"currency"          : "RUB",
	"signature"         : "dec98d88f692eaf5277b5fd75ef0ecf2",
	"description"       : "Оплата доступа к WiFi",
	"external_id"       : "ORDER142555",
	"success_message"   : "Спасибо за оплату! Для доступа используйте пароль x4md59",
	"custom_data"       : "userid=103255,trxid=144288534233",
	"test"              : 0
}

Ответ (успешное выполнение запроса)

{
	"result"   : "ok",
	"id"       : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
	"operator" : "ru_megafon"
}

Ответ (ошибка)

{
	"result"   : "error_service_not_found",
	"message"  : "Service 101515 not found"
}

2.2 Получение запроса о платеже (get_payment)

Этот запрос используется для получения информации о платеже.

Запрос работает для платежей, с момента создания которых прошло не более 3-х месяцев, более старые платежи найдены не будут!

URL запроса:

  • http://api.mixplat.com/mc/get_payment
  • https://api.mixplat.com/mc/get_payment

2.2.1 Параметры запроса от системы партнёра

Параметр Тип Описание
id string[32] Идентификатор платежа в MIXPLAT.
Обязательный параметр, если не указан external_id.
Пример: XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh
external_id string[1..256] Идентификатор платежа в системе продавца.
Обязательный параметр, если не указан id.
Пример: ORDER142555
signature string[32] Подпись запроса.
Обязательный параметр.

Принцип формирования:
md5 ( service_id + id + external_id + SERVICE_SECRET_KEY)

Символ "+" означает конкатенацию, service_id, id, external_id - это строковые представления соответствующих параметров запроса, SERVICE_SECRET_KEY - это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта. Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку.

Пример формирования:
md5(1001457ORDER14255c23a4398db8ef7b3ae1f4b07aeeb7c54f8e3c7c9)

Результат:
d6cd42ec4a2a9d7ce85721aee65a3cdf

2.2.2 Параметры ответа от MIXPLAT

Параметр Тип Описание
result string[1..32] Результат выполнения запроса (см. раздел 4.1)
id string[32] Идентификатор платежа в MIXPLAT.
32 символа.
Пример: XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh
external_id string[1..256] Идентификатор платежа в системе партнёра, указанный при создании платежа, либо null, если он не был указан.
Пример: ORDER142555
service_id int ID сервиса, для которого был создан платёж.
Пример: 100359
status string[1..32] Статус платежа (см. раздел 4.3)
Пример: failure
status_extended string[1..32] Расширенный статус платежа (см. раздел 4.4)
Пример: failure_subscriber_cancel
phone string[5..32] Номер телефона абонента.
Пример: 79261000000
operator string[1..32] Код оператора, которому принадлежит номер телефона абонента (см. раздел 4.2).
Пример: ru_beeline
date_created string[20] Дата и время (UTC) создания платежа.
Формат: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ)
Пример: 2015-12-01T18:24:35Z
date_processed string[20] Дата и время (UTC) присвоения платежу финального статуса, либо null, если платёж ещё обрабатывается.
Формат: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ)
Пример: 2015-12-01T18:27:04Z
currency string[3] Код валюты платежа (см. раздел 4.7).
Пример: RUB
amount int Сумма платежа в минорных единицах (копейках)
Пример: 10000
amount_subscriber int Сумма, выставленная к оплате абоненту в минорных единицах (копейках), либо null, если платёж не находится в финальном статусе.
Пример: 12000
amount_merchant int Сумма к выплате партнёру в минорных единицах (копейках), либо null, если платёж не находится в финальном статусе.
Пример: 9000
billing_type string[1..32]
null
Тип биллинга платежа (см. раздел 4.5), либо null, если платёж не находится в финальном статусе.
Пример: mc
custom_data string[1..1024]
null
Произвольные данные партнёра, указанные при создании платежа, либо null, если они не были указаны.
Пример: contract1314
test int Признак тестового платежа. Возможные значения:
1 - Платёж тестовый
0 - Платёж настоящий
Пример: 0

2.2.3. Пример запроса и ответа

Запрос на https://api.mixplat.com/mc/get_payment

{
	"id"         : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
	"signature"  : "dec98d88f692eaf5277b5fd75ef0ecf2"
}

Ответ (успешное выполнение запроса)

{
	"result"            : "ok",
	"id"                : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
	"external_id"       : "ORDER142555",
	"service_id"        : 100359,
	"status"            : "success",
	"status_extended"   : "success",
	"phone"             : "79261000000",
	"operator"          : "ru_megafon",
	"date_created"      : "2015-12-01T18:24:35Z",
	"date_processed"    : "2015-12-01T18:27:04Z",
	"currency"          : "RUB",
	"amount"            : 1000,
	"amount_subscriber" : 1000,
	"amount_merchant"   : 800,
	"billing_type"         : "mc",
	"custom_data"       : "userid=103255,trxid=144288534233",
	"test"              : 0
}

Ответ (ошибка)

{
	"result"   : "payment_not_found",
	"message"  : "Payment XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh not found"
}

2.3 Получение информации об операторе абонента и коммерческих условиях (phone_information)

Этот запрос используется для получения информации об операторе абонента, статусе его подключения для сервиса и коммерческих условиях подключения.

URL запроса:

  • http://api.mixplat.com/mc/phone_information
  • https://api.mixplat.com/mc/phone_information

2.3.1 Параметры запроса от системы партнёра

Параметр Тип Описание
service_id int ID сервиса, для которого выполняется проверка. Узнать ID вашего сервиса можно в личном кабинете в настройках проекта.
Обязательный параметр.
Пример: 100359
phone string[5..32] Номер телефона абонента без знака + и спецсимволов в формате 7хххххххххх.
Обязательный параметр.
Пример: 79261000000
signature string[32] Подпись запроса.
Обязательный параметр.

Принцип формирования:
md5( service_id + phone + SERVICE_SECRET_KEY)
Символ "+" означает конкатенацию, service_id, phone - это строковые представления соответствующих параметров запроса, SERVICE_SECRET_KEY - это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта.
Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку.

Пример формирования:
md5(10014579261000000c23a4398db8ef7b3ae1f4b07aeeb7c54f8e3c7c9)

Результат:
3271100c168d829fca54b7a314997766

2.3.2 Параметры ответа от MIXPLAT

Параметр Тип Описание
result string[1..32] Результат выполнения запроса (см. раздел 4.1)
operator string[1..32] Код оператора (см. раздел 4.2), которому принадлежит заданный номер телефона абонента или null, если оператор не определён.
Пример: ru_megafon
active int Состояние подключения оператора для сервиса.
1 - Оператор подключен, возможно проведение платежей.
0 - Оператор не подключен, проведение платежей невозможно.
Пример: 1
fee_merchant float Комиссия (%), которую платит партнёр или null, если оператор не определён, или не подключен для данного проекта.
Пример: 14.5
fee_subscriber float Комиссия (%), которую платит абонент или null, если оператор не определён, или не подключен для данного проекта.
Пример: 16.5

2.3.3 Примеры запроса и ответа

Запрос на https://api.mixplat.com/mc/phone_information

{
	"service_id" : 100359,
	"phone"      : "79261000000",
	"signature"  : "dec98d88f692eaf5277b5fd75ef0ecf2"
}

Ответ (успешное выполнение запроса)

{
	"result"         : "ok",
	"operator"       : "ru_megafon",
	"active"         : 1,
	"fee_merchant"   : 11.5,
	"fee_subscriber" : 0
}

Ответ (ошибка)

{
	"result"   : "error_unknown_operator",
	"message"  : "Unknown operator"
}

2.4 Создание нового сервиса (create_service)

Этот запрос используется для создания нового сервиса в MIXPLAT.

URL запроса:

  • http://api.mixplat.com/create_service
  • https://api.mixplat.com/create_service

Внимание! При формировании подписи запроса в качестве секретного ключа (COMPANY_SECRET_KEY) нужно использовать секретный ключ КОМПАНИИ. Для получения секретного ключа компании обратитесь к вашему персональному менеджеру или техническую поддержку.

2.4.1 Параметры запроса от системы партнёра

Параметр Тип Описание
company_id int ID компании, для которой создаётся сервис. Для получения ID вашей компании обратитесь к персональному менеджеру.
Обязательный параметр.
Пример: 77144
title string[3..256] Название сервиса.
Обязательный параметр.
Пример: Доступ к WiFi
url string[4..256] URL главной страницы сервиса.
Обязательный параметр.
Пример: http://wifiaccess.ru
description string[3..1024] Описание сервиса.
Обязательный параметр.
Пример: Предоставление доступа к WiFi в интернет-кафе.
secret_key string[1..32] Секретный ключ для API запросов сервиса.
Необязательный параметр, если не задан то секретный ключ будет сгенерирован автоматически.
Пример: f93kdmfs03Ds74Df
url_status string[10..256] URL для status-уведомлений о финальном статусе платежа (см. раздел 3.1)
Необязательный параметр.
Пример: http://wifiaccess.ru/mixplat_status
url_check string[10..256] URL для check-запросов о готовности оказать услугу (см. раздел 3.2)
Необязательный параметр.
Пример: http://wifiaccess.ru/mixplat_check
signature string[32] Подпись запроса.
Обязательный параметр.

Принцип формирования:
md5(company_id + secret_key + url + COMPANY_SECRET_KEY)

Символ "+" означает конкатенацию, company_id, secret_key, url - это строковые представления соответствующих параметров запроса, COMPANY_SECRET_KEY - это секретный ключ компании для API запросов, узнать который можно у вашего персонального менеджера.
Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку.

Пример формирования:
md5(77144f93kdmfs03Ds74Dfhttp://wifiaccess.ruc23a4398db8ef7b3ae1f4b07aeeb7c54f8e3c7c9)

Результат:
0de33a817d1f19e5dcfe89aa88025c05

2.4.2 Параметры ответа от MIXPLAT

Параметр Тип Описание
result string[1..32] Результат выполнения запроса (см. раздел 4.1)
service_id int Идентификатор созданного сервиса
Пример: 105142
secret_key string[1..32] Секретный ключ для API запросов сервиса.
Пример: f93kdmfs03Ds74Df
service_status string[1..32] Статус сервиса (см. раздел 4.6)
Пример: moderation

2.4.3 Примеры запроса и ответа

Запрос на https://api.mixplat.com/create_service

{
	"company_id"  : 77144,
	"title"       : "Доступ к WiFi",
	"url"         : "http://wifiaccess.ru",
	"description" : "Предоставление доступа к WiFi в интернет-кафе.",
	"secret_key"  : "f93kdmfs03Ds74Df",
	"url_status"  : "http://wifiaccess.ru/mixplat_status",
	"url_check"   : "http://wifiaccess.ru/mixplat_check",
	"signature"   : "dec98d88f692eaf5277b5fd75ef0ecf2"
}

Ответ (успешное выполнение запроса)

{
	"result"     : "ok",
	"service_id" : 144254,
	"secret_key" : "f93kdmfs03Ds74Df",
	"service_status"     : "moderation"
}

Ответ (ошибка)

{
	"result"   : "error_company_not_found",
	"message"  : "Company not found"
}

2.5 Запрос: Получение информации о сервисе (get_service)

Этот запрос используется для получении информации о сервисе.

URL запроса:

  • http://api.mixplat.com/get_service
  • https://api.mixplat.com/get_service

2.5.1 Параметры запроса от системы партнёра

Параметр Тип Описание
service_id int ID сервиса.
Обязательный параметр.
Пример: 144254
signature string[32] Подпись запроса. Формируется как md5(service_id + SERVICE_SECRET_KEY)
Символ "+" означает конкатенацию. Service_id - это соответствующий параметр запроса.
SERVICE_SECRET_KEY - это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта.
Обязательный параметр.
Пример: dec98d88f692eaf5277b5fd75ef0ecf2

2.5.2 Параметры ответа

Параметр Тип Описание
result string[1..32] Результат выполнения запроса (см. раздел 4.1)
service_status string[1..32] Статус сервиса (см. раздел 4.6)
Пример: active
title string[10..256] Название сервиса
Пример: Доступ к WiFi
url string[10..256] URL главной страницы сервиса
Пример: http://site.ru
description string[10..1024] Описание сервиса.
Пример: Предоставление доступа к WiFi в интернет-кафе
url_status string[10..256]
null
URL для status-запросов от MIXPLAT о финальном статусе платежа (см. раздел 3.1), null если не задан.
Пример: http://site.ru/mixplat_status.php
url_check string[10..256]
null
URL для check-запросов о проверке готовности оказать услугу (см. раздел 3.2), или null, если не задан.
Пример: http://site.ru/mixplat_check.php
fees JSON JSON словарь коммерческих условий для проекта. Ключ словаря представляет собой код оператора (см. раздел 4.2) а значение - JSON словарь с условиями (см. ниже).
В словаре присутствуют только подключенные операторы для сервиса.
Пример:
[
	"ru_megafon" :
	{
		"fee_merchant" : 0,
		"fee_abonent"  : 16.9
	},

	"ru_mts" :
	{
		"fee_merchant" : 15,
		"fee_abonent"  : 0
	},

	"ru_beeline" :
	{
		"fee_merchant" : 17,
		"fee_abonent"  : 2.5
	}
]

Структура JSON словаря proposal:

Параметр Тип Описание
fee_merchant float Комиссия (%), которую платит партнёр.
fee_subscriber float Комиссия (%), которую платит абонент.

2.5.3 Пример запроса и ответа

Запрос на https://api.mixplat.com/get_service

{
	"service_id" : 144254,
	"signature"  : "dec98d88f692eaf5277b5fd75ef0ecf2"
}

Ответ (успешное выполнение запроса)

{
	"result"      : "ok",
	"service_status"      : "active",
	"title"       : "Доступ к WiFi",
	"url"         : "http://wifiaccess.ru",
	"description" : "Предоставление доступа к WiFi в интернет-кафе",
	"url_status"  : "http://wifiaccess.ru/mixplat_status.php",
	"url_check"   : "http://wifiaccess.ru/mixplat_check.php",
	"proposal":
	[
		"ru_megafon" :
		{
			"fee_merchant" : 0,
			"fee_abonent"  : 16.9
		},
		"ru_mts" :
		{
			"fee_merchant" : 15,
			"fee_abonent"  : 0
		},
		"ru_beeline" :
		{
			"fee_merchant" : 17,
			"fee_abonent"  : 2.5
		}
	]
}

Ответ (ошибка)

{
	"result"   : "error_service_not_found",
	"message"  : "Service 144254 not found"
}

2.6 Получение информации о реестрах (registers)

Этот запрос используется для получения информации о реестрах (см. раздел 5) за выбранный день или месяц.

URL запроса:

  • http://api.mixplat.com/registers
  • https://api.mixplat.com/registers

2.6.1 Параметры запроса от системы партнёра

Параметр Тип Описание
company_id int ID компании, для которой выполняется запрос. Для получения ID вашей компании обратитесь к персональному менеджеру.
Обязательный параметр.
Пример: 77144
day_or_month string День или месяц, за который вы хотите получить информацию.
Месяц указывается в формате YYYY-MM.
День указывается в формате YYYY-MM-DD.
Обязательный параметр.
Пример: 2017-09-02
signature string[32] Подпись запроса.
Обязательный параметр.

Принцип формирования:
md5( company_id + day_or_month + COMPANY_SECRET_KEY)
Символ "+" означает конкатенацию, company_id, day_or_month - это строковые представления соответствующих параметров запроса, COMPANY_SECRET_KEY - это секретный ключ компании для API запросов, узнать который можно у вашего персонального менеджера.
Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку.

Пример формирования:
md5(771442017-09-02c23a4398db8ef7b3ae1f4b07aeeb7c54f8e3c7c9)

Результат:
5ae21e0ae4dabdce4879baad80b68d69

2.6.2 Параметры ответа от MIXPLAT

Параметр Тип Описание
result string[1..32] Результат выполнения запроса (см. раздел 4.1)
payment_register_id int ID реестра платежей (см. раздел 5.2) за указанный день/месяц, или null, если реестр отсутствует.
Пример: 122
payment_register_download_url string Ссылка для скачивания реестра платежей (см. раздел 5.2) за указанный день/месяц, или null, если реестр отсутствует.
Пример: https://stat.mixplat.ru/download?type=company_register&id=122&secret=91d91f9220f1281afc1f5637e1a58376
refund_register_id int ID реестра возвратов (см. раздел 5.3) за указанный день/месяц, или null, если реестр отсутствует.
Пример: null
refund_register_download_url string Ссылка для скачивания реестра возвратов (см. раздел 5.3) за указанный день/месяц, или null, если реестр отсутствует.
Пример: null
sms_register_id int ID реестра SMS (см. раздел 5.4) за указанный день/месяц, или null, если реестр отсутствует.
Пример: 123
sms_register_download_url string Ссылка для скачивания реестра SMS (см. раздел 5.4) за указанный день/месяц, или null, если реестр отсутствует.
Пример: https://stat.mixplat.ru/download?type=company_register&id=123&secret=5b35084ead5e7362e24e7d3fa22f8637

2.6.3 Примеры запроса и ответа

Запрос на https://api.mixplat.com/registers

{
	"company_id"   : 77144,
	"day_or_month" : "2017-09-02",
	"signature"    : "5ae21e0ae4dabdce4879baad80b68d69"
}

Ответ (успешное выполнение запроса)

{
	"result"                        : "ok",
	"payment_register_id"           : 122,
	"payment_register_download_url" : "https://stat.mixplat.ru/download?type=company_register&id=122&secret=91d91f9220f1281afc1f5637e1a58376",
	"refund_register_id"            : null,
	"refund_register_download_url"  : null,
	"sms_register_id"               : 123,
	"sms_register_download_url"     : "https://stat.mixplat.ru/download?type=company_register&id=123&secret=5b35084ead5e7362e24e7d3fa22f8637"
}

Ответ (ошибка)

{
	"result"   : "error_company_not_found",
	"message"  : "Company not found"
}

2.7 Запрос: Получение статуса операторов (ping)

Этот запрос используется для проверки статуса операторов.

URL запроса:

  • http://api.mixplat.com/ping
  • https://api.mixplat.com/ping

2.7.1 Параметры запроса от системы партнёра

Параметры отсутствуют.

2.7.2 Параметры ответа от MIXPLAT

Параметр Тип Описание
result string[1..32] Результат выполнения запроса (см. раздел 4.1)
mc JSON JSON словарь статусов работоспособности сервисов мобильной коммерции у операторов. Ключ словаря представляет собой код оператора (см. раздел 4.2) а значение - JSON словарь с операторами (см. ниже).

Структура JSON словаря

Параметр Тип Описание
active int Состояние оператора.
1 - Сервис активен, платежи проводятся
0 - Технические работы у оператора, проведение платежей временно не производятся.

2.7.3 Примеры запроса и ответа

Запрос на https://api.mixplat.com/ping

{

}

Ответ (успешное выполнение запроса)

{
	"result" : "ok",
	"mc":
	[
		"ru_megafon" :
		{
			"active" : 1
		},
		"ru_beeline" :
		{
			"active" : 1
		},
		"ru_mts" :
		{
			"active" : 1
		},
		"ru_tele2" :
		{
			"active" : 1
		},
		"ru_tmt" :
		{
			"active" : 1
		}
	]
}

Ответ (ошибка)

{
	"result"   : "error_internal",
	"message"  : "Internal error"
}

3. Запросы от MIXPLAT к системе партнёра

3.1 Уведомление о финальном статусе платежа (status)

Это уведомление отправляется системе партнёра, когда платёж получает финальный статус.

Запрос отправляется на url, указанный в настройках проекта (url для status-запросов). Если url не задан - запрос не отправляется.

В случае неудачной попытки уведомления, MIXPLAT будет повторять его ещё 10 раз в течение 6 часов с постепенно увеличивающимся интервалом между запросами.

Некоторые операторы присылают в MIXPLAT только уведомления об успешно оплаченных транзакциях, в этом случае платежу через 24 часа с момента его создания будет автоматически присвоен статус failure_pending_timeout (см. раздел 4.4) и отправлено соответствующее status-уведомление системе партнёра.

3.1.1 Параметры запроса от MIXPLAT

Параметр Тип Описание
request string[1..32] Тип запроса. Для данного типа запроса всегда "status"
id string[32] Идентификатор платежа в MIXPLAT
Пример: XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh
external_id string[1..256]
null
Идентификатор платежа в системе партнёра, указанный при создании платежа, либо null , если он не был указан. Максимально 256 символов
Пример: ORDER142555
service_id int Идентификатор сервиса, которому принадлежит платёж
Пример: 100435
status string[1..32] Статус платежа (см. раздел 4.3)
Пример: success
status_extended string[1..32] Расширенный статус платежа (см. раздел 4.4).
Пример: success
phone string[1..32] Номер телефона абонента
Пример: 79261000000
operator string[1..32] Код оператора, которому принадлежит номер телефона абонента (см. раздел 4.2)
Пример: ru_megafon
date_created string[20] Дата и время (UTC) создания платежа.
Формат: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ)
Пример: 2015-12-01T18:24:35Z
date_processed string[20] Дата и время (UTC) присвоения платежу финального статуса.
Формат: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ)
Пример: 2015-12-01T18:27:04Z
currency string[3] Трёхбуквенный код валюты платежа
по стандарту ISO 4217.
Пример: RUB
amount int Сумма платежа в минорных единицах (копейках)
Пример: 1000
amount_subscriber int Сумма, выставленная к оплате абоненту в минорных единицах (копейках)
Пример: 1000
amount_merchant int Сумма к выплате партнёру в минорных единицах (копейках)
Пример: 800
billing_type string[1..32] Тип биллинга платежа (см. раздел 4.5)
Пример: mc
custom_data string[1..1024] Произвольные данные партнёра, указанные при создании платежа, либо null, если они не были указаны
Пример: userid=103255,trxid=144288534233
test int Признак тестового платежа. Возможные значения:
1 - Платёж тестовый
0 - Платёж настоящий
Пример: 0
signature string[32] Подпись запроса.
Обязательный параметр.

Принцип формирования: md5(id + external_id + service_id + status + status_extended + phone + amount + amount_merchant + currency + test + SERVICE_SECRET_KEY )

Символ "+" означает конкатенацию, id, external_id, service_id, status, status_extended, phone, amount , amount_merchant, currency, test - это строковые представления соответствующих параметров запроса, SERVICE_SECRET_KEY - это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта.
Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку.

Пример формирования:
md5(XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mhORDER
142555
100435successsuccess792610000001000800RUB
0ruc23a4398db8ef7b3ae1f4b07aeeb7c54f8e3c7c9)

Результат:
1debb793062e921d11a2da80b3b1b010

3.1.2 Параметры ответа от системы партнёра

Параметр Тип Описание
result string Результат обработки уведомления системой партнёра. "ok" - уведомление обработано
любое другое значение - уведомление не обработано (в этом случае попытка будет повторена позже)

3.1.3 Пример запроса и ответа

Запрос от MIXPLAT

{
	"request"           : "status",
	"id"                : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
	"external_id"       : "ORDER142555",
	"service_id"        : 100435,
	"status_group"      : "success",
	"status"            : "success",
	"phone"             : "79261000000",
	"operator"          : "ru_megafon",
	"date_created"      : "2015-12-01T18:24:35Z",
	"date_processed"    : "2015-12-01T18:27:04Z",
	"currency"          : "RUB",
	"amount"            : 1000,
	"amount_subscriber" : 1000,
	"amount_merchant"   : 800,
	"bill_type"         : "mc",
	"custom_data"       : "userid=103255,trxid=144288534233",
	"test"              : 0,
	"signature"         : "dec98d88f692eaf5277b5fd75ef0ecf2"
}

Ответ от системы партнёра

{
	"result" : "ok"
}

3.2 Проверка готовности оказать услугу (check)

Этот запрос отправляется при создании платежа по инициативе абонента (с помощью SMS на короткий номер, из web-виджета или платёжной формы). В ответ на запрос система партнёра должен одобрить или отклонить этот платёж.

Запрос отправляется на URL, указанный в настройках проекта (URL для check-запросов). Если URL не задан - запрос не отправляется (платёж производится сразу, без предварительного одобрения).

В случае ошибки при выполнении запроса платёж отклоняется.

3.2.1 Параметры запроса от MIXPLAT

Параметр Тип Описание
request string Тип запроса. Для данного типа запроса всегда "check"
id string[32] Идентификатор платежа в MIXPLAT.
Пример: XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh
service_id int Идентификатор сервиса, которому принадлежит платёж.
Пример: 100435
phone string[1..32] Номер телефона абонента.
Пример: 79261000000
operator string[1..32] Код оператора, которому принадлежит номер телефона абонента (см. раздел 4.2)
Пример: ru_megafon
date_created string[20] Дата и время (UTC) создании платежа.
Формат: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ)
Пример: 2015-12-01T18:24:35Z
currency string[3] Трёхбуквенный код валюты платежа
по стандарту ISO 4217
Пример: RUB
amount int Сумма платежа в минорных единицах (копейках)
Пример: 1000
text text[1..1024] Текст SMS на короткий номер (без префикса) или из платёжной формы
Пример: 10 рублей
signature string[32] Подпись запроса.
Обязательный параметр.

Принцип формирования:
md5(id + service_id + phone + amount + SERVICE_SECRET_KEY)

Символ "+" означает конкатенацию, id, service_id, phone, amount, - это строковые представления соответствующих параметров запроса, SERVICE_SECRET_KEY - это секретный ключ сервиса для API запросов, узнать который можно в личном кабинете в настройках проекта.
Если какой-либо из параметров не указан, то вместо его значения нужно использовать пустую строку.

Пример формирования:
md5(XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh79261000000
1000ruc23a4398db8ef7b3ae1f4b07aeeb7c54f8e3c7c9)

Результат:
651815f610ff29010eeb8ad9fa99475d

3.2.2 Параметры ответа системы партнёра

Параметр Тип Описание
result string Результат обработки запроса системой партнёра.
"ok" - платёж одобрен
любое другое значение - отклонить платёж
Пример: ok

3.2.3 Пример запроса и ответа

Запрос от MIXPLAT

{
	"request"      : "check",
	"id"           : "XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh",
	"service_id"   : 100435,
	"phone"        : "79261000000",
	"operator"     : "ru_megafon",
	"date_created" : "2015-12-01T18:24:35Z",
	"amount"       : 1000,
	"text"         : "10 рублей"
	"signature"    : "dec98d88f692eaf5277b5fd75ef0ecf2"
}

Ответ от системы партнёра

{
	"result" : "ok"
}

4. Справочники

4.1 Результаты выполнения API запросов (result)

Значение Возможен
повтор
запроса?
Описание
ok - Запрос успешно выполнен
error_service_not_found нет Не найден сервис с указанным идентификатором
error_wrong_signature нет Некорректная подпись запроса
error_invalid_request нет Некорректный запрос (ошибка в составе, или значениях параметров). Точная причина ошибки будет указана в сообщении об ошибке (message)
error_payment_not_found нет Не найден платёж с указанным идентификатором
error_operator_not_active нет Невозможно создать платёж: оператор, которому принадлежит указанный номер телефона, ещё не подключен для данного сервиса
error_company_not_found нет Не найдена компания с указанным идентификатором
error_unknown_operator нет Невозможно создать платёж: не определён оператор для указанного номера телефона
error_service_not_active нет Невозможно создать платёж: данный сервис неактивен (ещё не прошёл модерацию или заблокирован)
error_subscriber_limit да Невозможно создать платёж: превышен лимит платежей для данного абонента. Попробуйте повторить попытку позднее
error_negative_payout нет Невозможно создать платёж: слишком малая сумма платежа. Возможна в случае, когда фиксированная комиссия больше суммы платежа
error_phone_banned нет Невозможно создать платёж: запрещено создание платежей для данного абонента
error_fraud_control нет Невозможно создать платёж: не пройден фрод-контроль (проверка на мошеннические платежи). Свяжитесь с вашим персональным менеджером для получения дополнительной информации.
error_internal да Внутренняя ошибка MIXPLAT
error_contract_not_signed нет Невозможно создать платёж: не заведён транзитный счёт в расчетном банке

4.2 Коды операторов (operator)

Значение Описание
ru_beeline Билайн, Россия
ru_mts МТС, Россия
ru_megafon Мегафон, Россия
ru_tele2 Теле2, Россия
ru_tmt Таттелеком (Летай), Россия

4.3 Группы статусов платежа (status)

Значение Описание
pending Платёж находится в обработке (промежуточные статусы)
success Платёж успешен (финальные статусы)
failure Платёж неуспешен (финальные статусы)

4.4 Статусы платежа (status_extended)

Значение Группа Описание
pending_queued pending Платёж находится в очереди на отправку оператору.
pending_sent_to_operator pending Платёж обрабатывается оператором
pending_check pending Отправляется check-запрос партнёру
success success Платёж успешен
failure_no_money failure Платёж неуспешен: у абонента недостаточно средств
failure_operator_error failure Платёж неуспешен: ошибка биллинга оператора
failure_subscriber_cancel failure Платёж неуспешен: отменён абонентом
failure_merchant_check_cancel failure Платёж неуспешен: отменён Партнёром
failure_previous_payment failure Платёж неуспешен: предыдущий платёж не завершён
failure_subscriber_mc_not_available failure Платёж неуспешен: услуга недоступна для абонента
failure_subscriber_accept_timeout failure Платёж неуспешен: превышено время ожидания подтверждения платежа абонентом
failure_subscriber_limit failure Платёж неуспешен: превышены лимиты абонента по оплате (количество платежей в сутки, сумма платежей в сутки, минимальный остаток на счету и т.п.)
failure_other failure Платёж неуспешен: прочая ошибка
failure_small_amount failure Платёж неуспешен: сумма платежа меньше минимально допустимой для данного оператора
failure_pending_timeout failure Платёж неуспешен: превышено время ожидания статуса платежа от оператора

4.5 Типы биллинга платежа (billing_type)

Значение Описание
mc Платёж исполнен по технологии Мобильная Коммерция
cpa Платёж исполнен по технологии CPA

4.6 Статусы сервиса (service_status)

Значение Описание
active Сервис активен, создание платежей разрешено
moderation Сервис находится на модерации, создание платежей запрещено
deleted Сервис удалён, создание платежей запрещено. Обратитесь к персональному менеджеру для получения дополнительной информации
banned Сервис заблокирован, создание платежей запрещено. Обратитесь к персональному менеджеру для получения дополнительной информации

4.7 Коды валют платежа, согласно стандарту ISO 4217 (currency)

Значение Описание
RUB Российский рубль
UAH Украинская гривна
KZT Казахстанский тенге
BYR Белорусский рубль

4.8 Направления SMS (direction)

Значение Описание
mo Отправлено абонентом в MIXPLAT (Mobile Originated)
mt Отправлено MIXPLAT абоненту (Mobile Terminated)

5. Реестры

5.1 Общие сведения

MIXPLAT формирует ежедневные и ежемесячные реестры, с помощью которых Партнёр может осуществлять сверку своих данных с данными MIXPLAT. Реестры можно получать по электронной почте или загружать их с помощью MIXPLAT API (см. раздел 2.6). Управлять настройками формирования и рассылки реестров вы можете в Личном Кабинете.

5.2 Реестры платежей

В реестрах платежей содержится финальная информация о платежах, которую можно использовать для сверки взаиморасчётов между MIXPLAT и Партнёром.

Следует учитывать ряд важных особенностей:

  1. В реестр включаются только успешные реальные (не тестовые) платежи.
  2. Реестр платежей формируется для компании в целом (по всем сервисам компании).
  3. В включаются только те платежи, по которым MIXPLAT фактически получил денежные средства от Оператора.
    При этом платежи учитываются по дате поступления средств (дате соответствующего платёжного поручения от банка Оператора), которая может не совпадать с датой создания платежа в MIXPLAT, отображаемой в Личном Кабинете и возвращаемой методами MIXPLAT API. Из-за разницы во времени на стороне MIXPLAT и Оператора, а также из-за технических сбоев на стороне Оператора, задержка может быть от 1 до 3 дней.
  4. Ежедневные реестры платежей формируются за предыдущий день, после получения соответствующих реестров от всех Операторов. Обычно это происходит не позднее 12:00, но в случае технических сбоев на стороне Операторов, процесс может затянуться на неопределённый срок. Ежемесячные реестры формируются 4-го числа, за предыдущий месяц.

Реестры можно получать по электронной почте и загружать с помощью MIXPLAT API (см. раздел 2.6).

Рассылка реестров производится с ящика register@mixplat.ru. Каждый реестр отправляется отдельным письмом с темой "Ежедневный реестр платежей. Дата: 01.01.2017. Компания: 123" для ежедневных реестров и "Ежемесячный реестр платежей. Месяц: 01.2017. Компания: 123" для ежемесячных реестров.

В теле письма содержится ссылка, по которой можно загрузить архив с реестром.
Также архив может быть прикреплён к письму, если в Личном Кабинете включена соответствующая опция.

Архив запакован в формате zip и имеет название "{id реестра}.zip". Внутри него содержатся файлы реестра в следующих форматах:

  • XML
    Файл с именем "{id реестра}.xml".
  • XLSX (Excel 2007 и выше)
    Файл с именем "{id реестра}.xlsx".
    Этот формат по умолчанию выключен, включить его можно в Личном Кабинете.

5.2.1. Формат XML

Пример реестра:

<?xml version="1.0" encoding="UTF-8"?>
<register>
    <id>152277</id>
    <type>payment</type>
    <period>daily</period>
    <date_begin>2015-12-01</date_begin>
    <date_end>2015-12-01</date_end>
    <company_id>77144</company_id>
    <data>
        <payment>
            <id>XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh</id>
            <external_id>ORDER142555</external_id>
            <service_id>100435</service_id>
            <billing_type>mc</billing_type>
            <date_created>2015-12-01 18:24:35</date_created>
            <date_processed>2015-12-01 18:27:04</date_processed>
            <phone>79261000000</phone>
            <operator>ru_megafon</operator>
            <sms_sn>3443</sms_sn>
            <sms_prefix>test</sms_prefix>
            <sms_text>Отправил привет на тестовый префикс</sms_text>
            <currency>RUB</currency>
            <amount>1000</amount>
            <amount_subscriber>1000</amount_subscriber>
            <amount_merchant>800</amount_merchant>
            <custom_data>userid=103255,trxid=144288534233</custom_data>
        </payment>
        …
    </data>
</register>

Описание полей:

Поле Тип Описание
id int ID реестра.
type string Тип реестра. Для реестра платежей всегда "payment".
period string Период, за который сформирован реестр.
Для ежедневных реестров "daily", для ежемесячных реестров "monthly".
date_begin string Дата начала периода, за который сформирован реестр.
Формат: "YYYY-MM-DD".
По московскому времени (Europe/Moscow).
date_end string Дата конца периода, за который сформирован реестр.
Формат: "YYYY-MM-DD".
По московскому времени (Europe/Moscow).
company_id int ID компании.
data.payment.id string ID платежа.
data.payment.external_id string ID платежа в системе Партнёра.
Если не был указан - пустая строка.
data.payment.service_id int ID сервиса.
data.payment.billing_type string Тип биллинга платежа (см. раздел 4.5).
data.payment.date_created string Дата и время создания платежа.
Формат: "YYYY-MM-DD HH:MM:SS".
По московскому времени (Europe/Moscow).
data.payment.date_created string Дата и время присвоения платежу финального статуса.
Формат: "YYYY-MM-DD HH:MM:SS".
По московскому времени (Europe/Moscow).
data.payment.phone string Номер телефона абонента.
data.payment.operator string Оператор, которому принадлежит абонент (см. раздел 4.2).
data.payment.sms_sn string Короткий номер, на который было отправлено SMS, инициировавшее этот платёж.
Если платёж не был инициирован с помощью SMS - пустая строка.
data.payment.sms_prefix string Префикс, который был указан в тексте SMS.
Если платёж не был инициирован с помощью SMS, или префикс отсутствовал - пустая строка.
data.payment.sms_text string Текст SMS, исключая префикс.
Если платёж не был инициирован с помощью SMS - пустая строка.
data.payment.currency string Код валюты платежа (см. раздел 4.7).
data.payment.amount int Сумма платежа в минорных единицах (копейках).
data.payment.amount_subscriber int Сумма, оплаченная абонентом, в минорных единицах (копейках).
data.payment.amount_merchant int Сумма к выплате Партнёру, в минорных единицах (копейках).
data.payment.custom_data string Данные Партнёра, указанные при создании платежа.
Если отсутствуют - пустая строка.

5.2.2. Формат XLSX (Excel 2007 и выше)

Этот формат по умолчанию выключен, включить его можно в Личном Кабинете.

Первая строка таблицы - заголовок с названиями столбцов, последующие строки - данные платежей. Названия столбцов таблицы аналогичны названиям полей XML формата.

Особенности этого формата, по сравнению с XML форматом:

  • Значения денежных полей (amount, amount_subscriber, amount_merchant) представлены в стандартном денежном формате Excel, а не в минорных единицах.
  • Значения полей даты и времени (date_created, date_processed) представлены в стандартном формате даты и времени Excel.

5.3. Реестры возвратов

В реестрах возвратов содержится информация о возвратах средств абонентам, которые осуществил MIXPLAT.

Реестры можно получать по электронной почте и загружать с помощью MIXPLAT API (см. раздел 2.6).

Рассылка реестров производится с ящика register@mixplat.ru. Каждый реестр отправляется отдельным письмом с темой "Ежедневный реестр возвратов. Дата: 01.01.2017. Компания: 123" для ежедневных реестров и "Ежемесячный реестр возвратов. Месяц: 01.2017. Компания: 123" для ежемесячных реестров.

В теле письма содержится ссылка, по которой можно загрузить архив с реестром.
Также архив может быть прикреплён к письму, если в Личном Кабинете включена соответствующая опция.

Архив запакован в формате zip и имеет название "{id реестра}.zip". Внутри него содержатся файлы реестра в следующих форматах:

  • XML
    Файл с именем "{id реестра}.xml".
  • XLSX (Excel 2007 и выше)
    Файл с именем "{id реестра}.xlsx".
    Этот формат по умолчанию выключен, включить его можно в Личном Кабинете.

5.3.1. Формат XML

Пример реестра:

<?xml version="1.0" encoding="UTF-8"?>
<register>
    <id>152277</id>
    <type>refund</type>
    <period>daily</period>
    <date_begin>2015-12-01</date_begin>
    <date_end>2015-12-01</date_end>
    <company_id>77144</company_id>
    <data>
        <refund>
            <id>145222</id>
            <date_processed>2015-12-03 14:00:20</date_processed>
            <amount_total>1150</amount>
            <amount_subscriber>1150</amount_subscriber>
            <amount_fee>150</amount_fee>
            <description>Ошибочная оплата</description>
            <payment_id>XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh</payment_id>
            <payment_external_id>ORDER142555</payment_external_id>
            <payment_date_created>2015-12-01 18:24:35</payment_date_created>
        </refund>
        …
    </data>
</register>

Описание полей:

Поле Тип Описание
id int ID реестра.
type string Тип реестра. Для реестра возвратов всегда "refund".
period string Период, за который сформирован реестр.
Для ежедневных реестров "daily", для ежемесячных реестров "monthly".
date_begin string Дата начала периода, за который сформирован реестр.
Формат: "YYYY-MM-DD".
По московскому времени (Europe/Moscow).
date_end string Дата конца периода, за который сформирован реестр.
Формат: "YYYY-MM-DD".
По московскому времени (Europe/Moscow).
company_id int ID компании
data.refund.id int ID возврата.
data.refund.date_processed string Дата и время осуществления возврата.
Формат: "YYYY-MM-DD HH:MM:SS".
По московскому времени (Europe/Moscow).
data.refund.amount_total int Полная сумма возврата, удержанная у Партнёра, в минорных единицах (копейках).
data.refund.amount_subscriber int Сумма, возвращённая абоненту, в минорных единицах (копейках).
data.refund.amount_fee int Сумма комиссии за возврат, в минорных единицах (копейках).
data.refund.description string Описание причины возврата.
Если отсутствует - пустая строка.
data.refund.payment_id string ID исходного платежа, на основании которого произведён возврат.
data.refund.payment_external_id string ID исходного платежа в системе Партнёра.
Если не был указан - пустая строка.
data.refund.payment_date_created string Дата и время создания исходного платежа.
Формат: "YYYY-MM-DD HH:MM:SS".
По московскому времени (Europe/Moscow).

5.3.2. Формат XLSX (Excel 2007 и выше)

Этот формат по умолчанию выключен, включить его можно в Личном Кабинете.

Первая строка таблицы - заголовок с названиями столбцов, последующие строки - данные платежей. Названия столбцов таблицы аналогичны названиям полей XML формата.

Особенности этого формата, по сравнению с XML форматом:

  • Значения денежных полей (amount, amount_subscriber, amount_fee) представлены в стандартном денежном формате Excel, а не в минорных единицах.
  • Значения полей даты и времени (date_created, date_processed) представлены в стандартном формате даты и времени Excel.

5.4. Реестры SMS

В этих реестрах содержится информация о SMS, принятых от абонента и отправленных абоненту.

Реестры можно получать по электронной почте и загружать с помощью MIXPLAT API (см. раздел 2.6).

Рассылка реестров производится с ящика register@mixplat.ru. Каждый реестр отправляется отдельным письмом с темой "Ежедневный реестр SMS. Дата: 01.01.2017. Компания: 123" для ежедневных реестров и "Ежемесячный реестр SMS. Месяц: 01.2017. Компания: 123" для ежемесячных реестров.

В теле письма содержится ссылка, по которой можно загрузить архив с реестром.
Также архив может быть прикреплён к письму, если в Личном Кабинете включена соответствующая опция.

Архив запакован в формате zip и имеет название "{id реестра}.zip". Внутри него содержатся файлы реестра в следующих форматах:

  • XML
    Файл с именем "{id реестра}.xml".
  • XLSX (Excel 2007 и выше)
    Файл с именем "{id реестра}.xlsx".
    Этот формат по умолчанию выключен, включить его можно в Личном Кабинете.

5.4.1. Формат XML

Пример реестра:

<?xml version="1.0" encoding="UTF-8"?>
<register>
    <id>152277</id>
    <type>SMS</type>
    <period>daily</period>
    <date_begin>2015-12-01</date_begin>
    <date_end>2015-12-01</date_end>
    <company_id>77144</company_id>
    <data>
        <sms>
            <id>145222</id>
            <date_created>2015-12-03 14:00:20</date_created>
            <direction>mo</direction>
            <sn>3443</sn>
            <phone>79261000000</phone>
            <operator>ru_megafon</operator>
            <prefix>test</prefix>
            <text>тестовый платеж</text>
            <service_id>100435</service_id>
            <payment_id>XXehOfcV7wM2z7YGFHs5vCYEeCrbD3mh</payment_id>
            <parts>1</parts>
            <amount>150</amount>
        </sms>
        …
    </data>
</register>

Описание полей:

Поле Тип Описание
id int ID реестра.
type string Тип реестра. Для реестра SMS всегда "SMS".
period string Период, за который сформирован реестр.
Для ежедневных реестров "daily", для ежемесячных реестров "monthly".
date_begin string Дата начала периода, за который сформирован реестр.
Формат: "YYYY-MM-DD".
По московскому времени (Europe/Moscow).
date_end string Дата конца периода, за который сформирован реестр.
Формат: "YYYY-MM-DD".
По московскому времени (Europe/Moscow).
company_id int ID компании.
data.sms.id int ID SMS.
data.sms.date_created string Дата и время создания SMS.
Формат: "YYYY-MM-DD HH:MM:SS".
По московскому времени (Europe/Moscow).
data.sms.direction string Направление SMS (см. раздел 4.8).
data.sms.sn string Короткий номер, на который, или с которого было отправлено SMS.
data.sms.phone string Номер телефона абонента.
data.sms.operator string Оператор, которому принадлежит абонент (см. раздел 4.2).
data.sms.prefix string Префикс, который был указан в тексте SMS.
Если префикс отсутствовал - пустая строка.
data.sms.text string Текст SMS, исключая префикс.
data.sms.service_id int ID связанного сервиса.
data.sms.payment_id string ID связанного платежа.
Если SMS не связано с платежом - пустая строка.
data.sms.parts int Количество тарифицируемых частей в SMS.
Тарифицируются каждые 160 символов, если все они латинские, или каждые 70 символов, если среди них есть кириллица.
data.sms.amount int Стоимость SMS для Партнёра в минорных единицах (копейках).

5.4.2. Формат XLSX (Excel 2007 и выше)

Этот формат по умолчанию выключен, включить его можно в Личном Кабинете.

Первая строка таблицы - заголовок с названиями столбцов, последующие строки - данные платежей. Названия столбцов таблицы аналогичны названиям полей XML формата.

Особенности этого формата, по сравнению с XML форматом:

  • Значения денежных полей (amount) представлены в стандартном денежном формате Excel, а не в минорных единицах.
  • Значения полей даты и времени (date_created) представлены в стандартном формате даты и времени Excel.