Интеграция

Четыре операции

Платежная интеграция меньше, чем кажется. Этих четырех операций хватает, все остальное — детали одной из них.

Операции

POST /paymentsСоздать платеж и получить ссылку на платежную страницу
GET /payments/{id}Прочитать платеж: статус, сумма, метод, метки времени
POST /payments/{id}/refundВозврат, полный или частичный
POST ваш callbackUrlМы сообщаем о смене статуса, запрос подписан

Базовый адрес песочницы и боевого шлюза выдается вместе с ключами. В примерах ниже он обозначен как $MP_API_BASE.

Создание платежа

amountСтрока, два знака после точки. С клиента спишется ровно эта сумма.
currencyGEL, USD или EUR, по договору
orderIdВаш номер заказа. Уникален на вашей стороне, мы возвращаем его в каждом ответе.
descriptionТо, что клиент видит на странице
callbackUrlКуда мы отправим статус. HTTPS, доступен из интернета.
returnUrlКуда клиент попадет после страницы

Статусы

createdСтраница создана, никто еще не платил
pendingПлатеж у банка, ответа пока нет
paidДеньги списаны. Только теперь отдавайте товар.
failedОтказ. Причина приходит вместе со статусом.
expiredСтраница истекла, ничего не списано
refundedВозвращено полностью или частично

Два правила, которые экономят больше всего времени

  • Возврат клиента на ваш returnUrl не является доказательством оплаты. Он означает только то, что браузер вернулся. Доказательство — статус, который вы прочитали у нас.
  • Никогда не доверяйте сумме, пришедшей из браузера. Создавайте платеж на своем сервере из своего заказа.

Полная спецификация

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