Exchanger CMS | Скрипт обменника валют

Exchanger CMS v.1.16.0

Современный скрипт для создания обменного пункта

Без привязок к доменному имени и IP адресу сервера. Аренда на срок от одного месяца с возможностью выкупа.

Скрипт обменника валют 1

Скрипт обменника валют 2

Скрипт обменника валют 3

Безопасность

Защита от SQL-инъекций, CSRF и XSS атак, спама и роботов. Шифрование паролей алгоритмом CRYPT_BLOWFISH.

Производительность

Высокая скорость работы достигнута благодаря отличной оптимизации, кешированию и сервисам очередей.

Два режима работы

Полуавтоматический и ручной режим работы позволяют полностью контролировать средства на счетах платежных систем.

Поддержка любых валют

Поддержка неограниченного количества любых валют и направлений обмена с гибкой конфигурацией.

Мультиязычность

Поддержка до 10 языков, создать необходимую локализацию можно самостоятельно из панели управления.

Верификация

Процедура AML & KYC для пользователей, верификация банковских карт, ограничение доступа к направлениям обмена.

Инвестиции

Прием инвестиций от пользователей с гибкой конфигурацией инвестиционных пакетов и выплатами на любую платежную систему.

Блокировка реквизитов

Добавление платежных реквизитов в список заблокированных с последующим запретом создания заявок на обмен.

Запрос резерва

Форма запроса резерва валют и уведомления по электронной почте для пользователей о доступном резерве.

Панель управления

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

Реферальная программа

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

Система бонусов

Бонусы в виде обмена на более выгодных условиях для постоянных клиентов, с гибкой конфигурацией системы поощрения.

Мерчанты

Advanced Cash, Block IO, Coinpayments, LiqPay, Payeer, Perfect Money, Qiwi, Web Money, YooMoney, PayPal, Exmo, Livecoin, 4Bill, WestWallet, Epaycore, Kuna, Obmenka UA, WhiteBit.

SEO оптимизация

Базовые инструменты для SEO оптимизации, настройка мета тегов и заголовков страниц, создание уникального описания для каждого направления обмена.

Шаблон сайта

Настройка страниц и разделов сайта, поддержка неограниченного количества виджетов, простое редактирование данных, установка плагинов онлайн чата, удобное управление ресурсами.

Автокорректировка курса

Получение котировок от Bestchange, Binance, Blockchain, Bitfinex, Exmo, Huobi, Приватбанк, Тинькофф, ЦБ Европы, Украины, России, Казахстана.

Экспорт курсов

Экспорт курсов в форматах XML, JSON, TXT для включения обменника в листинг популярных мониторингов.

Быстрое начало работы

Добавление более 80 популярных валют и 6000 направлений обмена с предустановленными конфигурациями за несколько минут.

API доступ

Инструменты для разработчиков, интеграция с Telegram ботами и сторонними приложениями.

Отзывы

Раздел и виджет последних отзывов. Поддержка мультиязычности. Генератор случайных отзывов.

Новости

Раздел и виджет последних новостей. Поддержка мультиязычности и ЧПУ. Редактор Summernote.

Безопасный шлюз для автоматической работы обменника с открытым исходным кодом, позволяет производить автоматические выплаты по заявкам на обмен через любые платежные системы (индивидуально, по желанию заказчика). Написан на базе фреймворка Lumen — PHP Micro-Framework By Laravel. Взаимодействует с сайтом обменника по средствам API панели управления и веб-хуков.

Мультиязычный бот с открытым исходным кодом, включает 11 команд, позволяет производить обмены, просматривать и запрашивать резервы валют, регистрировать аккаунт, оставлять отзывы. Написан на базе фреймворка Lumen — PHP Micro-Framework By Laravel с использованием Telegram SDK. Взаимодействует с сайтом обменника по средствам публичного и приватного API. Демонстрация: @ExchangerCMS_bot

