Первый платеж

Первый платеж

Техническое описание первого платежа


Форма оплаты ВАЖНО!

Для перехода к оплате, Вы должны отправить клиента по форме с параметрами. Для инициализации оплаты, магазин должен отправить покупателя по данному адресу с передачей параметров. Предварительно заполнив параметры (номер счета, сумма, ID проекта)

URL: https://enot.io/pay

Метод отправки: GET

Параметр Тип Описание Обязательно
m int ID магазина в нашей системе +
oa float Сумма к оплате. (Если в сумме есть копейки, то отправляйте их с разделителем "." Пример: 10.28 +
o string ID платежа в вашей системе +
s string Секретный ключ, который требуется сгенерировать (см. генерацию ключа) +
cr string Валюта платежа (RUB, USD, EUR, UAH) (По умолчанию RUB) -
c string Назначение платежа (показывается клиенту при оплате) -
cf string/array Строка, которая будет возвращена в уведомления после оплаты (webhook, callback) (Можно передавать массивом) -
p string Изначально выбрать способ оплаты -
ap int Переадресация сразу на платежную систему (Пока доступно только для QIWI) -
success_url string (max:255) URL куда переадресовать пользователя, после успешной оплаты. (Если не заполнено, значение берется из настроек магазина. Данный параметр в приоритете для редиректа) -
fail_url string (max:255) URL куда переадресовать пользователя, после ошибки при оплате (Если не заполнено, значение берется из настроек магазина. Данный параметр в приоритете для редиректа) -

Пример формы

        <form method='get' action='https://enot.io/pay'>
            <input type='hidden' name='m' value='MERCHANT_ID'>
            <input type='hidden' name='oa' value='PAY_SUM'>
            <input type='hidden' name='o' value='PAY_ID'>
            <input type='hidden' name='s' value='SIGN'>
            <!-- <input type='hidden' name='cf' value='YOUR_PARAMS'> --> <!-- Передача custom field в виде строки -->
            <!-- <input type='hidden' name='cf[NAME_PARAMS]' value='YOUR_PARAMS'> --> <!-- Передача custom field в виде array -->
            <input type="submit" value="Перейти к оплате" />
        </form>

Так же смотрите пример генерации формы на PHP


Пример формы на PHP

Пример настройки формы, на языке PHP. Вы можете использовать свои значения.

         <?php
         $MERCHANT_ID   = 15;                 // ID магазина
         $SECRET_WORD   = 'Секретный ключ';   // Секретный ключ
         $ORDER_AMOUNT  = 10;                 // Сумма заказа
         $PAYMENT_ID    = time();             // ID заказа (мы используем time(), чтобы был всегда уникальный ID)

         $sign = md5($MERCHANT_ID.':'.$ORDER_AMOUNT.':'.$SECRET_WORD.':'.$PAYMENT_ID);  //Генерация ключа
         ?>

         <form method='get' action='https://enot.io/pay'>
         <input type='hidden' name='m' value='<?=$MERCHANT_ID?>'>
         <input type='hidden' name='oa' value='<?=$ORDER_AMOUNT?>'>
         <input type='hidden' name='o' value='<?=$PAYMENT_ID?>'>
         <input type='hidden' name='s' value='<?=$sign?>'>
         <input type="submit" value="Оплатить">
         </form>

Генерация ключа SIGN

Генерация ключа, обязательный параметр. Он требуется для проверки платежа на уникальность и подтверждения, что переход к оплате был с вашего сайта. SIGN ключ должен быть сгенерирован до отправки формы и введен в форму!

Метод генерации: MD5


Параметр Тип Описание Обязательно
$merchant_id int ID магазина в нашей системе +
$order_amount float Сумма к оплате +
$secret_word string Секретный ключ. Указывается в редактировании магазина. (Для SIGN_2, используйте второй секретный ключ) +
$payment_id int ID заказа в вашей системе +

Пример генерации

            $merchant_id = 150;
            $secret_word = 'enot_secret_word';
            $order_amount = 200;
            $payment_id = 99;

        $sign = md5($merchant_id.':'.$order_amount.':'.$secret_word.':'.$payment_id);

Уведомления после оплаты (webhook, callback)

Данное уведомление приходит после успешной оплаты в вашем магазине

Метод прихода данных: POST

Всегда используйте приведение в нижний регистр у параметров.


Параметр Тип Описание
merchant int ID вашего магазина
amount float Сумма заказа
credited float Сумма зачисленная вам на баланс (В рублях)
intid int ID операции в нашей системе
merchant_id string ID операции в вашей системе
sign string ключ, который вы генерировали до оплаты заказа
sign_2 string ключ, который сгенерирован, как SIGN, но с секретным ключом №2. Всегда проверяйте данный ключ!
currency string Валюта платежа (RUB, USD, EUR, UAH) (Зависит от валюты магазина. По умолчанию RUB)
commission float Сумма комиссии при заказе (Зависит от валюты платежа. По умолчанию RUB)
custom_field string/array Строка или массив который вы передавали в параметр "cf"

Пример ответа

            Array
            (
                [merchant] => 150
                [amount] => 200.00
                [credited] => 196.00
                [intid] => 1545855
                [merchant_id] => 99
                [method] => qw
                [sign] => cd1d6b67f3335038656d9009ab4ecfa9
                [sign_2] => 5a9446513885f52cd8f9ec3066d87992
                [currency] => RUB
                [commission] => 0.00
                [custom_field] => Array
                    (
                        [email] => [email protected]
                        [id_user] => 125454
                    )
            )
        

Пример обработки ответа

            $merchant = $_REQUEST['merchant']; // id вашего магазина
            $secret_word2 = 'enot_secret_word2'; // секретный ключ 2

            $sign = md5($merchant.':'.$_REQUEST['amount'].':'.$secret_word2.':'.$_REQUEST['merchant_id']);

            if ($sign != $_REQUEST['sign_2']) {
                die('bad sign!');
            }

            echo "Good";
            // далее ваш код