Запросы API v1.0.0
Кошелёк Pay API
Документация перемещена
Информация на этой странице не обновляется и может быть устаревшей. Наиболее полная и актуальная версия документации для разработчиков доступна по новому адресу:
В следующих версиях документа в запросы и/или ответы могут быть добавлены новые необязательные поля.
Для обеспечения обратной совместимости необходимо игнорировать их при формировании запросов и при приеме ответов от сервера до внесения соответствующих изменений в ПО, работающее на стороне ТСП.
Запрос списка возможных провайдеров платежей
HTTP-метод: POST
URL: /api/v1/merchant/availability-info/task
Описание
ТСП передает Кошельку информацию о счете к оплате и создает задачу на получение данных о провайдерах платежей.
В зависимости от кода ответа на запрос определяется способ получения списка провайдеров платежей:
1) Синхронный: ответ на вызов содержит HTTP Status Code 200
. При этом в теле ответа содержатся непосредственно запрашиваемые данные о провайдерах платежей.
2) Асинхронный: ответ на вызов содержит HTTP Status Code 201
. При этом в теле ответа будет содержаться поле availabilityInfoId
, а в HTTP-заголовке Location — URL, который необходимо периодически опрашивать для получения данных о провайдере, используя запрос /api/v1/merchant/availability-info/{availabilityInfoId}
.
Принципы получения списка доступных провайдеров платежей
Параметры запроса
Параметры заголовка запроса
Параметры тела запроса
Тело запроса передается в виде объекта JSON следующей структуры:
Параметры ответа
HTTP Status Code: 200
Запрос выполнен успешно, ответ содержит сведения о списке провайдеров платежей (используется синхронный режим).
Тело ответа — объект JSON следующей структуры:
HTTP Status Code: 201
Запрос выполнен успешно, ответ содержит сведения для отдельного запроса на получение списка доступных провайдеров платежей (используется асинхронный режим).
Заголовок ответа:
Тело ответа — объект JSON следующей структуры:
HTTP Status Code: 422
Запрос не выполнен. Тело ответа — объект JSON, описывающий ошибку.
Получение списка доступных провайдеров платежей
HTTP-метод: GET
URL: /api/v1/merchant/availability-info/{availabilityInfoId}
Описание
ТСП запрашивает у Кошелька список доступных провайдеров платежей в асинхронном режиме, т. е. если запрос /api/v1/merchant/availability-info/task
вернул HTTP Status Code 201
.
В этом случае методы /api/v1/merchant/availability-info/task
и /api/v1/merchant/availability-info/{availabilityInfoId}
используются в паре (принцип периодического опроса — поллинга).
Необходимо последовательно:
1) вызвать api/v1/merchant/availability-info/task
, получить availabilityInfoId
__ (идентификатор, используя который, можно будет впоследствии получить данные), и timeout
__ (время, через которое необходимо осуществить первую проверку статуса готовности)
2) вызывать метод api/v1/merchant/availability-info/{availabilityInfoId}
с периодом ожидания, равным timeout
для первого вызова и pollingTimeout
для последующих вызовов до тех пор, пока в ответе поле computationComplete
не будет содержать значение true
).
Параметры запроса
Отсутствуют.
Параметры ответа
HTTP Status Code: 200
Запрос выполнен успешно. Тело ответа — объект JSON следующей структуры:
HTTP Status Code: 422
Запрос не выполнен.
Тело ответа — объект JSON, описывающий ошибку.
Инициализация платежа
HTTP-метод: POST
URL: /api/v1/merchant/checkout
Описание
ТСП передает Кошельку информацию о счёте к оплате и значение cardSession
пользователя, который должен оплатить этот счёт.
Параметры запроса
Параметры заголовка запроса
Параметры тела запроса
Тело запроса передается в виде объекта JSON следующей структуры:
Параметры ответа
HTTP Status Code: 200
Запрос выполнен успешно.
Тело ответа — объект JSON следующей структуры:
HTTP Status Code: 422
Запрос не выполнен. Тело ответа — объект JSON, описывающий ошибку.
Получение статуса транзакции
HTTP-метод: POST
URL: /api/v1/merchant/transaction/status
Описание
Ответ со статусами платежной транзакции и транзакции отмены. a. Реализация приема postback/callback ответов от Кошелька
ТСП необходимо реализовать на своей стороне метод, который будет вызывать сервер Кошелька для передачи ТСП статуса платежа. Этот способ получения статуса является предпочтительным, т.к. в данном случае сервер Кошелька сразу передает ТСП ответ, и ТСП не нужно работать в режиме polling c сервером Кошелька с запросом b в ожидании ответа с финальным статусом транзакции. Сервер Кошелька должен передавать при вызове метода тот же объект, который возвращает в response на вызов b. Схема работы через периодические вызовы метода b со стороны ТСП должна использоваться в случае технической невозможности подключения сервера Кошелька к серверу ТСП (или напрямую к кассам) для передачи ответов через postback. Request body: см. Response body в пункте b. b. Реализация подключения к методу получения статуса от сервера Кошелька.
Рекомендации по вызову метода
Статус транзакции необходимо запрашивать:
В первый раз: не раньше чем через 250 мс и не позже чем через 500 мс.
Дальнейшие вызовы должны быть не чаще чем раз в 250 мс.
Касса должна ожидать статус не дольше, чем 30 секунд, и вызывать отмену оплаты, если время ожидания превышено.
Конкретная реализация остается на усмотрение ТСП, но важно убедиться, что не остается никакого потока, который продолжает опрашивать серверы Кошелька.
Параметры запроса
Тело запроса передается в виде объекта JSON следующей структуры:
Параметры ответа
HTTP Status Code: 200
Запрос выполнен успешно.
Тело ответа — объект JSON следующей структуры:
Возможные значения параметра errorCode
errorCode
1. Для сценария оплаты:
2. Для сценария возврата:
HTTP Status Code: 422
Запрос не выполнен. Тело ответа — объект JSON, описывающий ошибку.
Отправка чека
HTTP-метод: POST
URL: /api/v1/merchant/transaction/receipt
Описание
ТСП передает Кошельку информацию о фискальном чеке для его отображения пользователю в Кошельке.
Параметры запроса
Тело запроса передается в виде объекта JSON следующей структуры:
Параметры ответа
HTTP Status Code: 200
Запрос выполнен успешно. Тело ответа — пустое.
HTTP Status Code: 422
Запрос не выполнен. Тело ответа — объект JSON, описывающий ошибку.
Отмена оплаты
HTTP-метод: POST
URL: /api/v1/merchant/transaction/cancel
Описание
ТСП передает Кошельку запрос на отмену транзакции оплаты.
В запросе не указывается сумма отмены, т.к. операция отмены проводится на полную сумму, указанную в транзакции оплаты.
Параметры запроса
Тело запроса передается в виде объекта JSON следующей структуры:
Параметры ответа
HTTP Status Code: 200
Запрос выполнен успешно.
Тело ответа — объект JSON следующей структуры:
HTTP Status Code: 422
Запрос не выполнен. Тело ответа — объект JSON, описывающий ошибку.
Возврат оплаты
HTTP-метод: POST
URL: /api/v1/merchant/transaction/refund
Описание
ТСП передает Кошельку запрос на возврат покупателю средств, полученных в результате транзакции оплаты.
Параметры запроса
Параметры заголовка запроса
Параметры тела запроса
Тело запроса передается в виде объекта JSON следующей структуры:
Параметры ответа
HTTP Status Code: 200
Запрос выполнен успешно.
Тело ответа — объект JSON следующей структуры:
Возможные значения параметра errorCode
errorCode
HTTP Status Code: 422
Запрос не выполнен. Тело ответа — объект JSON, описывающий ошибку.
Last updated