Формат взаимодействия с API

Особенности

Сам.Эквайринг — универсальное решение для работы с онлайн-платежами. API эквайринга построено на REST-принципах, работает с реальными объектами и обладает предсказуемым поведением. С помощью этого API вы можете отправлять запросы на оплату.

API в качестве основного протокола использует HTTP, а значит подходит для разработки на любом языке программирования, который умеет работать с HTTP-библиотеками (cURL и другими).

API endpoint: https://pro.selfwork.ru/merchant/v1

API поддерживает POST, GET и DELETE-запросы. POST-запросы используют JSON-аргументы, GET и DELETE-запросы работают со строками запросов. API всегда возвращает ответ в формате JSON, независимо от типа запроса.

Аутентификация

Данные для аутентификации запросов необходимо передавать в заголовке запроса в параметре Authorization.

В Сам.Эквайринг аутентификация запросов происходит с помощью: HTTP Basic Auth (основной).

HTTP Basic Auth

Для аутентификации запросов необходимо использовать HTTP Basic Auth. В заголовках запросов в качестве имени пользователя необходимо передать идентификатор вашего магазина в Сам.Эквайринг, в качестве пароля — ваш секретный ключ.

Секретный ключ отвечает за безопасность ваших данных. Храните его в защищенном месте и не публикуйте на сторонних ресурсах (например, вместе с примерами кода).

Пример запроса с аутентификацией

curl https://pro.selfwork.ru/merchant/v1/status?order_id=<Идентификатор заказа> \
-u <Идентификатор магазина>:<Секретный ключ>

Узнать идентификатор магазина и секретный ключ (а также перевыпустить) можно в личном кабинете Сам.Эквайринг.

Обработка запросов

Сам.Эквайринг обрабатывает полученный запрос немедленно и возвращает результат обработки («успех» или «неудача»). Ответ содержит код ответа HTTP, стандартные заголовки и при необходимости тело ответа в формате JSON.

Если в течение 60 секунд невозможно дать точный ответ, например из-за неполадок на стороне эквайера, Сам.Эквайринг вернет код ответа HTTP 500.

HTTP 500 не говорит об успешности или неуспешности выполнения вашей операции. Поэтому при получении HTTP 500 вам необходимо сначала узнать результат и только после этого принимать любые решения, связанные с этой операцией.

Last updated