Unitpay
ru
ru
  • Главная
  • Начало работы
    • Регистрация
    • Добавление проекта
      • Добавление сообщества VK
      • Добавление канала / супергруппы Telegram
    • Модерация проекта
      • Помощник по модерации
    • Перенос проекта
  • Платежи
    • Создание платежа (простой способ)
    • Создание платежа
    • Создание платежа (виджет)
    • Создание ссылок на оплату в личном кабинете
    • Обработчик платежа
    • Информация о платеже
    • Возврат платежа
    • Двухстадийные платежи (платежи с преавторизацией)
    • Подписки API
      • Создание подписки
      • Получение списка активных подписок
      • Получение информации о подписке
      • Закрытие подписки
  • Массовые выплаты
    • Создание выплаты
    • Информация о выплате
    • Информация о карте по BIN
    • Информация о комиссии на выплаты
    • Дополнительно: выплаты на основе CSV-реестра
    • Получение справочника банков-участников СБП (API)
    • Автовыплаты
  • Онлайн-кассы
    • Юнит.Чеки
    • Подключение Онлайн-кассы
    • Параметры для формирования чека
    • Типы позиций для формирования чека
    • Просмотр чека
    • Чек зачета аванса
  • Готовые модули
    • Unitpay SDK
    • Базовый обработчик платежа
    • CMS модули
      • 1C Bitrix
      • Amiro CMS
      • AmoCRM
      • BILLmanager
      • Bitrix24
      • CMS NWICODE
      • CMS-S3
      • CS-Cart
      • DIAFAN.CMS
      • Drupal 8, 9 (commerce)
      • Drupal 7 (ubercart 3)
      • Drupal 7 (commerce)
      • Ecwid от Lightspeed
      • HostCMS
      • InSales
      • Joomshopping 4 (joomla 3)
      • LogicBoxes
      • MODX (miniShop2)
      • Magento
      • Magento 2
      • Netcat CMS
      • OpenCart
      • osCommerce
      • PHPShop
      • Prestashop
      • RetailCRM
      • ReadyScript
      • SellerGames
      • Senler
      • Simpla
      • ShopCMS
      • Tilda
      • Taplink
      • UMI.CMS
      • UCoz
      • VamShop 2
      • Virtuality CMS
      • VirtueMart 3 (joomla 3)
      • Webasyst Shop Script 7 (8)
      • Wix
      • Zen Cart
  • Личный кабинет
    • Telegram бот
    • Инструкция по интерфейсу
      • Регистрация юридических лиц
      • Новый проект и модерация
      • Настройка проекта и прием платежей
      • Подключение стран
      • Выплаты
      • Онлайн-кассы и «Юнит.Чеки»
      • Документы и отчетность
      • Роли и сотрудники
    • Пакет документов для ИП
    • Пакет документов для ООО
    • Смена расчётного счета для выплат
    • Текущий баланс (API)
    • Комиссии проекта (API)
    • Курсы конвертации валют (API)
    • Способы оплаты на проекте (API)
  • Справочник
    • IP адреса системы
    • Коды платежных систем
    • Статусы и ошибки платежей
    • Внешний вид формы оплаты
    • Буквенные коды валют
  • Реферальная программа
    • Интерфейс кабинета реферера (агента)
  • Другие возможности
    • Использование тестового API
    • Получение информации по BIN карты
    • Темная тема
  • Служба поддержки
  • FAQ
    • Как перейти на ИП с физического лица
    • Регистрация юр. лица или ИП
    • Модерация проекта
    • Интеграция платежного решения
    • Прием платежей
    • Возврат платежей
    • Выплаты юр. лицам
    • Массовые выплаты
    • Онлайн-кассы
    • Юридические вопросы
    • Чеки
  • Обновления
Powered by GitBook
On this page

Was this helpful?

  1. Платежи

Обработчик платежа

PreviousСоздание ссылок на оплату в личном кабинетеNextИнформация о платеже

Last updated 6 days ago

Was this helpful?

По мере выполнения платежа мы уведомляем платформу магазина о статусе оплаты, последовательно отправляя GET запросы на URL обработчика.

Важно: домен в обработчике платежей должен полностью совпадать с тем, который вы добавляете к нам в систему в качестве проекта

Методы

CHECK: проверка возможности оказания услуги абоненту, запрос отправляется до прохождения оплаты. Вы должны подтвердить готовность системы (проверить корректность суммы платежа, существование счета в БД и т. д.)

PAY: уведомление об успешном списании, вы должны оказать услугу абоненту. При любой ошибке на данном этапе (например, не доступна БД) платеж получает статус «Не завершен». После устранения проблем вы можете повторно провести платеж в интерфейсе статистики. Деньги зачисляются на баланс партнера независимо от ответа обработчика

