ПОЧАТОК РОБОТИ

Документація

Встановлюй, приймай платежі й доглядай за сервером.

Тут уперше? Скористайся покроковими посібниками →

Вимоги до VPS

Використовуй новий VPS із Linux і доступом root, не наявний сервер сайту чи бази даних. Docker, компілятор і вузли блокчейнів не потрібні.

VPSМінімум
Невелике навантаження
Рекомендовано
CPU1 vCPU2 vCPU
RAM2 GB4 GB
SSD20 GB60 GB

Мінімум - це початкова конфігурація для невеликого навантаження на мінімальних образах Ubuntu/Debian, не гарантія продуктивності. Розмір диска включає Linux; перед налаштуванням залиш щонайменше 3 GiB вільного місця, а також простір для оновлень, історії й резервних копій.

Нативний інсталятор потребує x86-64, systemd 247+ і Python 3.9+. ARM64 та Alpine/OpenRC не включено.

Версії Linux і примітки щодо ресурсів
  • Ubuntu 22.04+ або Debian 12+; Mint 21+ і Pop!_OS 22+.
  • Fedora 42+; Rocky, AlmaLinux, RHEL, Oracle Linux або CentOS Stream 9–10.
  • openSUSE Leap 16+ або Tumbleweed; Arch, Manjaro чи EndeavourOS.

Обери випуск, який підтримує постачальник. Вищі вимоги ОС мають пріоритет: openSUSE Leap 16 потребує понад 40 GB диска.

Більше блокчейнів і одночасних рахунків можуть потребувати більше CPU та RAM. Потужніший VPS не усуває квот RPC. Процеси встановлення мають автоматизовані тести; повне тестування на новому VPS виконано не для кожного дистрибутива.

Встановити

Скеруй ці стандартні імена хостів на свій VPS або обери власні:

  • merchant.example.com: панель
  • pay.example.com: оплата
  • api.example.com: API

Під час налаштування використовуй записи лише DNS. Відкрий TCP 80/443 в обох брандмауерах і збережи доступ SSH. Ніколи не відкривай PostgreSQL або застосунок на портах 5432/8080.

