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 https://unitpay.ru/pay/PUBLIC-KEY?sum&account&desc&signature

Для инициализации платежа посредством единой формы оплаты вам достаточно направить пользователя по специальному URL и передать ряд обязательных для оплаты параметров.

Основные параметры:

name
type
description

sum

number

Сумма платежа. По умолчанию в рублях*.

*- см. дополнительный параметр currency.

account

string

Идентификатор абонента в вашей системе (например email или номер заказа).

desc

string

Описание заказа. Используется только для информирования при совершении платежа.

signature

string

Цифровая подпись запроса. Она защищает вас от злоумышленников - подмены описания или стоимости заказа, размещения ссылки на оплату на ресурсах мошенников. Образуется как sha256(account + "{up}" + currency + "{up}" + desc + "{up}" + sum + "{up}" + secretKey) , где sha256 - метод хеширования; "{up}" - разделитель параметров в хеш-функции; secretKey - секретный ключ проекта (доступен в настройках проекта); Важно. Если вы не передаете currency на форму оплаты, то этот параметр не должен участвовать в формировании подписи.

Значение PUBLIC KEY и SECRET KEY проекта можно найти на странице Настройки проекта

Дополнительные параметры:

name
type
description

currency

string

locale

string

Принудительное указание языка платежной формы, допустимые значения: ru, en.

По умолчанию язык формы определяется исходя из страны, к которой относится IP адрес пользователя.

backUrl

string

платежной формы без совершения покупки, по умолчанию используется адрес проекта. В адресе обязательно должен использоваться домен проекта. Примеры: https://redirect.<домен проекта>/?someParams https://<домен проекта>/redirect/

resultUrl

string

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

subscription

string

Используйте данный флаг, если требуется создать подписку по карте плательщика. Идентификатор подписки (subscriptionId) будет передан в методе PAY на ваш обработчик платежа. Использование подписок возможно только после согласования со службой безопасности.

Пример формирования цифровой подписи:

function getFormSignature($account, $currency, $desc, $sum, $secretKey) {
    $hashStr = $account.'{up}'.$currency.'{up}'.$desc.'{up}'.$sum.'{up}'.$secretKey;
    return hash('sha256', $hashStr);
}

Пример кода для формирования ссылки на оплату:

<?php

$params = [
    'account' => 'test_unitpay',
    'currency' => 'RUB',
    'desc' => 'test_unitpay',
    'sum' => '100',
] ;

$billingCode = 'card';
$projectPublicId = '123456-1bfac';

$secretKey = 'secretKey';
$signatureParams = ['desc' => $params['desc'], 'sum' => $params['sum'], 'account' => $params['account'], 'currency' => $params['currency']];
ksort($signatureParams);
$signatureParams[] = $secretKey;
$signature =  hash('sha256', implode('{up}', $signatureParams));
$baseUrl = 'https://unitpay.ru';

$params['signature'] = $signature;
$uri = http_build_query($params);

echo $baseUrl.'/pay/'.$projectPublicId.'/'.$billingCode.'?'.$uri.PHP_EOL;

Пример правильно сформированной ссылки на оплату:

https://unitpay.ru/pay/123456-1bfac/card?account=test_unitpay&currency=RUB&desc=test_unitpay&sum=10&signature=0d3904fc3f46aaf6d153621541a54f85e921d491d43cc36728d21bed47457790

Метод оплаты по умолчанию

Возврат на сайт магазина

После инициализации оплаты пользователь переходит на страницу чека, где отслеживается статус платежа. При получении успешного либо ошибочного статуса пользователь переходит на сайт партнера по кнопке "В магазин" (поля Fail URL/Success URL в настройках личного кабинета) с GET параметрами:

account

текст

Идентификатор плательщика в системе партнера (например, логин или email)

paymentId

число

Номер платежа в системе UnitPay

Валюта заказа по стандарту ISO 4217 (EUR, USD, RUB, UAH, BYN и тд. ). Если платежная система не поддерживает требуемую валюту, то сумма будет сконвертирована в валюту системы оплаты.

Полный URL адрес перехода пользователя после оплаты (например, ), принудительно отправляет плательщика по этому адресу после оплаты.

Вы можете определить платежный метод, который будет использоваться по умолчанию для пользователя. Для этого в конец URL вашей платежной формы добавьте параметр billingCode, соответствующий буквенному .

коду платежной системы
Полный список валют
http://вашсайт.ru