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

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


https://unityfunds.ru//pay/?shop_id=ID&pay_id=ид платежа&amount=Сумма&sign=Подпись MD5 || SHA1 || SHA256 || SHA512 || SHA384 || RIPEMD160

Форма оплаты содержит все необходимые данные для оплаты заказа. Передается методом GET на адрес

Параметр Примечание Тип
shop_id ID кассы, можно получить в настройках проекта. Обязательно.
amount Сумма платежа Обязательно.
pay_id Номер счета. Обязательно.
sign Подпись платежа. Обязательно.
desc Комментарий к платежу Необязательно.

Подпись для создания платежа формируется путем нахождения MD5 || SHA1 || SHA256 || SHA512 || SHA384 || RIPEMD160 - Хэша

Пример кода на PHP:

==========================MD5=========================================
$sign = md5("ID Магазина:Сумма:публичный ключ:Номер Счета");
==========================SHA256=========================================
$sign = hash('sha256', "ID Магазина:Сумма:публичный ключ:Номер Счета");
==========================SHA1===========================================
$sign = hash('sha1', "ID Магазина:Сумма:публичный ключ:Номер Счета");
==========================SHA384=========================================
$sign = hash('sha384', "ID Магазина:Сумма:публичный ключ:Номер Счета");
==========================SHA512=========================================
$sign = hash('sha512', "ID Магазина:Сумма:публичный ключ:Номер Счета");
==========================RIPEMD160======================================
$sign = hash('ripemd160', "ID Магазина:Сумма:публичный ключ:Номер Счета");

Проверка IP

Рекомендуем так же проверять IP сервера отправляющего Вам информацию, наши IP -

Пример кода на PHP:


		
function getIP() {
	if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
	  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
	}
	return $_SERVER['REMOTE_ADDR'];
}
if (!in_array(getIP(), array(''))) die("hacking attempt!");
	

Оповещение о платеже

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

Параметр Примечание
sum Сумма платежа.
invoice Номер счета
http_auth_signature Подпись сгенерированная в MD5 || SHA1 || SHA256 || SHA512 || SHA384 || RIPEMD160 с секретным ключом.

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

Так же, рекомендуется добавить проверку на сумму платежа и не была ли эта заявка уже оплачена

Пример кода на PHP:


function getIP() {
  if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
  return $_SERVER['REMOTE_ADDR'];
}

if (!in_array(getIP(), array(''))) die("hacking attempt!");

==========================MD5=========================================
$sign = md5("ID Магазина:Сумма:Секретный ключ:Номер Счета");
==========================SHA256=========================================
$sign = hash('sha256', "ID Магазина:Сумма:Секретный ключ:Номер Счета");
==========================SHA1===========================================
$sign = hash('sha1', "ID Магазина:Сумма:Секретный ключ:Номер Счета");
==========================SHA384=========================================
$sign = hash('sha384', "ID Магазина:Сумма:Секретный ключ:Номер Счета");
==========================SHA512=========================================
$sign = hash('sha512', "ID Магазина:Сумма:Секретный ключ:Номер Счета");
==========================RIPEMD160======================================
$sign = hash('ripemd160', "ID Магазина:Сумма:Секретный ключ:Номер Счета");

if ($sign != $_POST['http_auth_signature']) die('Error signature');