Взаимодействие

Вызов методов

Для вызова любого метода GP.API необходимо отправить POST запрос по протоколу HTTPS на указанный адрес

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

https://api.gbpayments.io/

Авторизация вызова

Для авторизации вызова используется HTTP Basic Auth — отправка логина и пароля в заголовке HTTP запроса. В качестве логина используется Site ID, в качестве пароля — API Secret. Оба этих значения можно получить в личном кабинете.

Обратите внимание

Если в запросе не передан заголовок с данными аутентификации или переданы неверные данные, система вернет HTTP статус 401 – Unauthorized.

Важно

API secret используется для обеспечения безопасности. Он должен хранится в защищенном месте.

Обработка ответа

Каждый запрос в GP.API возвращает ответ сериализованный в формате JSON.

Ответ является стандартизированным и может содержать один из объектов

  • response - доступен, в случае успешного ответа

  • error - доступен, в случае возникновения ошибки при выполнении запроса

Пример успешного ответа
{
    "response": {
        "success":   1,
        "timestamp": 1491279174.7654
    }
}
Пример ошибки
{
    "error": {
        "code":      10002,
        "text":      "Invalid parameter `site_id`",
        "error_id":  990,
        "timestamp": 1597852096.013394,
        "name":      "site_id"
    }
}

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

В случае возникновения ошибки будет возвращен объект error, содержащий поля

Параметр Тип Описание
code int Код ошибки
text string Текстовое описание ошибки
error_id int Идентификатор ошибки, который может быть запрошен службой поддержки
timestamp float Время возникновения ошибки в формате unixtime
{additional_field} {mixed} Дополнительные информационные поля
Список ошибок
Код ошибки Текст ошибки
10000 Required parameter %s not found or empty
10001 One of parameters %s is required
10002 Invalid parameter %s
10010 Item %s with %s = '%s' not found
10011 Item %s with %s = '%s' already exists
10030 Invalid credentials
10401 Authorization required
10403 Permission denied
10404 Specified method is not found
10429 Too many requests
10500 Something went wrong, try to repeat later
10800 External service call error: %s

Как реагировать

API подразумевает три исхода выполнения запроса: ошибка, успешное выполнение, неуспешное выполнение.

Ошибка

Ошибка возникает в том случае, когда в вызов метода были переданные неверные параметры или объект, который необходимо изменить (например подтвердить оплату) не может быть изменен, потому что имеет определенный статус в системе или не принадлежит текущему сайту. Т.е. наличие ошибки в ответе сигнализирует о технических проблемах взаимодействия с системой и никак не связано с действиями самого пользователя (неверная карта, нет средств для оплаты и т.д.).

Пример
{
    "error": {
        "code":      10002,
        "text":      "Invalid parameter `site_id`",
        "error_id":  990,
        "timestamp": 1597852096.013394,
        "name":      "site_id"
    }
}

Успешное выполнение

Успешное выполнение подразумевает, что метод был вызван без ошибок и операция была проведена успешно.

Пример
{
    "response": {
        "success":   1,
        "timestamp": 1491279174.7654
    }
}

Неуспешное выполнение

Неуспешное выполнение возникает в том случае, когда метод был вызван без ошибок, но при вызове стороннего компонента (например - отправки данных в банк-эквайер) возникла проблема. В данном случае система дополнительно вернет в ответе поле reason, которое будет содержать описание ошибки.

Пример
{
    "response": {
        "success":   0,
        "timestamp": 1491279174.7654,
        "reason":    "Недостаточно средств для оплаты"
    }
}