Платежный API

API позволяет разработчикам интегрировать свои приложения с системой Capitalist для загрузки платежей в систему в автоматическом режиме.

Требования

Для работы с API, вы должны иметь статус Проверенного бизнес-пользователя. Доступ к API включается после согласования со Службой поддержки.

Все финансовые операции, осуществляемые через API, подписываются при помощи «сертификата безопасности», поэтому для Вашего аккаунта должна быть активирована опция «Cертификат». Активировать опцию можно на странице Настроек безопасности в разделе Профиль.

Необходимые данные для работы с API

  • Имя пользователя (не e-mail)
  • Пароль
  • Файл сертификата
  • Пароль к файлу сертификата, если он зашифрован
  • Данные массовых платежей в особом формате

Адрес для запросов

https://api.capitalist.net/

Формат запроса

Запрос к API представляет собой обычный HTTP 1.1 POST запрос, в теле которого передаются необходимые параметры. Тип содержимого может быть application/x-www-form-urlencoded либо multipart/form-data.

Обязательные параметры запроса

Запрос должен быть отправлен в кодировке UTF-8.
Для сумм в качестве разделителя целой и десятичной частей используется точка «.».

ПараметрОписание
loginИмя пользователя
operationИмя операции. Например, get_token.

Работа с нешифрованным паролем

Доступно взаимодействие с API без использования операции get_token и шифрования пароля.

Для этого, в операциях, требующих авторизации, вместо параметров token и encrypted_password необходимо передать нешифрованный пароль в параметре plain_password.

Операции API

На данный момент в API поддерживаются следующие операции:

ОперацияОписание
Авторизация
get_tokenПолучение атрибутов шифрования.
Проведение платежей
import_batch_advancedЗагрузка массового платежа в систему с возможностью выбора способа подтверждения.
process_batchПодтверждение массового платежа.
get_batch_infoПолучение подробной информации по загруженному массовому платежу.
get_documents_history_ext(АКТУАЛЬНОЕ) Получение истории операций.
documents_searchПоиск документов по номеру платежа из вашей системы.
is_verified_accountПроверка, верифицирован ли владелец счета.
Работа со счетами
get_accountsПолучение списка ваших счетов (кошельков).
Другое
currency_ratesПолучение обменных курсов.

Формат ответа

По-умолчанию, ответ возвращается в CSV формате(параметры, разделенные точкой с запятой и переносом строк) в кодировке UTF-8.

Выбор формата ответа

На данный момент поддерживается два формата ответа:json,CSV format.

Для получения ответа в более удобном формате, необходимо в запросе передать HTTP заголовок ‘x-response-format’ например:

ЗаголовокВыбранный формат
x-response-format: jsonA Полноценный JSON с поименованными параметрами
x-response-format: csvCSV выбирается по-умолчанию

В HTTP заголовках ответа возвращается одноименный заголовок ‘x-response-format’, в котором указан реальный формат ответа. Во всех случаях они совпадают.

Обработка ошибок

По-умолчанию (т.е. для формата ответа CSV), первый параметр первой строки ответа всегда является целым числом (далее для удобства будем называть его Кодом ошибки). Если код ошибки равен нулю, значит операция прошла успешно. В противном случае вторым параметром первой строки идет Текст ошибки. Для формата ответа json Код и Текст ошибки передаются в атрибутах code и message.

Коды ошибок

КодОписание
0Операция прошла успешно
1Системная ошибка
2Ошибка выполнения (Необходимо смотреть текст ошибки)
5Пользователь не найден
10Ошибка, при попытке расшифровать пароль
15Передан неверный пароль
16Превышено количество попыток входа. Повторите через 30 минут
20Передан неверный токен аутентификации
25Запрещены запросы информации по пакетным загрузкам с более 1000 записей без постраничной разбивки
110Ошибка при проверке подписи
111В данных перевода присутствуют недопустимые символы
112Превышено ограничение на количество записей в одном массовом платеже
125Невозможно разобрать переданный файл
130Не найден счет
131Нужно передать хотя бы один счет отправителя
132Передан пустой массовый платеж
135Недостаточно средств на счете для проведения операций
150Получен не POST-запрос
151Неизвестная операция
152API недоступен пользователю
170Ошибка создания кошелька
180Неизвестный способ подтверждения
181Выбранный способ подтверждения неактивен
182Отсутствует цифровая подпись
185Ошибка импорта массового платежа с несколькими записями (см. ошибку 188). Сумма платежа равна нулю. (см. операцию import_batch_advanced)
186Ошибка импорта массового платежа. Детали необходимо уточнить у Службы поддержки.
187Ошибка импорта массового платежа по причине временной недоступности одного из типов платежей. Второй строкой возвращается номер ошибочной записи в батче с нумерацией от нуля.
188Ошибка импорта массового платежа с одной записью (см. ошибку 185). В качестве текста ошибки возвращается комментарий причины отклонения.
190 – 210Ошибки на операции get_document_fee
190 Неизвестный тип документа
191Неизвестный код провайдера услуг
192Неизвестный тип банковского платежа (Wire)
193Не указан получатель
194Счет получателя должен быть вашим
195Счет для списания должен быть вашим
196Сумма перевода должна быть больше нуля
197Не удалось отправить код подтверждения
198Неверный код подтверждения
200Счет не существует
202Переданы неверные данные запроса

Если вы не нашли описание Кода ошибки, пожалуйста, обратитесь в Службу поддержки.

Примеры работы на PHP

Файлы доступны для скачивания на гитхабе

https://github.com/capitalist-net/php-api-samples