Зміст
- Загальна інформація
- Створення бота в Telegram
- Налаштування обмінника
- Файл змінних оточення
- Встановлення на сервер
- Встановлення оновлень
- Запуск на локальному сервері
- Налаштування WAF
- Налаштування AnyMoney
- Налаштування Binance Crypto
- Налаштування Coinpayments
- Налаштування Crypto Cash
- Налаштування PayLink
- Налаштування PayPlay
- Налаштування Volet
- Налаштування WestWallet
- Налаштування WhiteBIT Code
- Налаштування WhiteBIT Crypto
- Налаштування WhiteBIT Fiat
Автоматичний режим написаний на базі фреймворку Laravel, детальну інформацію з встановлення та налаштування можна знайти на офіційному сайті.
Для використання автоматичного режиму достатньо вибрати потрібний мерчант вихідних платежів у налаштуваннях напрямку обміну. Щоб краще розібратися в принципі роботи та налаштуваннях, рекомендуємо протестувати автоматичний режим без коштів на балансі.
1) Зареєструйте нового бота, використовуючи бот "@botFather" та скопіюйте його токен (секретний ключ).
2) Використовуючи бот "@userinfobot" дізнайтеся та скопіюйте свій "ID" (ідентифікатор користувача).
API панелі керування
1) Згенеруйте секретний ключ у розділі "Налаштування додатка" - "Налаштування API панелі керування".
2) Заповніть список довірених IP-адрес.
Вебхуки
1) Згенеруйте секретний ключ у розділі "Налаштування додатка" - "Налаштування вебхуків".
2) Активуйте події: "Зміна статусу заявки на обмін".
3) Вкажіть хост.
https://ВАШ.ДОМЕН/api/webhooks/exchanger
Перед початком встановлення створіть текстовий файл і заповніть змінні оточення своїми даними. У файл також необхідно додати змінні середовища придбаних мерчантів.
Приклад заповнення:
APP_URL=https://ВАШ.ДОМЕН APP_API_PREFIX= APP_TIMEZONE=Europe/Kyiv APP_LOCALE=uk APP_KEY= QUEUE_CONNECTION=sync DB_DATABASE=exchanger_cms_payouts DB_USERNAME=user DB_PASSWORD=12345 TELEGRAM_BOT_TOKEN=1234567890:AAHj3nG9xkPqT2v4LmXy7Zc8WqR5bKdJt9U TELEGRAM_ADMIN_CHAT_ID=360634322 EXCHANGER_URL=https://demo.exchanger-cms.com EXCHANGER_DASHBOARD_API_SECRET_KEY=Fa8aexee0ohK5ohziu2IePhal6shei9z EXCHANGER_WEBHOOK_SECRET_KEY=iaGh4ja5jeiHu0YohSho9ju8vahch7ei TRANSACTION_CONFIRMATION=true TRANSACTION_UNSAFE_AMOUNT=0 TRANSACTION_UNSAFE_IN_GATEWAYS=MANUALLY TRANSACTION_UNSAFE_OUT_GATEWAYS= TRANSACTION_UNSAFE_IN_CURRENCIES= TRANSACTION_UNSAFE_OUT_CURRENCIES= TRANSACTION_MANUAL_COMPLETION_GATEWAYS= TRANSACTION_REFERRAL_REWARD=MONOBUAH:0.3,ETH:0.01
| Змінна оточення | Опис |
|---|---|
| APP_URL | URL-адреса застосунку |
| APP_API_PREFIX | Префікс для API-ендпоінтів (необов’язково) |
| APP_TIMEZONE | Часовий пояс |
| APP_LOCALE | Мова за замовчуванням (ru, uk, en) |
| DB_DATABASE | Назва бази даних |
| DB_USERNAME | Ім’я користувача бази даних |
| DB_PASSWORD | Пароль користувача бази даних |
| TELEGRAM_BOT_TOKEN | Токен Telegram-бота |
| TELEGRAM_ADMIN_CHAT_ID | ID адміністратора в Telegram |
| EXCHANGER_URL | URL-адреса обмінника |
| EXCHANGER_DASHBOARD_API_SECRET_KEY | Секретний ключ API панелі керування обмінника |
| EXCHANGER_WEBHOOK_SECRET_KEY | Секретний ключ вебхуків обмінника |
| TRANSACTION_CONFIRMATION | Ручне підтвердження всіх виплат (true / false) |
| TRANSACTION_UNSAFE_AMOUNT | Небезпечна сума виплати у USD еквіваленті |
| TRANSACTION_UNSAFE_IN_GATEWAYS | Небезпечні мерчанти вхідних платежів (через кому) |
| TRANSACTION_UNSAFE_OUT_GATEWAYS | Небезпечні мерчанти вихідних платежів (через кому) |
| TRANSACTION_UNSAFE_IN_CURRENCIES | Небезпечні віддавані валюти (через кому) |
| TRANSACTION_UNSAFE_OUT_CURRENCIES | Небезпечні отримувані валюти (через кому) |
| TRANSACTION_MANUAL_COMPLETION_GATEWAYS | Ручні мерчанти вихідних платежів (через кому) |
| TRANSACTION_REFERRAL_REWARD | Реферальна винагорода для отримуваних валют (%) |
Використовуйте наведені нижче змінні оточення для більш глибокого налаштування.
Значення за замовчуванням:
HTTP_CONNECT_TIMEOUT=3 HTTP_TIMEOUT=9 TELEGRAM_MAX_CONNECTIONS=1 TELEGRAM_SENDING_DELAY=500000 TELEGRAM_MAX_UPLOAD_FILE_SIZE=500 EXCHANGER_USER_AGENT=EXCMSAM
| Змінна оточення | Опис |
|---|---|
| HTTP_CONNECT_TIMEOUT | Ліміт часу на встановлення HTTP-з’єднання (секунди) |
| HTTP_TIMEOUT | Ліміт часу на виконання HTTP-запиту (секунди) |
| TELEGRAM_MAX_CONNECTIONS | Ліміт одночасних з’єднань з Telegram-ботом |
| TELEGRAM_SENDING_DELAY | Затримка при надсиланні повідомлень користувачу (мікросекунди) |
| TELEGRAM_MAX_UPLOAD_FILE_SIZE | Ліміт завантажуваних користувачем файлів (кілобайти) |
| EXCHANGER_USER_AGENT | Заголовок "User-Agent" при надсиланні запитів до API обмінника |
1) Оформіть замовлення на покупку автоматичного режиму.
2) Завантажте архів з файлами та розпакуйте його в кореневу директорію сайту.
3) Створіть файл ".env" (файл змінних оточення) і заповніть його підготовленими даними.
4) Встановіть залежності.
composer install --no-dev --optimize-autoloader --prefer-dist --no-interaction
5) Згенеруйте ключ застосунку.
php artisan key:generate
6) Виконайте міграцію бази даних.
php artisan migrate
7) Встановіть вебхук Telegram.
php artisan telegram:setup-webhook
8) Виконайте оптимізацію застосунку.
php artisan optimize -e views
Для встановлення оновлень необхідно замінити файли, перевстановити залежності та мігрувати базу даних.
Використовуйте вбудовану команду для імітації Telegram вебхуків.
php artisan telegram:simulate-webhook
Використовуйте префікс для API-ендпоінтів (APP_API_PREFIX), щоб приховати стандартну URL-адресу та обмежити доступ до сайту.
Приклад URL-адреси без префікса:
https://ВАШ.ДОМЕН/api/webhooks/
Приклад URL-адреси з префіксом:
https://ВАШ.ДОМЕН/api/gaok5gee2ooMaegheepholiezeeC0pau/webhooks/
Приклад WAF правила для Cloudflare:
(http.host eq "ВАШ.ДОМЕН" and not starts_with(http.request.uri.path, "/api/gaok5gee2ooMaegheepholiezeeC0pau/webhooks/"))
1) Перейдіть у розділ "Merchant settings" та скопіюйте "merchant id" (ID мерчанта).
2) Перейдіть у розділ "Security" та скопіюйте "secret key API" (секретний ключ), а також вкажіть IP-адресу вашого сервера у полі "server ip address".
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_ANYMONEY_MERCHANT_ID=1234567890 MODULE_ANYMONEY_SECRET_KEY=vaDeow6oosahsho0eefe7GaigaiZai1l MODULE_ANYMONEY_BASE_CURRENCY= MODULE_ANYMONEY_PROVIDER_BTC=BTC MODULE_ANYMONEY_PROVIDER_BCH=BCH MODULE_ANYMONEY_PROVIDER_LTC=LTC MODULE_ANYMONEY_PROVIDER_USDT=USDTERC20 MODULE_ANYMONEY_PROVIDER_ETH=ETH MODULE_ANYMONEY_PROVIDER_VOLET=ADVCUSD MODULE_ANYMONEY_PROVIDER_WEBMONEY=WMZ MODULE_ANYMONEY_PROVIDER_MOBILE=MWUAH MODULE_ANYMONEY_PROVIDER_PRIVAT24=P24UAH MODULE_ANYMONEY_PROVIDER_MONOBANK=MONOBUAH MODULE_ANYMONEY_PROVIDER_CARD=CARDUAH MODULE_ANYMONEY_PROVIDER_CARD_P2P=
| Змінна оточення | Опис |
|---|---|
| MODULE_ANYMONEY_MERCHANT_ID | ID мерчанта |
| MODULE_ANYMONEY_SECRET_KEY | Секретний ключ |
| MODULE_ANYMONEY_BASE_CURRENCY | Базова валюта (необов’язково) |
| MODULE_ANYMONEY_PROVIDER_BTC | Валюти провайдера Bitcoin (через кому) |
| MODULE_ANYMONEY_PROVIDER_BCH | Валюти провайдера Bitcoin Cash (через кому) |
| MODULE_ANYMONEY_PROVIDER_LTC | Валюти провайдера Litecoin (через кому) |
| MODULE_ANYMONEY_PROVIDER_USDT | Валюти провайдера Tether USDT (через кому) |
| MODULE_ANYMONEY_PROVIDER_ETH | Валюти провайдера Ethereum (через кому) |
| MODULE_ANYMONEY_PROVIDER_VOLET | Валюти провайдера Volet (через кому) |
| MODULE_ANYMONEY_PROVIDER_WEBMONEY | Валюти провайдера WebMoney (через кому) |
| MODULE_ANYMONEY_PROVIDER_MOBILE | Валюти мобільного провайдера (через кому) |
| MODULE_ANYMONEY_PROVIDER_PRIVAT24 | Валюти провайдера Privat24 (через кому) |
| MODULE_ANYMONEY_PROVIDER_MONOBANK | Валюти провайдера Monobank (через кому) |
| MODULE_ANYMONEY_PROVIDER_CARD | Валюти провайдера Visa/MasterCard (через кому) |
| MODULE_ANYMONEY_PROVIDER_CARD_P2P | Валюти провайдера Visa/MasterCard P2P (через кому) |
1) Перейдіть у розділ "Account" - "API Management" і натисніть кнопку "Create API".
2) Оберіть тип ключа "System generated".
3) Придумайте та вкажіть назву ключа.
4) Вкажіть права ключа лише "Enable Reading", "Enable Withdrawals" та "Enable Spot & Margin Trading", якщо ви плануєте використовувати функцію автоматичної покупки.
5) Вкажіть IP-адресу вашого сервера у секції "IP access restrictions".
6) Скопіюйте "API Key" (публічний API ключ) та "Secret key" (приватний API ключ).
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_BINANCECRYPTO_PUBLIC_KEY=outhoa6teange4fie1gee9aeKuphooth MODULE_BINANCECRYPTO_PRIVATE_KEY=ain8angaejeev2iequusuuvohkeeF6ie MODULE_BINANCECRYPTO_TRADE_ASSETS=BTC,ETH MODULE_BINANCECRYPTO_TRADE_CURRENCY=USDT MODULE_BINANCECRYPTO_TRADE_FEE=0.1
| Змінна оточення | Опис |
|---|---|
| MODULE_BINANCECRYPTO_PUBLIC_KEY | Публічний API ключ |
| MODULE_BINANCECRYPTO_PRIVATE_KEY | Приватний API ключ |
| MODULE_BINANCECRYPTO_TRADE_ASSETS | Дозволені до автоматичної купівлі валюти (через кому) |
| MODULE_BINANCECRYPTO_TRADE_CURRENCY | Базова валюта для торгівлі |
| MODULE_BINANCECRYPTO_TRADE_FEE | Комісія на торгівлю для вашого акаунту (%) |
1) Перейдіть у розділ "Account" - "API Keys", натисніть кнопку "Generate new key" та скопіюйте публічний і приватний API ключ.
2) Натисніть кнопку "Edit permission" для щойно створеного API ключа та активуйте метод "create\_withdrawal".
3) Перейдіть у розділ "API Key Settings" і вкажіть IP-адресу вашого сервера в полі "Restrict to IP/IP Range".
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_COINPAYMENTS_PUBLIC_KEY=ishie0Eicighooquei1Aegoo4jie8iSh MODULE_COINPAYMENTS_PRIVATE_KEY=Yeel4liash9Soonie5aet8eiNeoy4Hoh MODULE_COINPAYMENTS_ADD_TX_FEE=false MODULE_COINPAYMENTS_AUTO_CONFIRM=true
| Змінна оточення | Опис |
|---|---|
| MODULE_COINPAYMENTS_PUBLIC_KEY | Публічний API ключ |
| MODULE_COINPAYMENTS_PRIVATE_KEY | Приватний API ключ |
| MODULE_COINPAYMENTS_ADD_TX_FEE | Включати комісію у суму платежу (true / false) |
| MODULE_COINPAYMENTS_AUTO_CONFIRM | Виплата без підтвердження (true / false) |
1) Перейдіть до розділу "Overview", у блоці "Merchant Settings" натисніть кнопку "To Settings".
2) У вікні, що відкриється, натисніть кнопку "Generate API Key" та виберіть тип ключа "ED25519".
3) Скопіюйте "Public Key" (публічний API ключ) та "Secret key" (приватний API ключ).
4) Вкажіть "Endpoint access" - "Withdrawal", заповніть список довірених IP-адрес та натисніть кнопку "Create".
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_CRYPTOCASH_PUBLIC_KEY=nah6meegi1iega6Kaow5iel3bohpeiBa MODULE_CRYPTOCASH_PRIVATE_KEY=yu4eeWe0ev9ACaishira7chookas3Iew
| Змінна оточення | Опис |
|---|---|
| MODULE_CRYPTOCASH_PUBLIC_KEY | Публічний API ключ |
| MODULE_CRYPTOCASH_PRIVATE_KEY | Приватний API ключ |
Відправте заявку на підключення компанії, використовуючи офіційний сайт.
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_PAYLINK_TOKEN=iegohye1Aech4zieRahjirah7quie7ee
| Змінна оточення | Опис |
|---|---|
| MODULE_PAYLINK_TOKEN | Токен |
1) Перейдіть до розділу "Settings" - "Tokens".
2) У вікні, що відкриється, натисніть кнопку "Generate" та скопіюйте "API Token".
3) Перейдіть до розділу "Payment pages" - "General" та скопіюйте "Slug" (ID мерчанта).
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_PAYPLAY_ID=agaihoish3oo5Ael MODULE_PAYPLAY_TOKEN=Iciu3shahzuW7iereiTh2olik8Yae1ma MODULE_PAYPLAY_INCLUDE_TX_FEE=false
| Змінна оточення | Опис |
|---|---|
| MODULE_PAYPLAY_ID | ID мерчанта |
| MODULE_PAYPLAY_TOKEN | Токен |
| MODULE_PAYPLAY_INCLUDE_TX_FEE | Включати комісію у суму платежу (true / false) |
1) Перейдіть у розділ "For Developers" і натисніть кнопку "CREATE NEW API".
2) Придумайте та вкажіть ідентифікатор SCI у полі "API NAME".
3) Придумайте та вкажіть секретний ключ у полі "API PASSWORD".
4) Вкажіть IP-адресу вашого сервера у полі "IP ADDRESS".
5) Вкажіть права ключа лише "Make Transactions" і натисніть кнопку "SAVE".
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_VOLET_EMAIL=user@gmail.com MODULE_VOLET_NAME=myapi MODULE_VOLET_SECRET_KEY=Iebaa2fiuchaes3xe4uunoo3co8Jeij1
| Змінна оточення | Опис |
|---|---|
| MODULE_VOLET_EMAIL | Електронна пошта акаунту |
| MODULE_VOLET_NAME | Назва API |
| MODULE_VOLET_SECRET_KEY | Пароль API |
1) Перейдіть у розділ "Settings" і натисніть кнопку "Add API key".
2) Вкажіть IP-адресу вашого сервера в полі "Allowed IP addresses".
3) Скопіюйте "Public key" (публічний API ключ) та "Private key" (приватний API ключ).
4) Активуйте права ключа "make transfers".
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_WESTWALLET_PUBLIC_KEY=Thoesa9oox0Nuthae3arohsai2ooy6oa MODULE_WESTWALLET_PRIVATE_KEY=aekohth4fi7Noovoo6eifu0Koom2loo8 MODULE_WESTWALLET_PRIORITY=medium
| Змінна оточення | Опис |
|---|---|
| MODULE_WESTWALLET_PUBLIC_KEY | Публічний API ключ |
| MODULE_WESTWALLET_PRIVATE_KEY | Приватний API ключ |
| MODULE_WESTWALLET_PRIORITY | Комісія за транзакцію (low, medium, high) |
1) Натиснувши на аватар, перейдіть у розділ "API" і натисніть кнопку "Generate a new key".
2) Скопіюйте "Key" (публічний API ключ) та "Secret key" (приватний API ключ).
3) Вкажіть права ключа: "Codes" - "/api/v4/main-account/codes".
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_WHITEBITCODE_PUBLIC_KEY=eemeeGoobaiPh4pair5quie8veepan9a MODULE_WHITEBITCODE_PRIVATE_KEY=ooteY5aekawohTee7jeibee8voh8Te8o
| Змінна оточення | Опис |
|---|---|
| MODULE_WHITEBITCODE_PUBLIC_KEY | Публічний API ключ |
| MODULE_WHITEBITCODE_PRIVATE_KEY | Приватний API ключ |
1) Натиснувши на аватар, перейдіть у розділ "API" і натисніть кнопку "Generate a new key".
2) Скопіюйте "Key" (публічний API ключ) та "Secret key" (приватний API ключ).
3) Вкажіть права ключа: "Withdrawal" - "/api/v4/main-account/withdraw-pay", "Wallet balance and history" - "/api/v4/main-account/history" та "Balance transfer" - "/api/v4/main-account/transfer", "/api/v4/main-account/fee", "Order management" - "/api/v4/order/stock_market", якщо ви плануєте використовувати функцію автоматичної покупки.
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_WHITEBITCRYPTO_PUBLIC_KEY=xuanohHahchaingoQu1iedai8ju0Poo7 MODULE_WHITEBITCRYPTO_PRIVATE_KEY=AimeQuaecoafeiw3ooroahei2eva4ooJ MODULE_WHITEBITCRYPTO_TRADE_CURRENCY=USDT MODULE_WHITEBITCRYPTO_TRADE_ASSETS=BTC,ETH
| Змінна оточення | Опис |
|---|---|
| MODULE_WHITEBITCODE_PUBLIC_KEY | Публічний API ключ |
| MODULE_WHITEBITCODE_PRIVATE_KEY | Приватний API ключ |
| MODULE_WHITEBITCRYPTO_TRADE_CURRENCY | Дозволені до автоматичної купівлі валюти (через кому) |
| MODULE_WHITEBITCRYPTO_TRADE_ASSETS | Базова валюта для торгівлі |
1) Натиснувши на аватар, перейдіть у розділ "API" і натисніть кнопку "Generate a new key".
2) Скопіюйте "Key" (публічний API ключ) та "Secret key" (приватний API ключ).
3) Вкажіть права ключа: "Withdrawal" - "/api/v4/main-account/withdraw-pay".
Отримані дані необхідно вказати у файлі змінних оточення.
Приклад заповнення:
MODULE_WHITEBITFIAT_PUBLIC_KEY=ieXohphohNae8Goh7uumoR6aiyixeiNg MODULE_WHITEBITFIAT_PRIVATE_KEY=eil0wieghoh8eechexung8zub8aif0Qu MODULE_WHITEBITFIAT_PROVIDER_CARD=CARDUAH,MONOBUAH,P24UAH MODULE_WHITEBITFIAT_PROVIDER_GEOPAY=GEOPAYUAH MODULE_WHITEBITFIAT_PROVIDER_VOLET=ADVCUSD
| Змінна оточення | Опис |
|---|---|
| MODULE_WHITEBITFIAT_PUBLIC_KEY | Публічний API ключ |
| MODULE_WHITEBITFIAT_PRIVATE_KEY | Приватний API ключ |
| MODULE_WHITEBITFIAT_PROVIDER_CARD | Валюти провайдера Visa/MasterCard (через кому) |
| MODULE_WHITEBITFIAT_PROVIDER_GEOPAY | Валюти провайдера GeoPay (через кому) |
| MODULE_WHITEBITFIAT_PROVIDER_VOLET | Валюти провайдера Volet (через кому) |