В стоимость включен ряд бесплатных услуг, которые доступны при первичной установке и настройке скрипта. Мы бесплатно предоставим виртуальный сервер на срок аренды у надёжного хостинг провайдера DigitalOcean.

Помощь в покупке домена

Помощь в покупке сервера

Помощь в покупке сертификата

За дополнительную оплату в скрипт могут быть внесены любые изменения. Мы готовы разработать уникальный проект по вашим требованиям или сотрудничать на постоянной основе.

Редактирование шаблона сайта

Редактирование функций скрипта

Верстка шаблона с PSD макета

Разработка уникального проекта

Разработка Telegram бота

Оплата услуг доступна с помощью следующих платежных систем: Bitcoin, Ethereum, USDT-ERC20, USDC-ERC20, DAI-ERC20, Qiwi + Visa/MasterCard, Web Money, Advanced Cash.

Первоначально нам потребуется несколько часов, что бы всё подготовить, в дальнейшем скачивание скрипта всегда будет доступно в вашем аккаунте.

Для работы скрипта необходим стандартный комплекс серверного программного обеспечения, который может состоять из стека LEMP или LAMP. Для корректной работы и лучшей производительности рекомендуется использовать VDS и отказаться от виртуального хостинга.

Вам будет интересно  Биткоин обменники

Скрипт не имеет привязки к домену. Вы можете запустить одновременно несколько обменников на разных серверах, но только для личного использования.

С технической точки зрения скрипт имеет всё необходимое для подключения в мониторинг. После запуска обменника вы можете постепенно подавать заявки на листинг в менее популярные мониторинги, продвигаясь со временем к более популярным.

Серверная часть написана на PHP, с использованием базы данных MySQL. Скрипт является MPA приложением, что обеспечивает отличную индексацию страниц сайта поисковыми роботами.

Исходный код скрипта обфусцирован, включая шаблон и базу данных, при этом код по-прежнему может быть просмотрен в текстовом редакторе, поскольку файлы не имеют шифрования. Использование обфускации вместо привычного шифрования утилитой ionCube не влияет на производительность приложения, а отсутствие шифрования, пускай и с трудом, но позволяет провести полный аудит кода.

Используйте API скрипта для подключения своих мерчантов и парсеров курса, отслеживания происходящих событий в обменнике, получения и управления различными данными. Ознакомьтесь с разделом для разработчиков в документации, что бы иметь представление обо всех возможностях.

График работы пн. — вс. 08:00 — 20:00 (GMT+03:00)

© 2019 — 2021. Сделано с , публичное API

Если Litecoin отправлен на bitcoin-адрес. Как быть?!

Пиринговая платежная система, использующая одноименную расчетную единицу и одноименный протокол передачи данных, «Биткоин», многим полюбилась из-за криптографических методов, обеспечивающих защиту системы. Еще одним очевидным плюсом является то, что вся информация о транзакциях между адресами системы доступна в открытом виде. В этой статье мы рассмотрим способ добавления «Биткоин» на ваш сайт в качестве системы оплаты.

2. Как получить ключ API?

3. Создание новых адресов для ваших клиентов

Введение

Биткоины — довольно привлекательный метод оплаты для онлайн-предпринимателей, в основном из-за того, что комиссия при использовании этого метода крайне незначительна в сравнении с PayPal или кредитными картами. Соответственно, это позволяет получить более высокую прибыль и предлагать услуги клиентам во всем мире по доступным ценам. Более того, биткоины формально не облагаются налогом, поскольку не представляют собой денежную форму, выдаваемую правительством. Также среди достоинств системы «Биткоин» можно выделить отсутствие необходимости обращения к посредникам.

В этой статье мы попробуем добавить биткоины в качестве способа оплаты на сайте. Для принятия платежей мы будем использовать Blockchain.info Receive Payments API V2, так как он прост, безопасен и может быть реализован менее чем за 10 минут.