bash <(curl -fsSL https://releases.whollycrypto.com/setup_wholly.sh)

Інсталятор перевіряє завантаження й налаштовує PostgreSQL, Nginx, HTTPS та служби. Віддаєш перевагу контейнерам? Переглянь необов’язкове встановлення Docker.

Спочатку перевір або віднови налаштування

Потрібен конкретний випуск? На новому VPS додай --version 7.8.1 , щоб установити саме цю підписану версію. Без цього використовується найновіший стабільний випуск.

Відновлення зберігає обраний випуск і завершені кроки, зокрема з резервним джерелом GitHub. Воно ніколи не знижує версію наявної інсталяції.

Переглянь інсталятор. Додай --check до команди для перевірки сумісності без встановлення або --help , щоб побачити параметри.

Віднови збережений поступ без заміни ключів чи налаштувань:

bash <(curl -fsSL https://releases.whollycrypto.com/setup_wholly.sh) --resume

Додаткові базові домени можуть використовувати ті самі назви служб. Усі записи IPv6 також мають вказувати на цей VPS. Увімкни проксі Cloudflare лише після перевірки домену.

Початкове налаштування

  1. Введи дані HTTP Basic. Створи обліковий запис адміністратора, обери мову/часовий пояс і переглянь ліцензію і політику приватності.
  2. Перевір Налаштування → Підключення блокчейнів. Використовуй справних незалежних резервних провайдерів, які підтримують сканування платежів.
  3. Створи проєкт, а потім його перший магазин.
  4. Зроби резервні копії гаманців проєкту. У магазині обери прийнятні блокчейни й перевірені токени.
  5. Налаштуй валюту, підтвердження, термін дії, спред і допустиму недоплату. Перевір баланс на обробку перед створенням рахунків.

QR-коди запитують повну несплачену суму. Допуск лише дозволяє недоплату; вимоги до підтверджень залишаються.

Суми стейблкоїнів

Нові котирування розпізнаних стейблкоїнів округлюються вгору: 1.321 USDC → 1.33 USDC, навіть із нульовим допуском. Мінімум: 0,01 токена.

Наявні рахунки, баланси й залишки часткових платежів залишаються точними. Інші/власні токени зберігають звичайну точність.

Автоматична активація

Реєстрація адміністратора автоматично реєструє рахунок для обробки за твоїм e-mail з одноразовими вітальними коштами в еквіваленті 10 USD . Код активації не потрібен.

Створити рахунок. Очікувана активація повторюється автоматично; повторні підключення не надають коштів знову.

Дані входу й стандартні значення

Дані входу Basic Auth зберігаються в /root/whollycrypto/config/setup-credentials.txt. Вони відокремлені від e-mail/пароля панелі.

Нові проєкти успадковують стандартні системні валюту й часовий пояс; магазини використовують валюту проєкту. Часові пояси наявних облікових записів керуються окремо в Налаштування → Обліковий запис.

whollycrypto welcome показує URL твоєї панелі.

Режим Merchant або Operator

Нові інсталяції від 7.0.0 обирають режим під час налаштування першого адміністратора. Це неможливо скасувати; зміна режиму потребує нової інсталяції. Інсталяції до версії 7 залишаються в режимі Merchant, навіть без адміністратора.

Merchant: керуй власними проєктами й магазинами. Operator: розміщуй окремі бізнеси мерчантів в одній інсталяції та стягуй власну передплачену комісію за обробку. Власний бізнес включено без внутрішньої комісії оператора.

Налаштуй розміщення мерчантів
  1. Спільні вузли, курси, домени, баланс інсталяції та оновлення належать до панелі Operator.
  2. Відкрий Гаманці → Створити гаманці для отримання для BTC, ETH та Ethereum USDC/USDT. Зроби резервні копії обох незалежних фраз відновлення. Цей окремий проєкт не може виставляти рахунки продажу; наявний магазин для отримання зберігається.
  3. Додай мерчанта з валютою балансу, комісією та e-mail адміністратора. Приватно передай запрошення й Basic Auth мерчанта. Пароль він обирає сам. Ніколи не передавай Basic Auth оператора.
  4. Мерчанти поповнюють баланс через твою сторінку оплати або ти записуєш коригування балансу з поясненням. Для створення проєктів/магазинів потрібні кошти. Керуй користувачами й історією балансу в Мерчанти → Керування.

Налаштування Operator запитує четверту адресу, наприклад operator.example.com, та власні ім’я користувача й пароль Basic Auth. Обери назву, скеруй DNS на VPS, перевір DNS і активуй HTTPS. Панель відкривається прямо за цією адресою. Адреси мерчанта, оплати й API залишаються окремими.

Використовуй нові дані Basic Auth оператора, а потім e-mail/пароль адміністратора. Basic Auth мерчанта не змінюється. Налаштування можна відновити після помилок DNS або сертифікатів. Оператори, які оновлюються з 7.0.0, також виконують цей крок; наявні активні адреси залишаються доступними.

Комісії, ізоляція й відповідальність

За ставки 3% рахунок на 100 EUR коштує 3 EUR балансу мерчанта. Якщо валюта балансу відрізняється, разом із комісією зберігається фіатний курс на час створення.

Оператор окремо сплачує звичайну комісію інсталяції Wholly Crypto. Кошти клієнтів не діляться on-chain. Придбання коштів на обробку не обкладається повторною комісією.

Лише автоматично перевірений розрахунок зараховує поповнення. Відкриття сторінки оплати або ручне прийняття рахунку цього не робить. Скасування створюють записи в реєстрі; скасоване поповнення, що повернулося, потребує перевірки оператора.

Низький баланс розміщеного мерчанта призупиняє IPN, вебхуки, sweep і створення нових проєктів/магазинів. Наявні клієнтські рахунки й отримання працюють далі. Низький баланс інсталяції може призупинити автоматизацію всіх розміщених бізнесів. Вимкнення мерчанта також блокує вхід і нові рахунки, але старі платежі й далі відстежуються.

Це ізоляція на рівні застосунку, не окремий VPS для кожного мерчанта. Мерчанти не мають доступу до проєктів, гаманців, даних API, бірж чи балансу одне одного. Адміністратор сервера може отримати доступ до ключів розміщених гарячих гаманців. Повідом мерчантів до підключення; використовуй надійний хостинг, незалежні резервні копії та достатні ресурси для спільних навантажень.

Фінанси оператора й запрошення

Доступно в режимі Operator від 7.1.0.

Гаманці й фінанси

Від 7.2.0 розділ Гаманці керує балансами отримання, адресами й резервними копіями; Sweep обробляє надсилання й автоматичні правила. Зберігай ETH для комісій токенів. Поповнення мерчантів відстежують їхні покупки. Баланс у заголовку окремо покриває комісії інсталяції. Мій бізнес відкриває твою власну панель у новій вкладці.

Відкрий Фінанси для зароблених комісій, перевірених нарахувань інсталяції, орієнтовної маржі й поточних балансів мерчантів. Фільтруй за датою, мерчантом або валютою звітності; експортуй CSV.

Звіти групують рахунки за першим розрахунком і враховують останні скасування комісій. Передплачені баланси не є доходом. Нарахування власного бізнесу відокремлені. Очікувані нарахування або відсутні курси роблять відповідну маржу недоступною. Конвертовані суми використовують поточні кешовані фіатні курси; газ і поточні витрати не включено.

Запрошення користувачів або скидання паролів

Додати мерчанта створює запрошення. Від 7.3.0 обери безплатний початковий баланс у валюті балансу мерчанта; нуль дозволено. Це не поповнює баланс оператора. Надіслати запрошення електронною поштою позначено за замовчуванням.

Налаштуй свого SMTP-провайдера в Налаштування → Пошта запрошень заздалегідь, із TLS або STARTTLS. Тест підключення не надсилає листа. Або вимкни e-mail і передай посилання приватно. Невдала відправка зберігає обліковий запис і баланс; не створюй мерчанта знову.

Щоб отримати інше посилання або скинути пароль, відкрий Мерчанти → Керування → Облікові записи користувачів. Прийняття SMTP не гарантує доставки до скриньки. Передавай Basic Auth мерчанта окремо, ніколи не передавай дані оператора.

Запрошення діють 48 годин; скидання - одну годину. Кожне працює один раз. Заміни або відклич посилання на тому самому екрані. Скидання завершує наявні сеанси, але залишає 2FA ввімкненою. Basic Auth мерчанта все ще потрібен.

API оператора

Автоматизуй розміщених мерчантів за допомогою SDK 2.6.0 і Wholly Crypto 7.4.0+. Увімкни Operator → Налаштування → API оператора, а потім створи серверний ключ з обмеженою областю доступу.

Підключення, дозволи й безпечні повторні спроби

Створюй облікові записи безпосередньо з паролем або надсилай запрошення. Керуй користувачами, проєктами, магазинами, комісіями й локальними передплаченими балансами; читай звіти та підписуйся на підписані події життєвого циклу. Згода на зберігання коштів під час першого входу, 2FA та ізоляція орендарів залишаються чинними.

Кожен запис потребує збереженого ключа ідемпотентності. Надання коштів - це локальне коригування облікового запису, не поповнення інсталяції. Секрети гаманців, надсилання й конфігурація сервера не входять до цього API.

Використовуй api.your-domain.com/v1/operator. Зберігай ключі Operator на бекенді, ніколи в браузері чи в розміщеного мерчанта.

Довідник API оператора й дозволи → · Офіційні SDK та приклади →

Гаманці й токени

Розділ Налаштування → Токени спочатку завантажує 250 токенів, а потім решту каталогу.

Проєкт → Гаманці → Резервна копія всіх експортує TXT або придатний до пошуку офлайн-HTML із QR-кодами. Обидва розкривають ключі й фрази відновлення. Зберігай приватну копію поза сервером; ніколи не передавай і не завантажуй її в інтернет.

Root має доступ до ключів. Посібники з відновлення гаманців пояснюють адреси рахунків, нативний газ і зовнішні резервні копії Monero/Lightning.

Збережені адреси й свіжі баланси

Налаштування → Адресна книга: збережи блокчейн/адресу. Нативні монети й зіставлені токени CoinGecko з’являються автоматично. Лише читання, керує адміністратор; приймання на сторінці оплати не змінюється.

Зчитувачі токенів охоплюють 22 блокчейни. Приватні баланси й надбудови Bitcoin/CashTokens/Kaspa потребують окремого доступу або індексаторів. Невдалі зчитування показують помилки, не нулі.

Збирай баланси рахунків до іншого гаманця за допомогою ручного надсилання або автоматичного sweep. Перекази токенів також потребують нативної монети блокчейна для комісій.

Ціна недоступна стосується курсів, не балансів.

Додати власний токен
  1. Магазин → Способи оплати → EVM або Solana → Власний токен.
  2. Введи контракт/mint, назву й тикер. Обери фіксовану ціну в USD або автоматичну ціну DEX.

Мережа й кількість десяткових знаків перевіряються. Ціни на рівні проєкту не змінюють наявних котирувань. Сам збіг у каталозі не вмикає оплату.

Автоматичне ціноутворення

DEX Screener потребує пулу з точним контрактом, ліквідності 10 000 USD і угоди протягом останньої години. Курси оновлюються щохвилини; недоступні або старші за п’ять хвилин курси блокують нові котирування.

Цінами DEX можна маніпулювати; перевірки не є аудитом. Використовуй надійні стандартні ERC-20 або класичні SPL-токени. Token-2022 і розширення не підтримуються. Без відповідного пулу використовуй фіксовану ціну.

Валюта й часовий пояс

Налаштування → Система → Регіональні стандартні значення задає валюту/часовий пояс нових проєктів і часовий пояс нових облікових записів. Наявні налаштування й баланси не змінюються; валюту панелі можна перевизначити.

Особистий часовий пояс: Налаштування → Обліковий запис → Редагувати користувача.

Створити рахунок

Використовуй Способи оплати → Обрати для цього рахунку , щоб звузити перелік прийнятних блокчейнів/токенів. Усі способи оплати магазину зберігає стандартні значення.

  1. Відкрий Проєкт → Рахунки → Створити рахунок.
  2. Обери магазин, фіатну валюту й суму.
  3. Поділися посиланням на оплату. Клієнт обирає доступний блокчейн/токен і бачить QR-код, залишок суми, термін дії та підтвердження.

Перед запуском перевір невеликий платіж кожним способом. Перевір рахунок перед виконанням замовлення: URL повернення не є доказом оплати.

Для інтеграцій перевіряй підписані IPN/вебхуки й підтверджуй статус через API рахунків. Сприймай дублікати події як ту саму подію.

API: фільтруй payment_methods за chain_slug і asset_tickers. Неактивні варіанти ігноруються; відсутність збігів означає стандартні способи магазину. Вибір лише блокчейна включає всі активні активи. Однакові тикери потребують ID активів. Гаманці й курси залишаються необхідними.

Суми й підтвердження

Сканер офлайн? Рахунки зберігають налаштовані способи, поки виявлення очікує. Перевір підтримувані API в Підключеннях блокчейнів; справний не означає сумісний зі сканером. За замовчуванням: два незалежні провайдери.

Гаманці/курси залишаються необхідними. Сервіси Monero/Lightning мають видати платіжні запити.

Помилки API/MCP включають error.details.payment_methods. SDK 2.4.0 додає безпечні пояснення: PHP getPaymentMethodIssues(), Python payment_method_issues, Node paymentMethodIssues. Довідник помилок →

Криптокотирування округлюються вгору й включають спред магазину. Рахунок із ціною у фіаті не конвертує отриману криптовалюту в банківський баланс.

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

API сканерів

Перевір Підключення блокчейнів щодо сумісних API, повної історії й незалежних провайдерів. Надолуження історії через сирі вузли потребує часу. Усі API отримання →

Платежі, баланси й обслуговування ділять бюджети провайдерів. Перевірки за відсутності активності сповільнюються. Старі рахунки зберігають моніторинг пізніх платежів/реорганізацій, до одного разу на годину після надолуження. Доступні підказки WSS доповнюють HTTP-сканування. Закриття сторінки оплати ніколи не зупиняє виявлення. Публічні вузли все одно мають обмеження; Wholly Crypto не запускає вузлів.

Рахунки з нульовою сумою

Заблоковано за замовчуванням. Увімкни Магазини → Рахунок → Дозволити рахунки з нульовою сумою , щоб дозволити нульові суми вручну/через API. Вони завершуються відразу, без платежу, адреси отримання, транзакції чи комісії за обробку.

Оплата

Магазин → Оплата: кольори, логотипи, способи, посилання, розміри шрифтів вступу/завершення та видимість назви проєкту/магазину. Нові магазини успадковують дизайн стандартного магазину. Зміни зберігаються автоматично.

Попередній перегляд не приймає платежів. Власні HTML/CSS/JavaScript не підтримуються.

Спробувати демо.

IPN та вебхуки

IPN надсилає кожну подію рахунку на URL магазину або поле рахунку ipn_url. Вебхуки надсилають обрані події. Обидва передають ту саму JSON-миттєву копію через POST.

Коли виконувати замовлення? Для обробки за подіями використовуй event_type = invoice.settled з status = settled. Перевір поточний рахунок і своє замовлення, а потім виконай його один раз. payment.received саме по собі недостатнє.

Статус і події: приклади Ethereum та Solana

status стан рахунку на час створення події; event_type повідомляє, що сталося.

  • Приклад Ethereum: payment.received + processing, а потім invoice.settled + settled.
  • Приклад Solana: уже остаточний під час виявлення, тому payment.received і invoice.settled обидві містять settled.

Обидва варіанти можливі й в інших блокчейнах. Це окремі події, не обов’язково два платежі. Вони можуть мати спільне sequence , але різні event_id значення. Порядок доставки не гарантовано; не вимагай processing першою.

Статуси й дані зворотних викликів
Статус рахункуЗначення
newОчікує оплати
processingЧасткова оплата або очікування остаточності
settledПрийнято за правилами рахунку або вручну
expiredТермін минув; моніторинг пізніх платежів може тривати
invalidПлатіж потребує перевірки або його відхилено
cancelledСкасовано, не повернено

Події: invoice.created, payment.received, invoice.processing, invoice.settled, invoice.expired, invoice.invalid, invoice.cancelled. Повна таблиця подій і правила винятків →

amount_status: none, partial, paid, overpaid. paid враховує допуск, не остаточність. timing_status: on_time або late. resolution: automatic, manually_settled або manually_invalidated. Застосовуй свою політику винятків, коли requires_review має значення true.

invoice_id відповідає відповіді API. amount, currency і order_id описують початкове замовлення. payment_info додає перекази, точні криптосуми, зафіксовані котирування/спред/допуск і довідкові курси. Дані клієнтів і метадані приватні.

paid_chain, paid_asset, paid_payment_method_id, paid_asset_amount, paid_asset_amount_received і settlement_exchange_rate підсумовують розрахунок. Вони залишаються зафіксованими; відсутні докази/історія залишаються null. Для пізніших надходжень використовуй payment_info або API платежів.

Використовуй десяткові рядки. Ніколи не об’єднуй активи й не вважай непідтверджені кошти відсутніми. Явно обробляй винятки; саме попередження ніколи не дозволяє виконання замовлення чи повернення. Перевірені внутрішні поповнення газу не є платежами клієнтів і не запускають payment.received.

Секрети підпису, повторні спроби й історія доставки

Окремі секрети підпису: Магазин → IPN підписує доставки IPN, зокрема власне поле рахунку ipn_url. Кожна кінцева точка в Магазин → Вебхуки має власний секрет, який показується під час створення або ротації.

Обидва використовують Wholly-Signature і той самий верифікатор SDK, але потребують відповідного секрету, не ключа API. Ротація секрету IPN не змінює секретів вебхуків.

Перевіряй сире тіло запиту, часову позначку й область проєкту/магазину. Надійно збережи, а потім поверни HTTP 2xx. Робочий процес перевіряє поточний рахунок через налаштований хост API й виконує замовлення один раз у транзакції бази даних. Заголовки не підписані; використовуй підписану ідентифікацію в тілі версії 2.

На основі подій: усувай дублікати підписаного event_id, потім фільтруй invoice.settled. SDK на основі стану: об’єднуй проєкт + invoice_id + sequence, потім перевіряй стан незалежно від типу події. Не додавай фільтр подій після такого об’єднання. Обом підходам потрібен окремий захист від дублікатів на рівні замовлення.

Повторні спроби зберігають початкове тіло й ID події. Старіші ревізії не мають перезаписувати новіші. IPN робить до восьми спроб; повтори вебхуків необов’язкові. Низький баланс призупиняє доставку, не платежі.

Магазин → IPN / Вебхуки → Історія → Подробиці показує збережене тіло й результат. Дані повідомлень видаляються через 90 днів. Повторне надсилання не є доказом розрахунку.

Повні дані, таблиця подій і приклади приймачів →

Біржова конвертація

Надсилай підтримувані активи на Kraken, Binance або Coinbase. Зберігай монету або конвертуй зараховані депозити. Фіат залишається на біржі.

Мінімуми депозитів діють для кожної транзакції, не для всього sweep. Депозити нижче мінімуму зупиняють план. Спочатку об’єднай невеликі баланси у власному гаманці; діють додаткові мережеві комісії.

Підключи й обери маршрут
  1. Налаштування → Біржі: підключи окремий ключ, перевір баланси й надай доступ проєктам. Без дозволів на виведення; обмеж ключ IP-адресою VPS.
  2. Проєкт → Sweep: перевір актив, мережу, адресу й контракт токена. Для кожного блокчейна/токена обери або інший гаманець, або одну біржу.

Ринки оновлюються кожні дві хвилини. Конвертувати можна лише зіставлені зараховані депозити; застарілі ринки зупиняють нові ордери. 1% вихідної суми залишається на біржі як резерв для комісій/округлення, окремо від коштів на обробку.

Зберігати мінімальну суму резервує монети/токени в межах усього проєкту після автоматичного sweep. Це окремо від порога запуску; нуль нічого не зберігає. Комісії використовують надлишок. Ручне надсилання не змінюється.

Відновлюй невизначені перекази; ніколи не замінюй їх. Гаманці залишаються зарезервованими до підтвердження або завершення терміну невикористаного котирування. Великі sweep потребують поділу на пакети.

Діють зберігання на біржі, KYC, регіональні обмеження й комісії. Без банківських виплат і кредитного плеча. Низький баланс призупиняє нові конвертації; подані ордери й далі звіряються.

Кошти на обробку

Ти й далі отримуєш платежі, коли баланс закінчується. Наявні магазини зберігають рахунки, оплату й моніторинг платежів. Відсутнє перевірене підключення розрахунків або призупинення облікового запису - інше обмеження, яке може блокувати нові рахунки.

Залишається доступнимПризупиняється без доступних коштів
Рахунки, оплата й підтвердженняIPN/вебхуки, зокрема повторні спроби
Гаманці, баланси й резервні копіїSweep: надсилання, газ, повернення й нові біржові конвертації
Звіти, API читання й наявні налаштуванняСтворення проєктів і магазинів
Перевірка оновлень і відновлення перерваного оновленняВстановлення нових версій

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

Автоматичне поповнення балансу

Відкрий Автопоповнення після Запитів. Обери гаманець отримання з резервною копією, поріг, суму покупки, денний ліміт і межу мережевої комісії. Авторизуй і збережи. Спочатку воно вимкнене.

Використовуй BTC, ETH або Ethereum USDC/USDT, коли вони пропонуються. Адресам надсилання токенів потрібен ETH; це правило не фінансує відсутній газ. Оператори використовують окремі гаманці отримання; розміщені мерчанти платять своєму оператору.

Затверджене поповнення може працювати, поки низький баланс призупиняє Sweep. Лише сервіс отримання підтверджує зарахування коштів. Одночасно виконується одна автоматична покупка. Вимкнення зупиняє ненадіслані дії, не подані транзакції.

Відновлення автоматичного платежу

В Автопоповненні використовуй Перевірити платіж. Віднови той самий чинний платіж або закрий перевірений невдалий переказ Ethereum і призупини правило. Очікувані чи невизначені платежі залишаються утриманими, щоб запобігти дублюванню надсилання. Прострочене котирування не є доказом невдачі.

Комісії й відновлення повного доступу

Стандартний 1% використовує початкову фіатну вартість розрахованого рахунку. Криптоплатежі клієнтів не діляться.

Комісії й далі нараховуються, утворюючи від’ємний баланс. Погаси від’ємну суму й віднови доступні кошти вище пільгового порога облікового запису. Зміни балансу зазвичай з’являються протягом 10–15 секунд за справного підключення.

Встановлення оновлень потребує перевіреного балансу вище нуля, навіть із пільговим допуском для автоматизації. Поповнення ніколи не встановлює оновлення автоматично.

Призупинені сповіщення не витрачають спроб. Збережені доставки відновлюються; звичайний термін дії все ще застосовується. Звіряй пропущені події через API рахунків.

Якщо оператор вимикає комісії за обробку, нові комісії й обмеження балансу не застосовуються. Попередні нарахування залишаються в історії. Неприв’язана інсталяція може налаштовувати проєкти/магазини, але для виставлення рахунків потрібні перевірені розрахунки. Уже виставлені рахунки й далі відстежуються.

Звіти

Графіки доходу й фільтри залишаються над вкладками: Проєкти й магазини, Рахунки, Гаманці і Операції sweep. Пошук нижче. Розділ Проєкти й магазини включає експорт CSV. Власні діапазони дат охоплюють до 366 днів. Гаманці використовують кешовані баланси.

Як обчислюються показники звітів
  • Дохід показує вартість розрахованих рахунків до комісій/повернень за датами розрахунку. Це не баланс гаманця й не прибуток.
  • Конвертації використовують поточні кешовані курси, не історичні бухгалтерські. Підсумки у вихідних валютах залишаються доступними за відсутності курсів.
  • Графіки статусів рахунків використовують дати створення рахунків. Показники Потребує уваги відображають поточні невирішені проблеми.

ШІ-помічники · MCP

Добровільно ввімкнений доступ у межах проєкту за адресою api.example.com/mcp. Читай платежі або дозволь створення рахунків. Налаштування MCP і дозволи →

Плагіни магазинів

PrestaShop → · OpenCart → · Усі плагіни →

SDKs

Використовуй офіційні SDK для створення рахунків, перевірки платежів і верифікації IPN/вебхуків.

PHP SDK

PHP 7.4+

Додай криптоплатежі до PHP-застосунку через Composer.

composer require whollycrypto/php-sdk
GitHub і приклади ↗

Python SDK

Python 3.10+

Підключи Python-застосунок або бекенд без залежностей часу виконання.

python -m pip install whollycrypto
GitHub і приклади ↗

Node.js SDK

Node.js 22+

JavaScript або TypeScript: один пакет npm із вбудованими типами.

npm install whollycrypto
GitHub і приклади ↗

Використовуй домен API своєї інсталяції й зберігай ключі API на сервері. Усі SDK мають ліцензію MIT.

Платіжні інструменти

Відкрий Проєкт → Платіжні інструменти й обери магазин. Поділися багаторазовим посиланням на оплату, приймай платежі в точці продажу або плануй платіжні запити електронною поштою.

Обери ціну й процес оплати
  • Фіксований фіат: кожна нова оплата використовує поточні криптокурси й спред магазину, а потім фіксує котирування до завершення терміну.
  • Фіксована криптовалюта: запитуй точну кількість одиниць одного прийнятного активу on-chain. Свіжа фіатна вартість, округлена вгору, записується для звітності й комісій; спред не змінює криптосуму.
  • Пожертви: дозволь клієнтам вводити суму в заданих межах. Додай швидкі суми й необов’язкові поля імені/e-mail.
  • Точка продажу: введи суму або номер замовлення й покажи QR-код оплати. Дочекайся settled, не лише виявлення платежу.
  • Заплановані запити: надсилай один раз, щотижня або щомісяця в обраному часовому поясі. Клієнти самостійно оплачують кожен рахунок. Без автоматичного списання з гаманців.

Оформлення магазину, підтвердження й зворотні виклики залишаються чинними. Призупинення інструмента зупиняє нові запити, не наявні платежі. Історія містить посилання на кожен рахунок. Пропущені періоди не створюють сплеску листів; повторне надсилання використовує той самий неоплачений рахунок із чинним терміном.

Клієнтська оплата, платіжні посилання й заплановані листи підтримують англійську, німецьку, іспанську, бразильську португальську, італійську, російську, спрощену китайську, французьку, корейську та японську.

Магазин → Рахунок → Мова оплати задає стандартну мову. Перевизначай її для рахунку або платіжного інструмента. Листи й повторні надсилання зберігають мову рахунку. Твій текст не змінюється; панелі Merchant та Operator залишаються англійською.

Вихідна пошта

У Налаштування → Система, під Обмеженнями за IP-джерелом, увімкни SMTP з публічним іменем хоста провайдера, логіном, відправником і необов’язковою адресою відповіді. Використовуй TLS на порту 465 або STARTTLS на 587.

Збережи, перевір підключення, а потім надішли тестовий лист собі. Налаштуй SPF/DKIM у провайдера. Прийняття SMTP не гарантує доставки до скриньки.

Заплановані запити використовують системний SMTP. Канали сповіщень також можуть його обрати; наявні налаштування каналів і запрошень Operator не змінюються. Лише адміністратор інсталяції керує цими зашифрованими даними доступу. Помилки подання листа потребують явного повторного надсилання.

Сповіщення й попередження

Дзвіночок відкриває вхідні сповіщення. Вибір теми розташовано в меню налаштувань.

Налаштуй канали й правила
  1. Відкрий Налаштування → Сповіщення й попередження. Сповіщення в панелі вбудовані.
  2. Для e-mail або Telegram додай канал, надішли код перевірки й введи його. Потім увімкни канал і обери його в правилах.
  3. Обери попередження про винятки платежів, невдалі зворотні виклики, проблеми переказів, низький газ, затримку сканування, низький баланс або невдалі резервні копії. Сповіщення про розраховані платежі необов’язкові.

Повторювані проблеми групуються. Історія зберігається 30 днів; дозволи проєкту залишаються чинними. Прочитання попередження не вирішує проблему. Сповіщення для людей не замінюють IPN чи вебхуки магазину.

Marketplace

Увімкни Проєкт → Marketplace, обери магазини й зареєструй продавців із незалежно перевіреними адресами отримання. Створи один рахунок із точними частками продавців; затверджуй виплати вручну або налаштуй автоматичні політики з обмеженнями.

Налаштувати платежі для кількох продавців

Лише основна мережа Bitcoin і підтримувані монети EVM/ERC-20. Клієнти спочатку платять до гаманців під контролем проєкту, не безпосередньо продавцям. Зберігай вільні нативні монети для комісій. Звичайний sweep виключає захищені адреси отримання.

Комісія за обробку стягується один раз із початкового рахунку, окремо від твоєї комісії. Недоплати й невизначені надходження потребують перевірки. Повернення після виплат продавцям потребують окремих коштів, не автоматичного стягнення назад.

Налаштувати платежі для кількох продавців · Довідник API Marketplace

Облік

Відкрий Налаштування → Облік для Звітів, Транзакцій, Експорту й Перевірок. Панель огляду залишається окремою.

Підготуй звіт для бухгалтера
  1. Обери період, валюту звітності й часовий пояс. Фільтруй за проєктом або магазином, а потім шукай посилання на рахунок, замовлення, актив чи транзакцію.
  2. Переглянь відсутні курси, комісії й винятки платежів у Перевірках. Подробиці містять посилання на наявний рахунок або переказ.
  3. Завантаж ZIP для бухгалтера з підсумком для друку й докладними файлами CSV. До 10 000 записів за одне завантаження; для більших історій обери коротший період.

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

Історичні значення використовують збережені докази, не сьогоднішні ціни. Старі курси й фактичні комісії можуть бути недоступними; відсутні витрати ніколи не вважаються нульовими. Неповні докази залишають чистий підсумок недоступним.

Це охоплює записи, які відстежує Wholly Crypto, не кожну зовнішню транзакцію гаманця чи біржі. Це допомога в обліку, не податкова декларація чи звіт про прибуток. Передавай експорт безпечно: він може містити e-mail клієнтів.

Sweep

Переміщуй отримані кошти до обраного місця. Керуй правилами й історією в Проєкт → Sweep.

Надсилай нативні монети в 29 блокчейнах; Monero залишається лише для перегляду. Токени: перевірені ERC-20 і класичні SPL. Ручне надсилання й автоматичний sweep використовують однакові захисні механізми.

Ручне надсилання: підготуй, перевір, затвердь

До BTC, EVM, SOL і TRX додаються 18 нативних адаптерів. Використовуй провайдера, здатного подавати транзакції. ZEC - лише прозорий; ADA зберігає виходи з токенами; DOT використовує Asset Hub; HBAR потребує реле. Адреси, що вимагають вихідного memo/tag/comment, потребують зовнішнього гаманця.

  1. Відкрий Проєкт → Гаманці → актив → Надіслати. Обери запис адресної книги або введи адресу призначення. Перевір повну адресу й мережу.
  2. Обери точну суму або sweep доступних коштів, а потім рівень комісії. Для підтримуваних токенів Використовувати ETH проєкту для газу (або нативну монету блокчейна) може фінансувати відсутні комісії з того самого проєкту/блокчейна.
  3. Натисни Підготувати переказ. Перевір джерела, призначення, суму, максимальні комісії та виділення газу. Затвердити й надіслати авторизує цей план; сама підготовка нічого не надсилає.

Фінансування газу, підтвердження й надсилання токенів тривають у фоні після затвердження. Стеж у розділі Активність переказів, навіть після закриття вікна. Трансляція не є підтвердженням.

Зберігати в гаманці проєкту ETH: 0 не додає резерву; це не витрачає весь твій ETH. 0.005 залишає щонайменше 0.005 ETH на потім, тому для цього процесу потрібні додаткові кошти. Збережені автоматичні правила не змінюються.

Налаштування автоматичного sweep
  1. Відкрий Налаштування автоматичного sweep → актив → Налаштувати. Обери адресу гаманця або підтримуване біржове призначення, не обидва.
  2. Задай мінімум sweep і Зберігати мінімальну суму. Приклад: запуск при 100 USDC, зберігати 20 USDC, надсилати до 80 USDC. Резерв діє на весь проєкт, не на кожну адресу.
  3. Для токенів перевір Використовувати ETH проєкту для газу і введи Денний ліміт фінансування. Увімкни Автоматичний sweep, потім Зберегти правило й підтвердь. Саме відкриття налаштування нічого не вмикає.

Денний ліміт обмежує нативний газ, виділений кожним правилом токена за ковзні 24 години. 1 EUR може бути початковим лімітом за невеликого навантаження, не гарантованою вартістю чи щоденною платою. Транзакції фінансування також мають комісії. Максимальна мережева комісія, % може обмежувати сумарні комісії фінансування/переказу.

Перевірки виконуються автоматично. Газ отримують лише відповідні адреси з токенами; порожні адреси - ні. Недофінансована адреса нижче мінімуму sweep очікує. Пояснення лімітів газу →

Рекомендовані практики й призупинені перекази
  • Зроби резервні копії гаманців і перевір невеликий переказ. Надсилай токени до виведення нативних монет. ETH в іншому місці проєкту спочатку має потрапити на кожну адресу токенів; невикористаний газ залишається у твоїх гаманцях.
  • Використовуй свіжі баланси, справних провайдерів і достатні нативні кошти. Автоматичні правила потребують активного гаманця з резервною копією та активу, ввімкненого у ввімкненому магазині. Низькі кошти на обробку можуть призупинити надсилання.
  • У Активність переказівперевір поступ, Фінансування газу й посилання на оглядачі. За невизначеного результату онови той самий переказ; не створюй заміну. Відновлюй лише після перевірки причини й лімітів.

Надсилання вимкнено? Перевір whollycrypto transfers status. Переглянь кожне ввімкнене правило перед whollycrypto transfers enable: це діє на весь сервер і може відразу запустити збережені правила. Зупинка майбутніх кроків не може скасувати трансльовані транзакції.

Домени

Налаштування → Система: обери Керування або Додати домен. Збережи, перевір DNS, опублікуй. Незмінені хости пропускають перевірки DNS/SSL.

Домени магазину

Магазин → Основне: обери активні хости мерчанта/оплати/API. Пріоритет посилань: магазин → стандартний магазин → система; виведені з експлуатації назви використовують резервний варіант. Налаштовуй хости SDK окремо. Підписані повторні спроби зберігають початкові посилання.

HTTPS автоматичний. Перемикай Cloudflare після налаштування; Let's Encrypt залишається активним.

Контрольний список Cloudflare
  • Використовуй Full (strict), не Flexible; ключ API не потрібен.
  • Вимкни кешування та перевірки браузера/ботів для панелі, оплати й API.
  • Дозволь /.well-known/acme-challenge/ на порту 80 без перенаправлень/перевірок для поновлення.

Перевірки запитують авторитетний DNS і перевіряють вихідний сервер: напряму або через Cloudflare. Відвідувачі можуть кешувати старіший DNS.

Збереження/видалення в панелі використовують POST від 5.6.2; виняток «Not GET or POST» не потрібен. Вхід і CSRF залишаються активними. На api.*дозволь задокументовані методи публічного API.

Безпека облікового запису

Налаштуй 2FA в Налаштування → Обліковий запис. Користувачі лише проєктів використовують Моя безпека внизу сторінки. Підтвердь пароль, відскануй QR-код/ключ TOTP і введи шестизначний код.

Спробуй Verifyr Authenticator для iOS або Androidабо інший стандартний застосунок TOTP. Збережи одноразові коди відновлення окремо від пароля. Залиш захист HTTP Basic увімкненим.

Відновлення й оформлення

Заміна кодів або вимкнення 2FA потребує пароля та автентифікатора або невикористаного коду відновлення. Інші сеанси завершуються. Синхронізуй годинники телефона/сервера; 2FA не захищає скомпрометований сервер.

Значок теми перемикає Світла → Приглушена → Темна й запам’ятовує вибір цього браузера. Теми оплати магазинів окремі.

Безпека сервера

  • Використовуй ключі SSH й обмежуй SSH довіреними IP. Зберігай перевірене підключення для відновлення.
  • Увімкни проксі Cloudflare після налаштування, використовуючи Full (strict).
  • У Налаштування → Система → Обмеження за IP-джерелом, дозволь довірені IP/діапазони для кожного активного merchant.* або api.* імені хоста. Поточна IP-адреса панелі має залишатися дозволеною.
  • Зазвичай залишай pay.* відкритим: клієнти мають платити звідусіль.
Cloudflare і відновлення заблокованого доступу

За бажанням додай правила доступу Cloudflare. Виключи перевірки поновлення HTTPS; уникай інтерактивних перевірок входу для API й оплати. Сам режим проксі не є обмеженням IP.

Втрачено доступ? Запусти whollycrypto access-reset --domain merchant.example.com через SSH. Лише цей хост знову відкриється протягом п’яти секунд; автентифікація облікового запису залишиться ввімкненою.

Виправлення HTTPS

whollycrypto ssl
whollycrypto ssl --fix

Перша команда перевіряє активні сертифікати. --fix виправляє допоміжні файли TLS і поновлює відсутні сертифікати або ті, строк дії яких спливає. Nginx має працювати; залиш порти 80/443 відкритими.

Перевидати один сертифікат

Запусти whollycrypto ssl --domain merchant.example.com --reissue для примусової заміни. Діють ліміти видачі. Якщо Cloudflare блокує HTTP-перевірку, тимчасово використовуй лише DNS. Гаманці, автентифікація й домени не змінюються.

Щоденні перевірки

  • У розділі Потребує увагиобери рахунки або поточну сторінку, щоб позначити перевіреними, додати примітку чи пересканувати. Фінансові рішення залишаються індивідуальними.
  • Стеж за місцем на диску, затримкою сканера й незалежними резервними вузлами. Публічні кінцеві точки не гарантують пропускної здатності.
  • Оновлюй Linux, обмежуй SSH й надавай користувачам/ключам API лише потрібні проєкти та дозволи.

Рішення потребують причини. Повернення потребує окремого підтвердженого переказу; зміни статусу рахунку ніколи не надсилають грошей.

Оновлення й резервні копії

Прочитай примітки до випуску, потім використовуй Налаштування → Система → Оновлення ПЗ або CLI. Оновлення перевіряють підписи, створюють резервні копії й перевіряють справність. Оплата призупиняється під час встановлення.

whollycrypto update --check
whollycrypto update

Оновлення чекають до двох хвилин на фонові завдання; оплата залишається доступною. Перевищення часу відновлює таймери.

Оновлення з 0.1.31 або ранішої версії

Старий оновлювач заблоковано? Запусти це один раз. Установлений ключ перевіряє допоміжний інструмент.

bash <(curl -fsSL https://releases.whollycrypto.com/update_wholly.sh)

Зберігай перевірені резервні копії поза сервером PostgreSQL, конфігурації, ключів шифрування гаманців і експорту гаманців. Локальні архіви відновлення незашифровані.

Відновлюй відповідні копії бази даних/конфігурації разом. Ніколи не переривай міграції й не запускай старі двійкові файли з новішими базами даних. Правила балансу залишаються чинними.

Резервне завантаження з GitHub

Встановлення й оновлення автоматично пробують офіційне дзеркало GitHub. Перевірки підпису, контрольної суми й балансу залишаються обов’язковими.

CLI сервера

Команди root через SSH.

whollycrypto status
whollycrypto doctor
whollycrypto backup
Усі команди
КомандаПризначення
whollycrypto versionУстановлена версія.
whollycrypto statusСтан застосунку й бази даних.
whollycrypto logsОстанні 80 рядків журналу застосунку.
whollycrypto restartПерезапуск і перевірка справності.
whollycrypto doctorПеревірки інсталяції лише для читання.
whollycrypto doctor --fixВиправлення керованих прав доступу й відсутнього посилання CLI.
whollycrypto htaccessСкидання даних входу Basic Auth.
whollycrypto admin-resetСкидання пароля адміністратора.
whollycrypto 2fa-resetСкидання автентифікатора одного облікового запису без зміни пароля.
whollycrypto transfers status
whollycrypto transfers enable
whollycrypto transfers disable
Перевірка, увімкнення або призупинення надсилання для всіх проєктів. Увімкнення перезапускає застосунок і може відразу запустити збережені правила; потрібне підтвердження. Оновлення зберігають призупинення.
whollycrypto sslПеревірка HTTPS; додай --fix для виправлення.
whollycrypto access-reset --domain HOSTВидалення IP-обмеження одного хоста.
whollycrypto update --checkПеревірка підписаних оновлень.
whollycrypto updateРезервне копіювання, оновлення й перезапуск.
whollycrypto backupАрхів лише для root у /root/whollycrypto/backups/releases/.
whollycrypto recoverВідновлення перерваного обслуговування або оновлення з незміненою схемою. Ніколи не відновлює базу даних автоматично.
whollycrypto resetОбери один проєкт, усі бізнес-проєкти або лише виправлення.
whollycrypto uninstall --check
whollycrypto uninstall
Спочатку перегляд, потім видалення нативного середовища виконання. База даних, ключі й резервні копії залишаються.
whollycrypto welcomeURL панелі й посилання.
whollycrypto --helpКоманди; додай --help після однієї з них, щоб побачити її параметри.
Діагностика проблем інсталяції

Перевірки лише читають дані й завершуються з ненульовим кодом, коли потрібна увага. --fix лише виправляє керовані права доступу й відсутнє посилання CLI. Ніколи не змінює розрахунків, не видаляє даних і не перезапускає служби.

Обери область скидання
whollycrypto reset
# Preview without changing anything:
whollycrypto reset --scope business --check
whollycrypto reset --scope project --project YOUR_PROJECT_IDENTIFIER --check

Обери один проєкт, усі бізнес-проєкти або лише виправлення. Скидання проєктів назавжди стирає обрані проєкти, магазини, записи гаманців і історію платежів. Лише виправлення перевіряє та виправляє керовані права доступу й посилання CLI.

Спочатку вимкни обрані проєкти, розв’яжи відкриті платежі/перекази й перемісти відомі баланси гаманців. Облікові записи, домени, вузли, баланси, платіжна ідентичність і режим інсталяції залишаються. Гаманці отримання оператора й записи балансів розміщених мерчантів захищені. Це не відкриває майстер налаштування знову.

Руйнівне скидання потребує введеного вручну підтвердження й створює перевірену резервну копію відновлення перед стиранням. Також зберігай копію гаманців поза сервером: старі адреси все ще можуть отримувати кошти, але видалені проєкти перестають їх відстежувати. Кешовані баланси не доводять, що гаманці порожні.

Видалення нативної інсталяції
whollycrypto uninstall --check
whollycrypto uninstall

Зупиняє оплату, API й робочі процеси; видаляє файли середовища виконання та керовану серверну інтеграцію після резервного копіювання й введеного підтвердження. Очікувані платежі або перекази блокують видалення. Файли переміщуються до резервної копії відновлення, а не стираються.

База даних, конфігурація, ключі й резервні копії залишаються. Спільні пакети Nginx/PostgreSQL і сертифікати TLS не зачіпаються. Команда виводить команду офлайн-відновлення; не запускай нове встановлення поверх збережених даних.

Команди скидання/видалення призначені для нативних інсталяцій VPS, не Docker чи Umbrel. Для контейнерів використовуй команди резервного копіювання й зупинки своєї інтеграції; зберігай томи. Жодна руйнівна команда не приймає --yes.

Скидання даних входу Basic Auth
whollycrypto htaccess

Обери користувача, задай ім’я/пароль і підтвердь. Це скидає перший запит входу браузера, не обліковий запис панелі. Інші користувачі й дані API не змінюються.

Скидання пароля адміністратора
whollycrypto admin-reset

Обери адміністратора за e-mail і підтвердь новий пароль. Сеанси й блокування входу облікового запису очищуються; IP-обмеження залишаються.

Звичайні скидання зберігають 2FA. Якщо втрачено і автентифікатор, і коди відновлення, явно запусти whollycrypto admin-reset --email admin@example.com --reset-2fa. Налаштуй 2FA знову після входу.

Потребує бази даних, не застосунку чи старого пароля. Інші облікові записи, гаманці й дозволи не змінюються; вимкнені облікові записи залишаються вимкненими.

Скидання 2FA

Втрачено і автентифікатор, і коди відновлення? Обери обліковий запис від root.

whollycrypto 2fa-reset
# Or select the account directly:
whollycrypto 2fa-reset --email user@example.com

Видаляє сеанси, автентифікатор і коди відновлення. Увійди з наявним паролем і налаштуй 2FA знову. Дозволи, гаманці й Basic Auth не змінюються; вимкнені облікові записи залишаються вимкненими.

Потребує бази даних, не застосунку чи коштів. Неінтерактивно: --email і --yes.

Згенеровані паролі й автоматизація

Enter генерує пароль у /root/whollycrypto/config/credential-resets/: приватний, незашифрований, придатний після успішного завершення. Введені вручну паролі не зберігаються.

whollycrypto htaccess --user admin --new-user operator
whollycrypto admin-reset --email admin@example.com

Без термінала вкажи наявний обліковий запис і --generate або --password-file /root/private-password.txt, а також --yes. Файли паролів мають належати root, режим 600. Ніколи не розміщуй паролі в командах або змінних середовища.

--yes лише пропускає підтвердження. Спочатку заверши відновлення перерваного оновлення; одночасні зміни облікових записів зупиняють скидання.