PREAUTH: уведомление в платежах с преавторизацией, когда средства успешно заблокированы. Важно! Не следует оказывать услугу или выдавать товар плательщику при получении такого уведомления. Списание средств и оказание услуги следует совершать при выполнении confirmPayment

ERROR: ошибка платежа на любом из этапов. Если ошибка вызвана пустым/ошибочным ответом сервера партнера, то запрос отправлен не будет. Следует учесть, что данный статус не конечный и возможны ситуации, когда после запроса ERROR может последовать запрос PAY.

https://адрес_вашего_обработчика?
     method=check 
     params[account]=userId 
     params[date]=2012-10-01 12:32:00
     params[paymentType]=card 
     params[projectId]=123456
     params[payerSum]=10.00 
     params[payerCurrency]=RUB 
     params[signature]=9bdf52a4830779a1383ac24f1b3ed054 
     params[orderSum]=10.00 
     params[orderCurrency]=RUB 
     params[unitpayId]=1234567890 
     params[test]=0

method

string

check — запрос на проверку состояния абонента pay — уведомление о списании error — уведомление об ошибке

unitpayId

число

Внутренний номер платежа в UnitPay

projectId

число

ID проекта в UnitPay

account

string

Идентификатор абонента в системе партнера

payerSum

число

Сумма списания с лицевого счета абонента

sum

число

Сумма списания с лицевого счета абонента (дополнительное значение)

ip

string

IP-адрес плательщика (с которого инициировано создание платежа)

isPreauth

число

Признак платежа с преавторизацией, если запрос делается с использованием механизма преавторизации, то значение будет равно 1. Для платежей вне механизма преавторизации значение всегда 0

payerCurrency

string

Валюта списания с лицевого счета абонента по стандарту ISO 4217 (RUB, UAH, BYN, EUR, USD)

profit

число

Ваш доход с данного платежа, в рублях

paymentType

string

orderSum

число

Сумма заказа. Обязательно сверяйте поступившее значение с оригинальной суммой заказа

orderCurrency

string

Валюта заказа по стандарту ISO 4217 (RUB, UAH, BYN, EUR, USD). Обязательно сверяйте поступившее значение с оригинальной валютой заказа

date

string

Дата платежа в формате YYYY-mm-dd HH:ii:ss (например 2012-10-01 12:32:00)

errorMessage

string

Детализация ошибки (только для метода error)

test

число

Признак тестового режима, если запрос делается с использованием механизма "тестового запроса", то значение будет равно 1. Для реальных платежей значение всегда 0

3ds

число

Признак наличия 3-DS для операций по карте, флаг присутствует при PAY уведомлениях

subscriptionId

число

Идентификатор подписки, возвращается после успешной оплаты установочного платежа по подписке. Присутствует при PREAUTH и PAY уведомлениях

signature

string

ВАЖНО: в системе партнера не должно быть двух разных платежей с одним unitpayId. При получении повторного запроса CHECK или PAY необходимо вернуть результат выполнения предыдущего запроса, ничего не пополняя/зачисляя

Успешный ответ

{"result": {
    "message": "Запрос успешно обработан"
}}

message

string

Текстовый статус выполнения запроса.

Ошибочный ответ

{"error": {
    "message": "Описание ошибки"
}}

message

string

Информация с описанием ошибки формирования платежа.

При использовании формы оплаты текст из параметра "message" будет показан плательщику.

locale

string

Настраивает язык вводной части.

Возможные значения: "en" или "ru". По умолчанию "ru"

Например: "Магазин отклонил платеж: причина блокировки", где "Магазин отклонил платеж:" - вводная часть. "Причина блокировки" - значение параметра message

ВАЖНО: на этапе PAY при любой ошибке (например, нет доступа к БД) платеж получит статус «Не завершен». После устранения проблем повторите платеж в статистике.

Цифровая подпись. Образуется как sha256(method + "{up}" + params + "{up}" + secretKey), где sha256 - метод шифрования; "{up}" - разделитель параметров в хеш-функции; method - тип вызова (check, pay, error); params - значения параметров из массива params, объединенные разделителем "{up}". Все параметры должны быть предварительно отсортированы по ключу, в склейке не участвует параметр signature; secretKey - секретный ключ проекта (доступен в личном кабинете); Пример расчета подписи для запроса и секретного ключа "a1b1c1d1" sha256 ("check{up}tod{up}bob{up}sam{up}a1b1c1d1")

Всегда проверяйте , с которых приходят запросы к обработчику платежей

IP адреса
Код платежной системы
http://partnerUrl?method=check & params[b]=bob & params[c]=sam & params[a]=tod