Получение информации из биткоин сети

Самый “тяжеловесный” пункт. Классическим решением является поднятие собственного эталонного полного узла Биткоин, он же — каноничный bitcoind. Это позволит нам общаться с ним по JSON-RPC. С ним мы сможем как получать информацию из сети, так и пушить транзакции. На что стоит обратить внимание:

  • После установки, синхронизация узла может занять длительное время. Только после синхронизации узел можно использовать.
  • Займет немало места. Уже 40+ гигабайт.
  • Мне лично неизвестно какую нагрузку по запросам сможет выдержать.
  • Любые проблемы с падением/обновлением лягут на ваши плечи.

Альтернатива — имплементация полного узла на Ruby+PostgreSQL, Toshi. Неканоничная, но стремящаяся к полной совместимости реализация. Обратите внимание, из-за дополнительных индексов, база данных займет 220+ гигабайт места. Опять таки, требуется синхронизация с сетью. Возможно, есть другие имплементации полного узла (мне неизвестны). Еще одна альтернатива
— использование публичного API провайдера. На его плечи ляжет получение информации из сети и трансляция транзакций.

  • chain.com
  • blockchain.info/ru/api (не рекомендую)
  • www.blockcypher.com
  • chain.so/api
  • coinalytics.co
  • www.blocktrail.com
  • coinkite.com/developers
  • другие

Лично я рекомендую подключить несколько решений с фейловером.

Установка блокчейна на компьютер Установка кошелька на компьютер Директория для установки

Blockchain.info’s API V2

Paychanges API V2 Blockchain.info является самым простым и быстрым способом начать принимать платежи биткоинами от кого угодно в любой точке мира с помощью простого HTTP-GET-запроса. Стоит отметить, что одним из основных препятствий, связанных с принятием платежей биткойнами, является необходимость создания уникального адреса биткойнов для каждого нового пользователя или счета. Эти сгенерированные адреса должны быть под контролем и безопасно храниться. API приема платежей отвечает за создание и мониторинг биткоин-адресов. При получении платежей API позволяет уведомить сервер с помощью простой процедуры обратного вызова.

Вам будет интересно  Быстрый и надежный обменник криптовалют Trust-Exchange

Как получить ключ API?

Чтобы использовать API Blockchain.info, вы должны заполнить форму заявки по адресу:

Обратите внимание, что этот ключ API предназначен только для получения платежей. Существует стандартный API кошелька, который доступен в Python, Java, .NET (C #), Ruby, PHP и Node и может использоваться для отправки и получения платежей. Однако он отличается от Receive Payments V2 API тем, что не подходит для генерации разных адресов для разных пользователей.

На рисунке ниже показана форма заявки на получение Receive Payments V2 API. Вам нужно будет ввести свое имя, адрес электронной почты, URL-адрес сайта, на котором вы будете внедрять API, а также описание товаров, которые вы продаете, или услуг, которые предлагаете на своем веб-сайте. В большинстве случаев заявка рассматривается в течение 2-3 рабочих дней.

Рисунок 1. Форма заявки на получение Receive Payments V2 API

свой блокчейн

Общие принципы работы платежного шлюза

Вариант 1

Предположим, у нас есть уникальный счет (invoice, order), представленый к оплате клиенту, и платить клиент будет в биткоинах. Начнем с того, что надо сконвертировать валюту оригинального счета (USD например) в BTC. Задача это тривиальная и рассматривать мы ее не будем. Далее. Стандартом де факто является генерация нового уникального адреса биткоин под каждый заказ (он же счет, он же invoice, он же ордер). Ожидается, что средства на этот счет переведет только наш клиент, только 1 раз, и только строго указанную сумму (можно больше, никто не обидится, но никак не меньше). Т.о. при поступлении средств на указанный биткоин адрес в нужном количестве, заказ считается оплаченным.
Вкратце, цепочка такая:

  • ордер в системе ->
  • генерируем соответствующий ордеру уникальный адрес биткоин ->
  • показываем клиенту ->
  • ждем оплату на адрес ->
  • ордер закрыт (отмена по истечению срока годности или же поступление BTC и засчитываем факт оплаты)

При поступлении биткоинов на адрес у вас есть варианты засчитать неподтвержденный или подтвержденный баланс. Есть небольшой шанс что транзакция откатится, причем это может быть как по вине плательщика (который на самом деле злоумышленник), так и по независящим от него обстоятельствам.

Если вы имеете возможность “отобрать” предоставленный товар или услугу у клиента в случае выявленного факта отмены транзакции, я рекомендую засчитывать неподтвержденный баланс. Это будет означать почти мгновенный процесс оплаты для клиента (в противовес часа ожидания, например). А если какие то транзакции выявятся откаченными в итоге, запросить клиента о повторном платеже, угрожая отобрать услугу/товар.

Не ожидайте что подобный фрод вас тут же массово настигнет, откат транзакций это очень большая редкость, а “вручную” стимулировать подобный откат (на который кстати у злоумышленника нет никаких гарантий успеха) технически неподкованным клиентам нереально (в противовес чарджбекам по кредитным картам).

Еще один пример когда можно засчитывать неподтвержденный баланс — если на подготовку заказа клиента уходит больше одного часа (например обрабатывается корзина покупателя, готовится к отправке курьерской службой). Тут куча времени перепроверить баланс перед самой отправкой товаров.

Для остальных случаев можно ввести некий порог, выше которого обязательно ожидать подтвержденного баланса (например 0.25 BTC). Для максимальной надежности сделать его нулевым.

После закрытия ордера вы можете оставить биткоины на этом адресе до востребования, или для удобства перевести на единый “агрегационный” кошелек мерчанта. Будьте осторожны, в последнем случае вы можете скомпрометировать такой коммерческий показатель как “оборот”, т.к. транзакцию оплаты может отследить каждый платящий клиент. Для переводов вам понадобится создавать, подписывать и транслировать транзакции, используя приватные ключи от адресов.

Пару слов о времени жизни ордера.

Если ваш товар или услуга жестко привязаны к эквиваленту в фиатной валюте (например USD), то типичный срок жизни ордера составляет 7-15 минут из-за волатильности курса.

Вариант 2

Подходит когда вы не выставляете счета на оплату, а аккаунт юзера содержит некий единый баланс, который он пополняет и с которого тратит. Тут понадобится сгенерить биткоин адрес на пользователя, и показывать ему, с просьбой пополнить на любую сумму. В данном случае надо мониторить адрес на входящие транзакции, пополнять юзеру внутренний баланс при наличии оных. В данном случае я рекомендую засчитывать только подтвержденные транзакции (от 3х блоков и выше).

  • генерация адреса пользователю ->
  • мониторинг транзакций на адрес ->
  • пополнение внутреннего счета при наличии входящих транзакций
Вам будет интересно  BTC Banker – купить, продать, обменять биткоины в Telegram

Получение расширенного публичного ключа (Extended Public Key)

Чтобы иметь возможность получать платежи, вам потребуется учетная запись BIP32. Самый простой способ начать прием биткоинов — создать кошелек blockchain.info по адресу:

Вам нужно создать новую учетную запись, которая будет использоваться исключительно для получения транзакций, поддерживаемых API. При вызове API нужно использовать ключ xPub, который можно найти в «Настройки-> Учетные записи и адреса -> Дополнительные параметры -> Показать код xPub».

Рисунок 2. Получение ключа xPub

Как завести криптовалюту на Bitcoin Core

Чтобы завести криптовалюту на Bitcoin Core необходимо в главном окне выбрать вкладку «Получить»:

Перечисление средств на кошелек

В открывшемся окне нужно заполнить необходимые поля и нажать кнопку «Запросить платеж»:

Транзакции криптовалюты

После этого программа выдаст адрес для перевода коинов и QR-код для платежа:

QR-код

Для пополнения можно использовать только BTC, другие криптовалюты или фиатные деньги не поддерживаются.

Создание новых адресов для ваших клиентов

Для каждого клиента у нас будет свой уникальный адрес, на который он будет отправлять платежи. При получении денег на любой из таких адресов вам будет отправлено HTTP-уведомление. Обратите внимание, что каждый вызов, сделанный на сервере, приведет к увеличению параметра index, это делается для того, чтобы убедиться, что один и тот же адрес не назначен более чем одному клиенту. Тем не менее все средства, отправленные на любой из созданных адресов, будут добавлены в один и тот же кошелек.

https://api.blockchain.info/v2/receive?xpub=$xpub&callback=$callback_url&key=$key

Следует учесть, что существует программное ограничение — кошелек не сканирует более 20 неиспользуемых адресов. Таким образом, API будет возвращать ошибку, если более 20 из ранее созданных адресов не были использованы. Если вы столкнулись с этой ошибкой, вам придется либо перейти на новый xPub (в том же блоке blockchain.info), либо начать получать платежи на один из ранее созданных неиспользуемых 20 адресов.

Это можно опционально контролировать, добавляя gap_limit в качестве дополнительного параметра URL, что не приведет к увеличению числа биткоин-адресов, которые могут отслеживаться серверами Blockahin.info. Добавление параметра gap_limit изменяет максимально допустимый интервал, после которого API больше не будет генерировать новые адреса.

https://api.blockchain.info/v2/receive?xpub=$xpub&callback=$callback_url&key=$key&gap_limit=$gap_limit

Ниже рассмотрим параметры, используемые в приведенном URL:

  • xpub: ваш xPub (пункт назначения, куда будут отправляться платежи ваших клиентов).
  • callback_url: это URL-адрес обратной связи, на который будут приходить уведомления при получении платежа.
  • key: ваш ключ API-интерфейса получения платежей, который вы получите после того, как приложение будет успешно принято.
  • gap_limit: необязательный параметр, который определяет количество неиспользуемых адресов биткоинов, разрешенных до того, как будет возвращена ошибка.

С помощью xPub создаем неиспользуемый биткойн-адрес:

Теперь пусть ваши клиенты отправляют средства по адресу, указанному в ответе:

RESPONSE: 200 OK, APPLICATION/JSON

Ниже приведен пример реализации на PHP:

$my_callback_url = ‘INSERT YOUR CALLBACK URL HERE +/- that can include customer identification parameters such as ?invoice_id=058921123&secret=’.$secret;

$response = file_get_contents($root_url . ‘?’ . $parameters);

echo ‘Send Payment To : ‘ . $object->address;

Первый способ (проще):

Для реализации следующих шагов потребуются родной core-клиент от litecoin (litecoind). Возможно, нужный функционал есть в каком-либо еще клиенте — не проверял. Попробуем импортировать WIF от bitcoin-адреса прямо в litecoin. litecoin-cli importprivkey Kz1s4tr1PqQ9nyq8Tukzx6MyK8XMNDvvhfXWxYCcVgJdErtFiwvA

По окончанию можно проверить баланс командой: bitcoin-cli getbalance

Или посмотреть непотраченные выходы командой: bitcoin-cli listunspent

Если WIF импортировался и на нем были средства, то Вы увидите это командами getbalance, listunspent.

Также, разумеется команда: bitcoin-cli dumpprivkey 366ys86t5Evf4xeW4ngst1cwJM1YKDSC7x

Должна вернуть результат: Kz1s4tr1PqQ9nyq8Tukzx6MyK8XMNDvvhfXWxYCcVgJdErtFiwvA

https://exchanger-cms.com/
https://endnomer.ru/ploshchadki/bitcoin-cli.html