Документация JSON API
JSON API протокол PayKeeper предназначен для полностью автоматического управления приемом платежей. С помощью данного протокола можно в автоматическом режиме производить отправку счетов, совершать возвраты, узнавать статус платежей и т.д. Мы рекомендуем использовать его в случае необходимости интеграции с биллинговыми или бухгалтерскими системами, самописными либо сильно измененными CMS системами, мобильными приложениями и другими системами когда применения базовых средств интеграции недостаточно.
JSON-запросы выполняются на сервер, на котором расположен PayKeeper. Каждый запрос должен иметь заголовок Authorization: Basic для Basic HTTP-авторизации.
Для POST-запросов должен передаваться заголовок Content-Type: application/x-www-form-urlencoded.
Для удобства использования протокол JSON API разбит на следующие разделы:
- Общая статистика принимаемых платежей по различным платежным системам и датам.
- Получение информации о платежах, выполнение полного и частичного возврата платежей.
- Работа с реестром платежей с возможностью фильтрации по «Статусам», «Датам», «Платежным системам».
- Работа с электронными счетами, выставление счетов на e-mail, дублирование старых счетов.
- Работа с реестром электронных счетов, отображение с возможностью фильтрации по датам и статусам.
- Изменение внутренней конфигурации системы.
Любые запросы на чтение данных выполняются GET запросами, на изменение данных на сервере или совершение каких-либо действий POST запросами. Для подписи POST запросов используется специально сгенерированный token (Подробнее в разделе Токен безопасности.)
В случае успешного выполнения запроса возвращается JSON кодированный объект:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[ { "id":"97452", "pay_amount":"1.00", "refund_amount":"0.00", "clientid":"Ivan Ivanov", "orderid":null, "payment_system_id":"3", "unique_id":null, "status":"success", "repeat_counter":"0", "pending_datetime":"2014-05-14 15:59:00", "obtain_datetime":"2014-05-14 15:59:01", "success_datetime":"2014-05-14 15:59:01" }, ... ] |
В случае логической ошибки в ответе возвращается объект ошибки:
1 2 3 4 |
{ "result":"fail", "msg":"Error description" } |
Объект ошибки содержит два поля – result, всегда равное fail, и поле msg со словесным пояснением причины ошибки для отображения пользователю.
Примеры использования JSON API протокола: