Техническое описание первого платежа
Для перехода к оплате, Вы должны отправить клиента по форме с параметрами. Для инициализации оплаты, магазин должен отправить покупателя по данному адресу с передачей параметров. Предварительно заполнив параметры (номер счета, сумма, ID проекта)
URL: https://enot.io/pay
Метод отправки: GET/POST
Параметр | Тип | Описание | Обязательно |
---|---|---|---|
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 $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 ключ должен быть сгенерирован до отправки формы и введен в форму!
Метод генерации: 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);
Данное уведомление приходит после успешной оплаты в вашем магазине
Метод прихода данных: 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) |
payer_details | string | Реквизиты плательщика (Может быть пустым) |
commission | float | Сумма комиссии при заказе (Зависит от валюты платежа. По умолчанию RUB) |
commission_pay | string | Кто платит комиссию (shop - магазин, client - клиент, 50/50 - 50 на 50) |
custom_field | string/array | Строка или массив который вы передавали в параметр "cf" |
Array ( [merchant] => 150 [amount] => 200.00 [credited] => 196.00 [intid] => 1545855 [merchant_id] => 99 [method] => cd [sign] => cd1d6b67f3335038656d9009ab4ecfa9 [sign_2] => 5a9446513885f52cd8f9ec3066d87992 [currency] => RUB [commission] => 0.00 [commission_pay] => shop [payer_details] => 539175******7523 [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"; // далее ваш код