Di111 Опубликовано: 4 февраля, 2019 Опубликовано: 4 февраля, 2019 (изменено) Привет, простите что не по правилам, не проверял, но должно работать )) backend <?php $rkConf = parse_ini_file('config/robokassa.ini'); $ispUrl = $rkConf['TEMPLATE_ISP_URL']; $ispName = $rkConf['TEMPLATE_ISP']; $serviceDesc = $rkConf['SERVICE_DESC']; function rk_PricesForm() { $result = '<form action="" method="GET">'; if (!isset($_GET['customer_id'])) { $result.= '<H3>Введите Ваш платежный ID<br>и необходимую для пополнения сумму</H3><br>'; $result.= 'ID <input name="customer_id" type="text" title="Ваш платежный ID Вы можете найти в личном кабинете пользователя, это 10-значный цифровой номер" size="10" maxlength="10" required pattern="[0-9]{10}" placeholder="0000000000"><br><br>'; }else{ $result.= '<H3>Ваш платежный ID'.$_GET['customer_id'].'<br>Введите необходимую для пополнения сумму</H3><br>'; $result.= '<input name="customer_id" type="hidden" value="'.$_GET['customer_id'].'"> '; } $result.= '<input style="margin: 0 0 0 16px;width: 6em;" name="amount" type="number" step="50" min="150" max="10000" placeholder="150" maxlength="5" required ><br><br>'; $result.= '<input type="submit" value="Далее">'; $result.= '</form>'; return ($result); } function rk_PaymentForm() { global $rkConf; $mrh_login = $rkConf['LOGIN']; $mrh_pass1 = $rkConf['PASS1']; $inv_id = 0; $out_summ = $_GET['amount']; $shpa = $_GET['customer_id']; $inv_desc = "Оплата услуг связи ID".$shpa; $crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:shpa=$shpa"); $result.= '<H3><b>'.$inv_desc.'<br>На сумму '.$out_summ.'₽</b><br>Нажимая на кнопку «Оплатить»<br>Вы соглашаетесь с введенными данными!</H3><br>'; $result.= '<script language=JavaScript src="https://auth.robokassa.ru/Merchant/PaymentForm/FormMS.js?MerchantLogin='.$mrh_login.'&OutSum='.$out_summ.'&InvId='.$inv_id.'&Description='.$inv_desc.'&SignatureValue='.$crc.'&shpa='.$shpa.'"></script>'; $result.= ''; return ($result); } if (!isset($_GET['amount'])) { $paymentForm = rk_PricesForm(); } else { $paymentForm = rk_PaymentForm(); } include('template.html'); ?> robokassa.ini LOGIN="Ваш магазин" PASS1="пароль1" TEMPLATE_ISP="Компания" TEMPLATE_ISP_URL="http://" SERVICE_DESC="Оплатить с помощью ROBOKASSA" frontend - метод отсылки данных POST, если используете GET , меняем ниже $_POST на $_REQUEST <?php //достаем конфиг $rkConf = parse_ini_file('config/robokassa.ini'); // подключаем API OpenPayz include ("../../libs/api.openpayz.php"); /** * * Check for POST have needed variables * * @param $params array of POST variables to check * @return bool * */ function rk_CheckPost($params) { $result = true; if (!empty($params)) { foreach ($params as $eachparam) { if (isset($_POST[$eachparam])) { if (empty($_POST[$eachparam])) { $result = false; } } else { $result = false; } } } return ($result); } /* * Check is transaction unique? * * @param $hash - transaction hash * * @return bool */ function rk_CheckTransaction($hash) { $hash = mysql_real_escape_string($hash); $query = "SELECT `id` from `op_transactions` WHERE `hash`='" . $hash . "'"; $data = simple_query($query); if (!empty($data)) { return (false); } else { return (true); } } if (rk_CheckPost(array('OutSum', 'InvId', 'shpa'))) { $mrh_pass2 = $rkConf['PASS2']; $out_summ = $_POST['OutSum']; $inv_id = $_POST['InvId']; $shpa = $_POST['shpa']; $crc = strtoupper($_POST['SignatureValue']); $my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass2:shpa=$shpa")); if ($my_crc == $crc) { $paysys = "ROBOKASSA"; $note = "TRANSACTION ID: " . $inv_id; if (rk_CheckTransaction($inv_id)) { $allcustomers = op_CustomersGetAll(); if (isset($allcustomers[$shpa])) { //регистрируем новую транзакцию op_TransactionAdd($inv_id, $out_summ, $shpa, $paysys, $note); //вызываем обработчики необработанных транзакций op_ProcessHandlers(); //тихонько помираем die('OK'.$inv_id); } else { die('ERROR_NO_SUCH_USER'); } } else { die('DOUBLE_PAYMENT'); } } else { die('MISSING_HASH'); } } else { die('ERROR_NO_POST_DATA'); } ?> robokassa.ini PASS2="пароль2" Изменено 4 февраля, 2019 пользователем Di111
borman-ya Опубликовано: 26 ноября, 2019 Опубликовано: 26 ноября, 2019 Помогите, пытаюсь запилить Robokassu выходит ошибка, на 27 строке : Parse error: syntax error, unexpected 'function' (T_FUNCTION) in /usr/local/www/apache24/data/billing/openpayz/backend/robokassa/index.php on line 27
Di111 Опубликовано: 26 ноября, 2019 Автор Опубликовано: 26 ноября, 2019 (изменено) usr/local/www/apache24/data/billing/openpayz/backend/robokassa/index.php on line 27 в этой строке что содержится? ./openpayz/backend/robokassa/config/robokassa.ini логин и пароль заполнен? LOGIN="Ваш магазин" PASS1="пароль1" TEMPLATE_ISP="Компания" TEMPLATE_ISP_URL="http://" SERVICE_DESC="Оплатить с помощью ROBOKASSA" backend index.php маленько понес изменения Скрытый текст <?php $rkConf = parse_ini_file('config/robokassa.ini'); $ispUrl = $rkConf['TEMPLATE_ISP_URL']; $ispName = $rkConf['TEMPLATE_ISP']; $serviceDesc = $rkConf['SERVICE_DESC']; function rk_PricesForm() { $result = '<form action="" method="GET">'; if (!isset($_GET['customer_id'])) { $result.= '<H3>Введите Ваш платежный ID<br>и необходимую для пополнения сумму</H3><br>'; $result.= 'ID<input style="margin-left:20px;width: 80px;text-align: right;" name="customer_id" type="text" title="Ваш платежный ID Вы можете найти в личном кабинете пользователя, это 8-10 значный цифровой номер" size="10" maxlength="11" required pattern="[0-9]{8,10}" placeholder="00000000"><br><br>'; }else{ $result.= '<H3>Ваш платежный ID'.$_GET['customer_id'].'<br>Введите необходимую для пополнения сумму</H3><br>'; $result.= '<input name="customer_id" type="hidden" value="'.$_GET['customer_id'].'">'; } $result.= 'RUB<input style="margin-left:4.5px;width: 80px;text-align: right;" name="amount" type="number" step="50" min="200" max="10000" placeholder="200" maxlength="5" required ><br><br>'; $result.= '<input type="submit" value="Далее">'; $result.= '</form>'; return ($result); } function rk_PaymentForm() { global $rkConf; $mrh_login = $rkConf['LOGIN']; $mrh_pass1 = $rkConf['PASS1']; $inv_id = 0; $out_summ = $_GET['amount']; $shpa = $_GET['customer_id']; $inv_desc = "Оплата услуг связи ID".$shpa; $crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:shpa=$shpa"); $result.= '<H3><b>'.$inv_desc.'<br>На сумму '.$out_summ.'RUB</b><br>Нажимая на кнопку «Оплатить»<br>Вы соглашаетесь с введенными данными!</H3><br>'; $result.= '<script language=JavaScript src="https://auth.robokassa.ru/Merchant/PaymentForm/FormMS.js?MerchantLogin='.$mrh_login.'&OutSum='.$out_summ.'&InvId='.$inv_id.'&Description='.$inv_desc.'&SignatureValue='.$crc.'&shpa='.$shpa.'"></script>'; $result.= ''; return ($result); } if (!isset($_GET['amount'])) { $paymentForm = rk_PricesForm(); } else { $paymentForm = rk_PaymentForm(); } include('template.html'); ?> в template.html в нужное место вставь это для вывода <?=$paymentForm; ?> PS mc редактором глянь, при копировании лишних пробелов нет в коде? Изменено 26 ноября, 2019 пользователем Di111
borman-ya Опубликовано: 28 ноября, 2019 Опубликовано: 28 ноября, 2019 Было $rkConf = parse_ini_file('../config/robokassa.ini'); стало $rkConf=parse_ini_file("../../backend/robokassa/config/robokassa.ini"); И все взлетело.
Vitaliy1984 Опубликовано: 23 февраля, 2021 Опубликовано: 23 февраля, 2021 LOGIN="Ваш магазин" PASS1="пароль1" TEMPLATE_ISP="Компания" TEMPLATE_ISP_URL="http://" SERVICE_DESC="Оплатить с помощью ROBOKASSA" я так понимаю в login и pass1 заполняется логин и пароль от личного кабинета робокассы?
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас