Бюджет: 2000 UAH Срок: 1 день
Приветствую!
Работать могу с любым из предложенных вариантов.
Обращайтесь - буду рад сотрудничеству)
Не разбирался как формируется ссылка для оплаты в этих сервисах, но обычно вариантов несколько:
1. форма с параметрами в скрытых полях (типа номер заказа, ид мерчанта, ссылка коллбека)
2. Через апи
3. Возможность создать кастомную форму для ввода номера карты и параметров в скрытых полях
https://developers.paysera.com/ru/checkout/integrations/integration-library
https://github.com/2Checkout/2checkout-php
Пример для вариантов 1 и 2:
$fields = array(
'transactionType' => 'PURCHASE',
'merchantAccount' => $settings['way_merchant_id'],
'merchantDomainName' => $settings['way_merchant_domain'],
'amount' => $summa1,
'productName' => $pr,
'productCount' => '1',
'productPrice' => $summa1,
'merchantTransactionSecureType' => 'AUTO',
'orderReference' => $order_id,
'orderDate' => time(),
'language' => $settings['user_lang'],
"currency" => $currency,
'returnUrl' => $settings['way_result_url'].'?user_id='.$user_id.'&mes_id='.$mes_id.'&order_id='.$order_id,
'serviceUrl' => $path.'/mc_way_callback?user_id='.$user_id.'&mes_id='.$mes_id.'&order_id='.$order_id,
'clientAccountId' => $mes_id,
'clientZipCode' => $user_id,
'orderTimeout' => '1000000'
);
$sigfields = array(
'merchantAccount' => $settings['way_merchant_id'],
'merchantTransactionSecureType' => 'AUTO',
'merchantDomainName' => $settings['way_merchant_domain'],
'orderReference' => $order_id,
'amount' => $summa1,
'productName' => $pr,
'productCount' => '1',
'productPrice' => $summa1,
'orderDate' => time(),
"currency" => $currency
);
$Way = new WayForPay($settings['way_merchant_id'],$settings['way_merchant_pass'],"utf8");
$Way->createSignature('PURCHASE', $fields);
ЧЕРЕЗ ФОРМУ
/*echo '
<form method="post" action="https://secure.wayforpay.com/pay" accept-charset="utf-8">
<input type="hidden" name="merchantAccount" value="'.$settings['way_merchant_id'].'">
<input type="hidden" name="merchantTransactionSecureType" value="AUTO">
<input type="hidden" name="merchantAuthType" value="SimpleSignature">
<input type="hidden" name="merchantDomainName" value="'.$settings['way_merchant_domain'].'">
<input type="hidden" name="merchantSignature" value="'.$Way->createSignature('PURCHASE', $fields).'">
<input type="hidden" name="orderReference" value="'.$order_id.'">
<input type="hidden" name="orderDate" value="'.time().'">
<input type="hidden" name="amount" value="'.$summa1.'">
<input type="hidden" name="currency" value="'.$currency.'">
<input type="hidden" name="orderTimeout" value="490000">
<input type="hidden" name="productName" value="'.$pr.'">
<input type="hidden" name="productPrice" value="'.$summa.'">
<input type="hidden" name="productCount" value="1">
<button class="btn btn-lg btn-success" type="submit">'.$settings["pay_$settings[user_lang]"].'</button>
</form>';*/
echo '<a class="btn btn-lg btn-success" href="'.$Way->generatePurchaseUrl($fields).'">'.$settings["pay_$settings[user_lang]"].'</a>';
Пример 3-го варианта:
<form id="contact-form" method="post" action="mc_auth_charge.php" role="form" accept-charset="UTF-8">
<input type="hidden" name="order_id" value="<?=$order_id;?>" />
<input type="hidden" name="mes_id" value="<?=$mes_id;?>" />
<input type="hidden" name="user_id" value="<?=$user_id;?>" />
<input type="hidden" name="amount" value="<?=$summa;?>" />
<input type="text" class="form-control namec" placeholder="<?=$lang['name'];?>" name="name" value="<?=$name;?>">
<input type="email" class="form-control" placeholder="Email" name="email" value="<?=$email;?>">
<input type="phone" class="form-control" placeholder="Phone" name="phone" value="<?=$phone;?>">
<input type="text" class="form-control" placeholder="Address" name="addr" value="<?=$addr;?>">
<textarea rows="4" name="comm" class="form-control input-group-lg" placeholder="Comments"><?=$comm;?></textarea>
<input type="text" class="form-control" placeholder="Card number" name="number" required="Enter card number">
<input placeholder="CVC" class="form-control" type="number" name="cvc" required="Enter CVC code">
<input placeholder="MM/YY" class="form-control" type="hidden" id="expiry" name="expiry" required="Enter exparation date">
<select name="month" id="month"
class="form-control">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select name="year" id="year"
class="form-control">
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</option>
<option value="2026">2026</option>
<option value="2027">2027</option>
<option value="2028">2028</option>
<option value="2029">2029</option>
<option value="2030">2030</option>
</select>
<button type="submit" id="submit1" form="contact-form" class="btn btn-lg btn-success mx-auto postfix" ><?=$settings["pay_$settings[user_lang]"];?> <?=$summa1;?>$</button>
Если система позволяет - нужно реализовать все 3 варианта
ПРИМЕР КОЛЛБЕКА:
$data = base64_decode($_POST["data"]);
if ($data != "") {
$signa = $_POST["signature"];
$result = json_decode($data);
$status = $result->{'status'};
$sign = base64_encode(sha1($settings['liqpay_merchant_pass'].$data.$settings['liqpay_merchant_pass'],1));
if(strcmp($sign, $_POST['signature']) === 0) {$signature = "ok";} else {$signature = "no";}
if (($status == "success" && $signature == "ok"))
{
update_order(...);
}
if (($status == "error" || $status == "failure"))
{
update_order(...);
}
}
нужно получать в коллбеке статусы (все варианты) + сверять подпись если нужно
Бюджет: 2000 UAH Срок: 1 день
Приветствую!
Работать могу с любым из предложенных вариантов.
Обращайтесь - буду рад сотрудничеству)
Да в принципе ничего:) Нужно просто по примеру генерировать кнопку на оплату и отлавливать статус в колбеке. А дальше я сам:)
предлагайте. я так понимаю бюджет зависит от того какие инструменты (примеры реализации) предоставляет сервис для разработчиков
https://developers.paysera.com/ru/checkout/integrations/integration-library
Проект Существующий сайт разработан на Symfony. Необходимо принять проект на поддержку, ознакомиться с кодом и далее выполнять доработки. Основные задачи Внедрить все технические рекомендации SEO-специалиста согласно предоставленному техническому заданию. Внести изменения в конфигуратор памятников в соответствии с отдельным перечнем требований. Реализовать обновленный дизайн сайта (верстка и интеграция нового дизайна). Выполнять дальнейшие технические доработки и поддержку сайта по мере необходимости. От разработчика ожидается Ознакомление со структурой проекта и кодовой базой. Оценка стоимости и сроков выполнения каждого этапа. Соблюдение существующей архитектуры проекта и качественная реализация изменений. Поддержка связи по выполнению задач и возможным техническим решениям.
Хочу бот для Телеграмма. Загрузка диалогов. С помощью ИИ проверка на потенциальную ложь. Сайт с расширенными возможностями. Регистрация, апи, статистика и т д .
Необходимо мигрировать интернет-магазин Opencart с PHP 7.4 на PHP 8.x. В настоящее время стоит ядро v 3.0.3.8. Читаем, что скорее всего придется мигрировать и ядро на версию 4.0 и вроде сложностей не должно быть... Функционал в основном кастомный, также есть Simple, OCFilter, Нова пошта. Ждем рекомендации и ориентировочную цену. В идеале, кто уже проводил подобную работу.
Необходимо выполнить обновление, перенос и настройку Laravel-проектов на новый сервер с обеспечением стабильной работы, безопасности, защиты от эксплойтов и корректной работы всех сервисов после миграции. 1. Основные задачи Подготовить новый сервер к работе. Перенести файлы проектов, базы данных, конфигурации и cron-задачи. Обновить серверное программное обеспечение. Настроить безопасное окружение для Laravel. Проверить совместимость PHP, Laravel, Composer-пакетов и зависимостей. Обеспечить защиту от известных эксплойтов, вредоносных запросов и несанкционированного доступа. Настроить SSL-сертификаты. Проверить работоспособность сайтов после переноса. 2. Перенос Laravel-проектов Для каждого проекта необходимо: Перенести файлы проекта. Перенести базу данных. Перенести .env конфигурацию. Настроить права доступа к директориям: storage bootstrap/cache Проверить работу: главной страницы; админ-панели; авторизации; форм; API; загрузки файлов; email-отправки; cron-задач; queue workers.3. Безопасность и защита Необходимо реализовать базовый и прикладной уровень защиты: закрыть root-доступ по SSH; настроить SSH-доступ только по ключам; изменить стандартный SSH-порт, если нужно; настроить firewall; разрешить только необходимые порты; установить Fail2Ban; скрыть служебные версии Nginx/Apache/PHP; запретить доступ к .env, .git, backup-файлам, log-файлам; настроить правильные file permissions; проверить проекты на наличие вредоносных файлов; проверить Composer-пакеты на известные уязвимости; обновить зависимости, если это не ломает функционал; настроить защиту от SQL injection, XSS, CSRF и path traversal; проверить правильность Laravel APP_ENV и APP_DEBUG; установить APP_DEBUG=false на production; настроить rate limiting для критических endpoint-ов; проверить доступы к storage/uploads; настроить защиту от выполнения PHP в upload-директориях; проверить права доступа к админ-панелям. 4. SSL и домены Необходимо: Установить SSL-сертификаты. Настроить автоматическое обновление SSL. Включить редирект с HTTP на HTTPS. Проверить корректную работу сайтов через HTTPS. 5. Резервное копирование Необходимо настроить backup: файлов проектов; баз данных; .env файлов; uploaded media; cron-конфигураций; Nginx/Apache конфигураций. Backup должен выполняться автоматически по расписанию. Желательно хранить копии отдельно от основного сервера. 6. Проверка после переноса После миграции необходимо проверить: отсутствие 500/403/404 ошибок; отсутствие критических ошибок в Laravel logs. 9. Результат выполнения После завершения работ должно быть: Laravel-проекты успешно перенесены на новый сервер; сайты работают стабильно; SSL настроен; сервер защищен базовыми security-настройками; доступы к критическим файлам закрыты; backup настроен; cron и queues работают; старый сервер можно отключить после финальной проверки.
Разработка двух специализированных сайтов по продаже запчастейОбщая информация Необходимо разработать два специализированных сайта: Запчасти для квадроциклов, UTV, SSV и другой подобной техники. Запчасти для специальной техники. Существующий сайт компании: https://kiaparts.com.ua/ Новые проекты не должны быть копией существующего сайта. Необходимо предложить современное решение с акцентом на SEO, скорость работы, удобство для клиентов и менеджеров, а также возможность дальнейшего развития и масштабирования.Основная цель проекта Создать не просто интернет-магазин, а платформу для продажи запчастей, которая будет: хорошо индексироваться Google; привлекать органический трафик; удобно наполняться менеджерами; поддерживать большие каталоги товаров; легко масштабироваться в будущем. Для меня важнее получить правильную архитектуру и фундамент проекта, чем большое количество функций в первой версии.Архитектура проекта Необходимо два отдельных сайта для клиентов. При этом желательно, чтобы они были построены на единой платформе: одна административная панель; общий функционал; одна или связанные базы данных; отдельные домены; отдельное наполнение; возможность различного дизайна и оформления для каждого проекта. То есть фактически два отдельных сайта для клиента, но одна система управления для компании. Преимуществом будет модульная архитектура, которая позволит в будущем запускать новые проекты на этой самой платформе.SEO (один из главных приоритетов) Главная задача сайта не только продавать товар, а и получать максимальную органику из Google. Для каждой запчасти должна создаваться отдельная страница товара с собственной URL-адресой. К задаче прилагается пример существующей страницы товара, которая демонстрирует общий принцип наполнения SEO-информацией. Для каждого товара должна быть возможность добавлять: номер детали; OEM номер; кросс-номера; аналоги; бренд; название; альтернативные названия; характеристики; фото; описание; PDF-файлы; список применений; список моделей техники. Основная цель: Чтобы одна запчасть могла получать трафик по десяткам различных поисковых запросов: OEM номер; кросс-номер; аналог; название; бренд; модель техники.Важно относительно структуры данных Не хочу, чтобы менеджеры вручную писали большие тексты для каждой страницы. Желательно реализовать структурированную систему данных: Товар → OEM номер → Кросс-номера → Аналоги → Применения → Модели техники → SEO страница То есть менеджер заполняет информацию один раз, а система использует её для: SEO; поиска; перелинковки; фильтров; аналогов.Каталог и поиск Необходимо реализовать поиск: по номеру; по части номера; по OEM номеру; по кросс-номеру; по названию; по бренду. Желательно: автоподсказки; быстрый поиск; поиск аналогов; быстрая работа даже при большом каталоге.Импорт и обновление товаров Обязательно: импорт Excel; импорт CSV; экспорт данных; массовое обновление цен; массовое обновление остатков; массовое обновление описаний; массовое обновление фотографий; массовое обновление SEO-данных.Складской учет Необходимо реализовать: несколько складов; отображение наличия; резервирование товаров; синхронизацию остатков. В перспективе необходима возможность синхронизации со старым основным сайтом и другими проектами компании.Безопасность Необходимо предусмотреть: защиту административной панели; двухфакторную авторизацию; разграничение прав доступа; журнал действий пользователей; защиту от типичных атак; защиту API и интеграций.Резервное копирование Необходимо реализовать: автоматические дампы базы данных; автоматическое резервирование файлов; резервирование фотографий; резервирование документов; автоматическое сохранение копий в облако (Google Drive, AWS, Backblaze или аналогичные сервисы); возможность быстрого восстановления после сбоя или взлома.Дальнейшее развитие На первом этапе реализация ниже перечисленного функционала не является обязательной. Но архитектура должна позволять его дальнейшее внедрение без необходимости создания нового сайта. В будущем могут быть реализованы: AI-поиск по каталогу; AI-генерация описаний товаров; AI-генерация SEO-контента; автоматический поиск аналогов; интеграция с CRM; интеграция с поставщиками через API; автоматизация работы менеджеров; аналитика продаж; B2B кабинеты клиентов; маркетинговые инструменты. Поэтому важно, чтобы архитектура была готова к дальнейшему развитию.Примеры сайтов Нравятся по структуре, логике и удобству: Chrysler.com.ua Secoparts.net Comtac.parts RockAuto.com Не нужно копировать дизайн этих сайтов. Они приведены как примеры удобной структуры каталога, поиска и подачи информации.Платформа Допускается использование OpenCart, WordPress/WooCommerce или других платформ. Главные требования: хорошая SEO-архитектура; быстрая работа; возможность масштабирования; наличие API; возможность дальнейшего развития. Прошу обосновать выбор платформы и объяснить перспективы развития проекта на ней.Бюджет Ориентировочный бюджет первого этапа: 3 000 – 7 000 USD за весь проект (два сайта на единой платформе). Бюджет может быть пересмотрен после обсуждения архитектуры и этапов реализации. Готов рассматривать поэтапную реализацию, но для запуска желательно более срочно реализовать часть. Важно получить правильную архитектуру и качественный фундамент для дальнейшего развития, чем максимальное количество функций в первой версии.От исполнителя ожидаю предложение архитектуры; рекомендацию платформы; примеры аналогичных работ; ориентировочный бюджет; ориентировочные сроки; видение дальнейшего развития проекта. Большим плюсом будет опыт создания каталогов автозапчастей, магазинов с поиском по OEM-номерам и кросс-номерам, а также проектов с большим каталогом товаров. также просьба к заявке желательно добавить короткое описание того, как именно вы видите SEO-архитектуру проекта и каким образом будет обеспечиваться органический рост каталога. Фото добавляю для простого примера страницы под органический поиск