Разработчикам

Общая информация

Адрес API-сервиса https://api.platron.pro/v1.0

В зависимости от типа операции к этому адресу добавляются определенные url. Каждый url прописан в методе. Формат сообщений сервиса - JSON-объект(application/json). Кодировка символов - UTF-8

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

  • Каждый запрос должен содержать заголовок "Content-Type" со значением - "application/json"
  • Разделитель десятичных чисел - точка
  • Все дробные числа передаются в формате с двумя знаками после запятой, если содержат дробную часть. Допустимо передавать число без дробной части. Пример: 1500.76; 5; 5.00,
  • Формат даты при передаче(MSK) - dd.MM.yyyy HH:mm:ss
  • Поля логического типа передаются как true\false
  • Мобильный телефон передается в международном формате в виде числа. Никакие другие символы как то: плюс, точки, скобки, пробелы и т.д недопустимы
  • Все параметры целого типа по-умолчанию равны - 0, дробного - 0.00, логического - false, дата - 01.01.0001

С чего начать

  1. Отправьте заявку на получения доступа к системе, логина для личного кабинета и секретного ключа.
  2. Интегрируйте метод расчета подписи запросов к API системы Platron.pro
  3. Наши специалисты расскажут как пополнить счет для осуществления операций выплат.
  4. Создайте новую транзакцию, используя соответствующий метод или загружайте реестр в личном кабинете.
  5. Интегрируйте другие методы, доступные в API системы Platron.pro для проверки статуса операции, получения отчетов и актуального баланса на счетах.

Организационные вопросы направляйте вашему менеджеру в Platron.pro. Технические вопросы наапрайте на почту support@platron.pro.

Формирование запросов

Каждый запрос обязательно содержит поле Login и Signature. Login это имя пользователя в системе Platron.pro.

Пример запроса, в котором определены обязательные поля


{
  "request": {
    "Login":"admin@molot.ru",
    "Signature":"Y4mab0rwOLXedtLfUf7AwIMhdGitxUkkX2+0BimWazg="
  }
}

Signature это подпись запроса. Она состоит из трех частей

  • url метода
  • формализованное тело запроса (удаляются переносы строк, лишние пробелы и знаки табуляции)
  • секретный клиентский ключ
Секретный клиентский ключ уникален для каждого клиента и берется из системы по переданному Login клиента (https://client.platron.pro/apisettings/index).

Пример: Мы хотим вызывать /transaction/new с запросом

{
    "request":{
        "ClientTransactionId":"abcd1234",
        "AccountId":"1",
        "AccountNumber":"79093222111",
        "Amount":100.03,
        "Currency":"RUB",
        "TypePaymentMethod":20,
        "Passport":"2312 333123 Выдан МО УФМС РОССИИ",
        "Address":"Казань, Карла Маркса 5",
        "TaxId":"16500101012",
        "Login":"admin@molot.ru"
    }
}
                    

Секретный клиентский ключ к примеру - 9DRQ3EcGP4ovAdzr

Строка для получения подписи будет:

/transaction/new{"request":{"ClientTransactionId":"abcd1234","AccountId":"1","AccountNumber":"79093222111","Amount":100.03,"Currency":"RUB","TypePaymentMethod":20,"Passport":"2312 333123 Выдан МО УФМС РОССИИ","Address":"Казань, Карла Маркса 5","TaxId":"16500101012","Login":"admin@molot.ru"}}9DRQ3EcGP4ovAdzr

Части строки для подписи:

  1. /transaction/new - url метода
  2. {"request":{"ClientTransactionId":"abcd1234","AccountId":"1","AccountNumber":"79093222111","Amount":100.03,"Currency":"RUB","TypePaymentMethod":20,"Passport":"2312 333123 Выдан МО УФМС РОССИИ","Address":"Казань, Карла Маркса 5","TaxId":"16500101012","Login":"admin@molot.ru"}} - формализованное тело запроса
  3. 9DRQ3EcGP4ovAdzr - клиентский ключ

И от этой строки получают хеш по алгоритму SHA-256. Далее полученное значение переводят в формат Base64. Это и будет строка, которую необходимо добавить в поле Signature

Аналогично каждый ответ от сервиса содержит два обязательных поля и поле Signature, которое возвращается только в случае успешной проверки подписи запроса

- ErrorCode - код ошибки. В случае неуспешного выполнения операции данный код будет отличным от 0. Расшифровку всех кодов ошибок можно найти в Приложении "Типы ошибок"

- ErrorMessage - сообщение о ошибке

- Signature - подпись ответа от сервера.

В случае успешного ответа ErrorCode будет иметь значение 0, а ErrorMessage пустую строку

Если во время выполнения запроса на сервере произошла ошибка ErrorCode будет иметь значение -1, а ErrorMessage "Внутренняя ошибка сервиса"

При некорректной верификации подписи запроса ErrorCode будет иметь значение 30, а ErrorMessage будет иметь "Ошибка аутентификации. Проверка хеша закончилась неуспешно", а также вернет строку, от которой система получила хеш

При некорректном логине ErrorCode будет иметь значение 40, а ErrorMessage будет иметь "Некорректный логин"

Пример успешного ответа

                
{
    "response":{
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature": "692lzInUZShCjdUnScA0rhJu8ybmc8lPvpAlflpjkxw",
               
    }
}
                    
                

Подпись ответа формируется аналогично

/transaction/new{"response":{"ErrorCode":0,"ErrorMessage":""}}9DRQ3EcGP4ovAdzr

Части строки для подписи:

  1. /transaction/new - url метода
  2. {"response":{"ErrorCode":0,"ErrorMessage":""}} - формализованное тело запроса
  3. 9DRQ3EcGP4ovAdzr - клиентский ключ

Проверить создание подписи [/test/check_sign]

Метод для проверки создания подписи.

Пример запроса


{
    "request":{
        "Signature":"P/7yB8dqtdPN3L7uwH8hhX78DzUpIEIlK0dNkOFI/HU=",
        "Login":"admin@molot.ru"
    }
}
                    

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s = "/test/check_sign" + "{\"request\":{\"Login\":\"admin@molot.ru\"}}" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное P/7yB8dqtdPN3L7uwH8hhX78DzUpIEIlK0dNkOFI/HU=
                        
                



Ответ

В случае успешного выполнения метода, т.е проверка подписи пройдена успешно - вернется ответ, в котором ErrorCode будет иметь значение 0, а ErrorMessage пустую строку.

Пример ответа


{
    "response": {
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"692lzInUZShCjdUnScA0rhJu8ybmc8lPvpAlflpjkxw"
    }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема. Если подпись сформирована неверно, будет возвращен ответ, в котором ErrorCode будет иметь значение 30. А ErrorMessage будет содержать строку на основе которой был получен хеш.

Пример ответа


{
    "response": {
        "ErrorCode":30,
        "ErrorMessage":"Ошибка аутентификации. Проверка хеша закончилась неуспешно."
    }
}
                

Создать транзакцию [/transaction/new]

Данный метод отвечает за создание новой транзакции. И содержит следующие поля:
Поле Описание Тип данных Обязательно
ClientTransactionId Идентификатор транзакции на стороне клиента Строка
AccountId Идентификатор счета в системе Platron.pro Строка
Amount Сумма транзакции Дробное число
Currency Валюта транзакции (типы валют и их значения в Приложении) Строка (ISO 4217)
TypePaymentMethod Тип платежного метода (типы платежных методов и их значения в Приложении) Целое число
Name Имя получателя платежа Строка Обазятельно для выплат на карты
Surname Фамилия получателя платежа Строка Обазятельно для выплат на карты
MiddleName Отчество получателя платежа Строка
Passport Паспортные данные получателя платежа Строка
Address Адрес получателя платежа Строка
Email Email получателя платежа Строка
Phone Номер телефона получателя платежа Строка
TaxId ИНН(или его аналог) получателя платежа Строка
Bik БИК банка получателя платежа Строка
BankAccount Номер банковского счета получателя платежа Строка
Escrow Признак ESCROW-транзакции Логический
EscrowPeriod Период ESCROW-транзакции в минутах. Если будет задано поле Escrow, и будет не задано данное поле, то будет возвращена ошибка Целое число
EscrowDeadline Крайний срок подтверждения транзакции. Если будет задано поле Escrow, и будет не задано данное поле, то будет возвращена ошибка Строка, которая содержит дату
AccountNumber Номер счета. Это может быть номер мобильного телефона, номер карты, банковский счет и тд в зависимости от платежного метода. Строка
IncludeTax Признак что необходимо оплатить налог Логический
Signature Подпись запроса Строка
Login Логин пользователя сервиса Строка

Пример запроса


{
    "request":{
        "ClientTransactionId":"abcd1234",
        "AccountId":"1",
        "Amount":100.03,
        "Fee":0.00,
        "Currency":"RUB",
        "Name":"Иван",
        "Surname":"Иванов",
        "MiddleName":"Иванович",
        "Passport":"1111111118, территориальным пунктом УФМС РФ по г.Уфе, 06.02.2015, 234-567",
        "Address":"г. Калининград, ул. Ленина, д. 84",
        "Email":"",
        "Phone":"79093222111",
        "TaxId":"123456789123",
        "Bik":"",
        "BankAccount":"",
        "Escrow":true,
        "EscrowPeriod":120,
        "EscrowDeadline":"31.12.2017 23:59:00",
        "TypePaymentMethod":20,
        "AccountNumber":"79093222111",
        "IncludeTax":false,
        "Signature":"DRvqKTvjtkhIBsCzi2R61ewvLUS0MLJ/DnHY7x3BPPE=",
        "Login":"admin@molot.ru"
    }
}
                    

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

JavaScript

Java


// Собираем строку из аргументов для подписи
string s = "/transaction/new" + "{\"request\":{\"ClientTransactionId\":\"abcd1234\",\"AccountId\":\"1\",\"Amount\":100.03,\"Fee\":0.00,\"Currency\":\"RUB\",\"Name\":\"Иван\",\"Surname\":\"Иванов\",\"MiddleName\":\"Иванович\",\"Passport\":\"1111111118, территориальным пунктом УФМС РФ по г.Уфе, 06.02.2015, 234-567\",\"Address\":\"г. Калининград, ул. Ленина, д. 84\",\"Email\":\"\",\"Phone\":\"79093222111\",\"TaxId\":\"123456789123\",\"Bik\":\"\",\"BankAccount\":\"\",\"Escrow\":true,\"EscrowPeriod\":120,\"EscrowDeadline\":\"31.12.2017 23:59:00\",\"TypePaymentMethod\":20,\"AccountNumber\":\"79093222111\",\"IncludeTax\":false,\"Login\":\"admin@molot.ru\"}}" + "9DRQ3EcGP4ovAdzr"
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное DRvqKTvjtkhIBsCzi2R61ewvLUS0MLJ/DnHY7x3BPPE=
                        
                



Ответ

В случае успешного выполнения метода будет создана транзакция со статусом Request (см Приложение "Справочник статусов транзакции") и в поле TransactionId будет значение идентфикатора транзакции в системе platron.pro.

Пример ответа


{
    "response": {
       "ErrorCode":0,
       "ErrorMessage":"",
       "Signature":"qWGm9ouZ/prm83i9lnu2lUhoQs7BtMnoTeUtRI1ObJQ=",
       "TransactionId":"138094",
       "TypeTransactionStatus":0
    }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Пример ответа


{
    "response": {
        "TransactionId":0,
        "ErrorCode":70,
        "ErrorMessage":"Данные транзакции некорректны",
        "Signature":"SzMm4/TaqGLCvux3BME/cALR9+2vB3pffVkiAol8S7o="
    }
}
                

Проверка статуса транзакции [/transaction/status]

Данный метод отвечает за возвращение статуса транзакции

Пример запроса


{
    "request":{
        "ClientTransactionId":"abcd1234",
        "Signature":"40mxIeBty+4AysT0soIJXHW+HI78aRe+t9TuzvxVYRE=",
        "Login":"admin@molot.ru"
    }
}           
                    

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s = "/transaction/status" + "{\"request\":{\"Login\":\"admin@molot.ru\",\"ClientTransactionId\":\"abcd1234\"}}" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное 40mxIeBty+4AysT0soIJXHW+HI78aRe+t9TuzvxVYRE=
                    
                



Ответ

В случае успешного выполнения метода будет возвращен статус транзакции(см Приложение "Справочник статусов транзакции")

Пример ответа


{
    "response": {
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"PG2GMGUnCu6ZlzsdoqszKXcFNZHlUqzO5BVLgtk6mI4=",
        "TypeTransactionStatus":10
    }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Отмена транзакции [/transaction/cancel]

Данный метод отвечает за отмену транзакции, которая находится в ожидающем статусе(см Приложение "Справочник статусов транзакции"): Request, Escrow или Pending

Пример запроса


{
    "request":{
        "ClientTransactionId":"abcd1234",
        "Signature":"aotwTQv4IqvwFrNooR/V5cTpHi+CKk/Gc0rfmRmC/ko=",
        "Login":"admin@molot.ru"
    }
}           
                    

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s = "/transaction/cancel" + "{\"request\":{\"Login\":\"admin@molot.ru\",\"ClientTransactionId\":\"abcd1234\"}}" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное aotwTQv4IqvwFrNooR/V5cTpHi+CKk/Gc0rfmRmC/ko=
                
                
                

Ответ

В случае успешного выполнения метода транзакция будет отменена и будет возвращен стандартный ответ с ErrorCode = 0 и пустым ErrorMessage

Пример ответа


{
    "response": {
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"+M1kLlDcFI7csCEBzp4p/7MF5Aa5+T3LKjES/jfqHZk="
    }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Подтверждение транзакции [/transaction/confirm]

Данный метод отвечает за подтверждение транзакции, которая находится в ожидающем статусе Escrow(см Приложение "Справочник статусов транзакции")

Пример запроса


{
    "request":{
        "ClientTransactionId":"abcd1234",
        "Signature":"XABL4LKz14pRtTBTd1Uty0BChkqZuDI+s93jKXvmjms=",
        "Login":"admin@molot.ru"
    }
}           
                        

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s = "/transaction/confirm" + "{\"request\":{\"Login\":\"admin@molot.ru\",\"ClientTransactionId\":\"abcd1234\"}}" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное XABL4LKz14pRtTBTd1Uty0BChkqZuDI+s93jKXvmjms=
                    
                

Ответ

В случае успешного выполнения метода транзакция будет подтверждена и будет возвращен стандартный ответ с ErrorCode = 0 и пустым ErrorMessage

Пример ответа


{
    "response": {
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"9BoK3m+b+Y/0OMIqFX0WmzFcMof3ewq00unkPeGzINs="
    }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Открыть диспут по транзакции [/transaction/open_dispute]

Данный метод отвечает за открытие диспута по транзакции, которая находится в ожидающем статусе Escrow(см Приложение "Справочник статусов транзакции")

Пример запроса


{
    "request":{
        "ClientTransactionId":"abcd1234",
        "Signature":"/2qKIApG0WIwwMueh1PEZ+Yio+F2MANbTZULh15NKAU=",
        "Login":"admin@molot.ru"
    }
}           
                            

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s = "/transaction/open_dispute" + "{\"request\":{\"Login\":\"admin@molot.ru\",\"ClientTransactionId\":\"abcd1234\"}}" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное /2qKIApG0WIwwMueh1PEZ+Yio+F2MANbTZULh15NKAU=
                        
                

Ответ

В случае успешного выполнения метода по транзакции будет открыт диспут и будет возвращен стандартный ответ с ErrorCode = 0 и пустым ErrorMessage

Пример ответа


{
    "response": {
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"6egV2uIFXTpsXUMARDtxg3UUwjC0Qmsu6IxKSitBpDo="
    }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Получение информации о получетеле платежа [/user/info]

Данный метод отвечает за получение данных получателя платежа.

- UserInfoIdentity отвечает по какому полю искать получателя в системе (см Приложение "Типы фильтра получателя платежа")

- UserId непосредственно отвечает за идентфикатор пользователя, который соответствует UserInfoIdentity

Пример запроса


{
    "request":{
        "UserInfoIdentity":20,
        "UserId":"79050000001",
        "Signature":"vH5EHYrOPfmnKOtR1kRl6IBtk417fbkHZJZqcPJOp4I=",
        "Login":"admin@molot.ru"
    }
}           
                            

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr)

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s = "/user/info" + "{\"request\":{\"Login\":\"admin@molot.ru\",\"UserInfoIdentity\":20,\"UserId\":\"79050000001\"}}" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное vH5EHYrOPfmnKOtR1kRl6IBtk417fbkHZJZqcPJOp4I=
                        
                

Ответ

В случае успешного выполнения метода будет возвращен стандартный ответ с ErrorCode = 0 и пустым ErrorMessage. Так же если по переданному идентификатору будет найден получатель. то будут дополнительно возвращены поля, идентифицирующие получателя

Поле Описание Тип данных
Id Идентификатор получателя платежа в системе Platron.pro Строка
RegistrationDate Дата регистрации Строка
LastTransactionDate Дата последней транзакции Строка
TransactionNumber Количество транзакций Целое число

Пример ответа


{
    "response": {
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"fyQz3Cda8xTPOOd9VcS7YowqLDNLBYaTy9kaFFCzQkY=",
        "Id":"104",
        "TransactionNumber":1,
        "RegistrationDate":"31.11.2015 07:59",
        "LastTransactionDate":"31.11.2015 07:59"

    }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Получить список доступных счетов [/account/list]

Данный метод отвечает за получение списка счетов

Пример запроса


{
    "request":{
        "Signature":"NW6a97+G/N5mWasOOlsdcLm5QswDRz/fNUzMvqg4nkM=",
        "Login":"admin@molot.ru"
    }
}           
                                

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s =  "/account/list" + "{\"request\":{\"Login\":\"admin@molot.ru\"}}" + "9DRQ3EcGP4ovAdzr";
// string s = "account_list;" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное NW6a97+G/N5mWasOOlsdcLm5QswDRz/fNUzMvqg4nkM=
                         
                

Ответ

В случае успешного выполнения метода будет возвращен стандартный ответ с ErrorCode = 0 и пустым ErrorMessage. В ответе будет содержаться список счетов. Каждый счет содержит поля

Поле Описание Тип данных
Id Идентификатор счета в системе Platron.pro Строка
Balance Баланс на счете Дробное число
Currency Валюта транзакции(см. Приложение "Справочник валют") Строка (ISO 4217)

Пример ответа


{
  "response": {
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Signature":"nWMQkJYGb69xraYTptED13altiqkkFIuRxmzl/jrYIs="
    "AccountList": [
      {
        "Balance": 0,
        "Id": "1",
        "Currency": "RUB"
      }
    ],
    
  }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Получить финансовый отчет по счету за период [/report/financial]

Поле Описание Тип данных
AccountId Идентификатор счета в системе Platron.pro Строка
StartDate Начальная дата периода Строка
EndDate Конечная дата периода Строка

Пример запроса


{
    "request": {
        "AccountId":"1",
        "StartDate":"09.11.2016 01:00:00",
        "EndDate":"09.11.2016 02:00:00",
        "Signature":"nTMolC4CwGRsKi0N/NtTQnXEN+UiebgkMJsZJ3zTjyM=",
        "Login":"admin@molot.ru"
    }
}
                

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s = "/report/financial" + "{\"request\":{\"Login\":\"admin@molot.ru\",\"AccountId\":\"1\",\"StartDate\":\"09.11.2016 01:00:00\",\"EndDate\":\"09.11.2016 02:00:00\"}}" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное nTMolC4CwGRsKi0N/NtTQnXEN+UiebgkMJsZJ3zTjyM=
                            
                

Ответ

В случае успешного выполнения метода будет возвращен стандартный ответ с ErrorCode = 0 и пустым ErrorMessage. В ответе будут содержаться следующие поля:

Поле Описание Тип данных
AccountId Идентификатор счета в системе platron.pro Строка
BeginBalance Баланс на начало периода Дробное число
Commission Сумма комиссии, которая была удержана сервисом за период Дробное число
CompletedTransactions Исполнено заявок (списано) за период Целое число
EndBalance Баланс на конец периода Дробное число
StartDate Начальная дата периода Строка
EndDate Конечная дата периода Строка
FundsReceived Принято средств Дробное число
Refunds Возврат средств за период Дробное число
TotalRequestsNumber Принятые заявки за период Целое число
Currency Валюта транзакции(см. Приложение "Справочник валют") Строка (ISO 4217)

Пример ответа


{
  "response": {
        "ErrorCode": 0,
        "ErrorMessage": null,
        "Signature": "nTMolC4CwGRsKi0N/NtTQnXEN+UiebgkMJsZJ3zTjyM=",
        "AccountId": "1",
        "BeginBalance": 11240.93,
        "Currency": "RUB",
        "TotalRequestsNumber": 0,
        "FundsReceived": 0,
        "CompletedTransactions": 23,
        "Refunds": 0,
        "Commission": 101.12,
        "EndBalance": 944.84,
        "StartDate": "09.11.2016 01:00:00",
        "EndDate": "09.11.2016 02:00:00"
   }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Получить список транзакций за период [/report/transaction_list]

Пример запроса


{
    "request": {
        "AccountId":"1",
        "StartDate":"09.11.2016 01:00:00",
        "EndDate":"09.11.2016 02:00:00",
        "Signature":"tkjadAjOxNb7+aXCeVhiDqyN8NJBo1qeHW54ZeAG1eg=",
        "Login":"admin@molot.ru"
    }
}
                

Как получить Signature(API-ключ 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


// Собираем строку из аргументов для подписи
string s = "/report/transaction_list" + "{\"request\":{\"AccountId\":\"1\",\"StartDate\":\"09.11.2016 01:00:00\",\"EndDate\":\"09.11.2016 02:00:00\",\"Login\":\"admin@molot.ru\"}}" + "9DRQ3EcGP4ovAdzr";
// string s = "1;" + "09.11.2016 01:00:00;" + "09.11.2016 02:00:00;" + "9DRQ3EcGP4ovAdzr";
// Получаем хеш по алгоритму SHA-256
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
// Перевод строки в формат Base64
string signature = Convert.ToBase64String(hash);
//В итоге получаем значение signature равное tkjadAjOxNb7+aXCeVhiDqyN8NJBo1qeHW54ZeAG1eg=
                            
                

Ответ

В случае успешного выполнения метода будет возвращен стандартный ответ с ErrorCode = 0 и пустым ErrorMessage. В ответе будет содержаться список транзакций, если транзакций за представленный период не будет обнаружено, то данный список будет пустым.

Поле Описание Тип данных
UserId Номер счета получаетля платежа, это может быть кошелек, банковский счет, номер телефона и т.д Строка
TypePaymentMethod Тип платежа(см. Приложение "Справочник платежных методов") Целое число
Amount Сумма транзакции Дробное число
Commission Сумма комиссии, которая была удержана сервисом Дробное число
Currency Валюта транзакции(см. Приложение "Справочник валют") Строка (ISO 4217)
TypePersonalTaxType Тип налоговой ставки(см. Приложение "Справочник налоговых ставок") Целое число
TypeTransactionStatus Статус транзакции(см. Приложение "Справочник статусов транзакции") Целое число
DateTime Дата и время последнего изменения статуса транзакции Строка

Пример ответа


                     {
  "response": {
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Signature": "kyOc5XsnWmShMvwMLFetbt6Hr8TJGszu73Nn9v5/3xQ=",
    "TransactionList": [
      {
                "UserId": "5536913763990310",
                "TypePaymentMethod": 10,
                "Amount": 191.5,
                "Commission": 41.5,
                "Currency": "RUB",
                "TypePersonalTaxType": 10,
                "TypeTransactionStatus": 20,
                "DateTime": "29.11.2017 12:22:19",
                "ClientTransactionId": "11292017_6"
      }
    ]
  }
}
                

В случае неуспешного выполнения операции будет возвращен ответ с кодом ошибки(см Приложение "Типы ошибок") и сообщением в чем заключается проблема

Приложение

Типы ошибок

Наименование Значение Описание
OK 10 Операция прошла успешно
InternalError 20 Внутренняя ошибка сервиса
FailureAuthentication 30 Операция не прошла проверку подписи
InvalidLogin 40
ClientNotFound 50
SettlementAccountNotFound 60
IncorrectTransaction 70
DuplicateClientTransaction 80
DuplicateTransaction 90
TransactionNotFound 100
IncorrectTransactionStatus 110
IncorrectDateFormat 120
IncorrectCurrency 130

Справочник валют (Currency)

Наименование Значение
РУБ RUB
USD USD
EUR EUR

Справочник платежных методов (TypePaymentMethod)

Наименование Значение
Карта 10
Телефон 20
WM-кошелек 30
Банковский счет 40
Яндекс-кошелек 50
Киви-кошелек 60

Справочник статусов транзакции (TypeTransactionStatus)

Наименование Значение Описание
Request 10 Заявка на платеж отправлена на исполнение
Pending 20 Состояние ожидания
Executing 30 Выполняется
Success 40 Успешно проведен
FailureCheck 50 Проверка закончилась неуспешно
Failure 60 Отказ
Escrow 70 Холдирование средств
EscrowConfirm 80 Escrow подтвержден
Dispute 90 Открыт диспут
Canceled 100 Отменена

Типы фильтра получателя платежа (UserInfoIdentity)

Наименование Значение
ByCard 10
ByMobile 20
ByWmPurse 30
ByBankAccount 40
ByYandexPurse 50
ByQiwiPurse 60

Справочник налоговых ставок (TypePersonalTaxType)

Наименование Значение Описание
Type1 10 0%
Type2 20 13%
Type3 30 35%

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

.xls .csv