Создание платежа (простой способ)

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

https://unitpay.ru/pay/ PUBLIC KEY?
sum=10& account=demo& desc=Описание платежа
& customerEmail=payer@test.xx
Значение Описание
sum число Сумма платежа. По умолчанию в рублях. См. дополнительный параметр  currency.
account строка Идентификатор абонента в Вашей системе (например email или номер заказа)
desc строка Описание заказа. Используется только для информирования при совершении платежа.

Онлайн кассы для юридических лиц РФ:

Значение Описание
customerEmail строка Email плательщика.
customerPhone число Телефон плательщика в международном формате без "+"
cashItems строка Позиции заказа. Значение данного параметра обязательно должно быть переведено в json и закодировано с помощью base64. Формат позиций параметра: base64_encode(json_encode([["name" => "Хостинг на 1 месяц", "count" => 1, "price" => 10.00]]));

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

Значение Описание
currency строка Валюта заказа по стандарту ISO 4217 (RUB, UAH, BYR, EUR, USD). Если платежная система не поддерживает требуемую валюту, то сумма будет сконвертирована в валюту системы оплаты.
locale строка Принудительное указание языка платежной формы, допустимые значения: ru, en. По умолчанию язык формы определяется исходя из страны, к которой относится IP адрес пользователя.
signature строка Цифровая подпись запроса. Опционально активируется в настройках проекта.
backUrl строка Адрес возврата пользователя с платежной формы без совершения покупки, по умолчанию используется адрес проекта. В адресе обязательно должен использоваться домен проекта. Примеры: "https://redirect.<домен проекта>/?someParams", "https://<домен проекта>/redirect/"
PUBLIC KEY: Значение публичного ключа проекта можно найти на странице проекта в специальном разделе личного кабинета " Форма оплаты".

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

Вы можете определить платежную систему, которая будет использоваться по умолчанию для пользователя. Для этого в конец URL вашей платежной формы (к примеру https://unitpay.ru/pay/demo) добавьте параметр / код_системы, соответствующий буквенному коду платежной системы

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

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

  Значение Описание
account текст Идентификатор абонента в системе партнера (например логин или email абонента)
paymentId число Номер платежа в системе UnitPay

Цифровая подпись запроса

В качестве дополнительной безопасности ваших платежей предлагаем включить обязательную проверку цифровой подписи при создании платежа (см. раздел "настройки проекта" на странице проекта в личном кабинете). Наличие подписи гарантирует защиту от подмены передаваемых значений (например изменение суммы платежа или номера заказа).

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

Важно. Если вы не передаете currency на форму оплаты, то этот параметр не должен участвовать в формировании подписи.

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

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

ВАЖНО: Цифровая подпись при создании платежа является дополнительной защитой, вы должны всегда проверять параметры платежа (signature, orderSum, orderCurrency, account и др.) на стороне обработчика.

Нужна помощь? Свяжитесь с нами Свяжитесь с нами