PHP SDK
PHP 7.4+Додай криптоплатежі до PHP-застосунку через Composer.
composer require whollycrypto/php-sdkПОЧАТОК РОБОТИ
Встановлюй, приймай платежі й доглядай за сервером.
Використовуй новий VPS із Linux і доступом root, не наявний сервер сайту чи бази даних. Docker, компілятор і вузли блокчейнів не потрібні.
| VPS | Мінімум Невелике навантаження | Рекомендовано |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 2 GB | 4 GB |
| SSD | 20 GB | 60 GB |
Мінімум - це початкова конфігурація для невеликого навантаження на мінімальних образах Ubuntu/Debian, не гарантія продуктивності. Розмір диска включає Linux; перед налаштуванням залиш щонайменше 3 GiB вільного місця, а також простір для оновлень, історії й резервних копій.
Нативний інсталятор потребує x86-64, systemd 247+ і Python 3.9+. ARM64 та Alpine/OpenRC не включено.
Обери випуск, який підтримує постачальник. Вищі вимоги ОС мають пріоритет: 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 лише після перевірки домену.
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 твоєї панелі.
Нові інсталяції від 7.0.0 обирають режим під час налаштування першого адміністратора. Це неможливо скасувати; зміна режиму потребує нової інсталяції. Інсталяції до версії 7 залишаються в режимі Merchant, навіть без адміністратора.
Merchant: керуй власними проєктами й магазинами. Operator: розміщуй окремі бізнеси мерчантів в одній інсталяції та стягуй власну передплачену комісію за обробку. Власний бізнес включено без внутрішньої комісії оператора.
Налаштування 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 мерчанта все ще потрібен.
Автоматизуй розміщених мерчантів за допомогою 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. Перекази токенів також потребують нативної монети блокчейна для комісій.
Ціна недоступна стосується курсів, не балансів.
Мережа й кількість десяткових знаків перевіряються. Ціни на рівні проєкту не змінюють наявних котирувань. Сам збіг у каталозі не вмикає оплату.
DEX Screener потребує пулу з точним контрактом, ліквідності 10 000 USD і угоди протягом останньої години. Курси оновлюються щохвилини; недоступні або старші за п’ять хвилин курси блокують нові котирування.
Цінами DEX можна маніпулювати; перевірки не є аудитом. Використовуй надійні стандартні ERC-20 або класичні SPL-токени. Token-2022 і розширення не підтримуються. Без відповідного пулу використовуй фіксовану ціну.
Налаштування → Система → Регіональні стандартні значення задає валюту/часовий пояс нових проєктів і часовий пояс нових облікових записів. Наявні налаштування й баланси не змінюються; валюту панелі можна перевизначити.
Особистий часовий пояс: Налаштування → Обліковий запис → Редагувати користувача.
Використовуй Способи оплати → Обрати для цього рахунку , щоб звузити перелік прийнятних блокчейнів/токенів. Усі способи оплати магазину зберігає стандартні значення.
Перед запуском перевір невеликий платіж кожним способом. Перевір рахунок перед виконанням замовлення: 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 отримання →
Платежі, баланси й обслуговування ділять бюджети провайдерів. Перевірки за відсутності активності сповільнюються. Старі рахунки зберігають моніторинг пізніх платежів/реорганізацій, до одного разу на годину після надолуження. Доступні підказки WSS доповнюють HTTP-сканування. Закриття сторінки оплати ніколи не зупиняє виявлення. Публічні вузли все одно мають обмеження; Wholly Crypto не запускає вузлів.
Заблоковано за замовчуванням. Увімкни Магазини → Рахунок → Дозволити рахунки з нульовою сумою , щоб дозволити нульові суми вручну/через API. Вони завершуються відразу, без платежу, адреси отримання, транзакції чи комісії за обробку.
Магазин → Оплата: кольори, логотипи, способи, посилання, розміри шрифтів вступу/завершення та видимість назви проєкту/магазину. Нові магазини успадковують дизайн стандартного магазину. Зміни зберігаються автоматично.
Попередній перегляд не приймає платежів. Власні HTML/CSS/JavaScript не підтримуються.
IPN надсилає кожну подію рахунку на URL магазину або поле рахунку ipn_url. Вебхуки надсилають обрані події. Обидва передають ту саму JSON-миттєву копію через POST.
Коли виконувати замовлення? Для обробки за подіями використовуй event_type = invoice.settled з status = settled. Перевір поточний рахунок і своє замовлення, а потім виконай його один раз. payment.received саме по собі недостатнє.
status стан рахунку на час створення події; event_type повідомляє, що сталося.
payment.received + processing, а потім invoice.settled + settled.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% вихідної суми залишається на біржі як резерв для комісій/округлення, окремо від коштів на обробку.
Зберігати мінімальну суму резервує монети/токени в межах усього проєкту після автоматичного sweep. Це окремо від порога запуску; нуль нічого не зберігає. Комісії використовують надлишок. Ручне надсилання не змінюється.
Відновлюй невизначені перекази; ніколи не замінюй їх. Гаманці залишаються зарезервованими до підтвердження або завершення терміну невикористаного котирування. Великі sweep потребують поділу на пакети.
Діють зберігання на біржі, KYC, регіональні обмеження й комісії. Без банківських виплат і кредитного плеча. Низький баланс призупиняє нові конвертації; подані ордери й далі звіряються.
Ти й далі отримуєш платежі, коли баланс закінчується. Наявні магазини зберігають рахунки, оплату й моніторинг платежів. Відсутнє перевірене підключення розрахунків або призупинення облікового запису - інше обмеження, яке може блокувати нові рахунки.
| Залишається доступним | Призупиняється без доступних коштів |
|---|---|
| Рахунки, оплата й підтвердження | IPN/вебхуки, зокрема повторні спроби |
| Гаманці, баланси й резервні копії | Sweep: надсилання, газ, повернення й нові біржові конвертації |
| Звіти, API читання й наявні налаштування | Створення проєктів і магазинів |
| Перевірка оновлень і відновлення перерваного оновлення | Встановлення нових версій |
Поповнюй через значок балансу. Після перевіреного відновлення ввімкнена автоматизація відновлюється, зокрема правила sweep, що надсилають кошти. Вимкни правила, які не хочеш відновлювати.
Відкрий Автопоповнення після Запитів. Обери гаманець отримання з резервною копією, поріг, суму покупки, денний ліміт і межу мережевої комісії. Авторизуй і збережи. Спочатку воно вимкнене.
Використовуй BTC, ETH або Ethereum USDC/USDT, коли вони пропонуються. Адресам надсилання токенів потрібен ETH; це правило не фінансує відсутній газ. Оператори використовують окремі гаманці отримання; розміщені мерчанти платять своєму оператору.
Затверджене поповнення може працювати, поки низький баланс призупиняє Sweep. Лише сервіс отримання підтверджує зарахування коштів. Одночасно виконується одна автоматична покупка. Вимкнення зупиняє ненадіслані дії, не подані транзакції.
В Автопоповненні використовуй Перевірити платіж. Віднови той самий чинний платіж або закрий перевірений невдалий переказ Ethereum і призупини правило. Очікувані чи невизначені платежі залишаються утриманими, щоб запобігти дублюванню надсилання. Прострочене котирування не є доказом невдачі.
Стандартний 1% використовує початкову фіатну вартість розрахованого рахунку. Криптоплатежі клієнтів не діляться.
Комісії й далі нараховуються, утворюючи від’ємний баланс. Погаси від’ємну суму й віднови доступні кошти вище пільгового порога облікового запису. Зміни балансу зазвичай з’являються протягом 10–15 секунд за справного підключення.
Встановлення оновлень потребує перевіреного балансу вище нуля, навіть із пільговим допуском для автоматизації. Поповнення ніколи не встановлює оновлення автоматично.
Призупинені сповіщення не витрачають спроб. Збережені доставки відновлюються; звичайний термін дії все ще застосовується. Звіряй пропущені події через API рахунків.
Якщо оператор вимикає комісії за обробку, нові комісії й обмеження балансу не застосовуються. Попередні нарахування залишаються в історії. Неприв’язана інсталяція може налаштовувати проєкти/магазини, але для виставлення рахунків потрібні перевірені розрахунки. Уже виставлені рахунки й далі відстежуються.
Графіки доходу й фільтри залишаються над вкладками: Проєкти й магазини, Рахунки, Гаманці і Операції sweep. Пошук нижче. Розділ Проєкти й магазини включає експорт CSV. Власні діапазони дат охоплюють до 366 днів. Гаманці використовують кешовані баланси.
Добровільно ввімкнений доступ у межах проєкту за адресою api.example.com/mcp. Читай платежі або дозволь створення рахунків. Налаштування MCP і дозволи →
Використовуй офіційні SDK для створення рахунків, перевірки платежів і верифікації IPN/вебхуків.
Додай криптоплатежі до PHP-застосунку через Composer.
composer require whollycrypto/php-sdkПідключи Python-застосунок або бекенд без залежностей часу виконання.
python -m pip install whollycryptoJavaScript або TypeScript: один пакет npm із вбудованими типами.
npm install whollycryptoДодай гілку main у Xcode. Налаштування Swift і безпека застосунку →
https://github.com/whollycrypto-com/whollycrypto-swift-sdk.gitВикористовуй домен API своєї інсталяції й зберігай ключі API на сервері. Усі SDK мають ліцензію MIT.
Відкрий Проєкт → Платіжні інструменти й обери магазин. Поділися багаторазовим посиланням на оплату, приймай платежі в точці продажу або плануй платіжні запити електронною поштою.
Оформлення магазину, підтвердження й зворотні виклики залишаються чинними. Призупинення інструмента зупиняє нові запити, не наявні платежі. Історія містить посилання на кожен рахунок. Пропущені періоди не створюють сплеску листів; повторне надсилання використовує той самий неоплачений рахунок із чинним терміном.
Клієнтська оплата, платіжні посилання й заплановані листи підтримують англійську, німецьку, іспанську, бразильську португальську, італійську, російську, спрощену китайську, французьку, корейську та японську.
Магазин → Рахунок → Мова оплати задає стандартну мову. Перевизначай її для рахунку або платіжного інструмента. Листи й повторні надсилання зберігають мову рахунку. Твій текст не змінюється; панелі Merchant та Operator залишаються англійською.
У Налаштування → Система, під Обмеженнями за IP-джерелом, увімкни SMTP з публічним іменем хоста провайдера, логіном, відправником і необов’язковою адресою відповіді. Використовуй TLS на порту 465 або STARTTLS на 587.
Збережи, перевір підключення, а потім надішли тестовий лист собі. Налаштуй SPF/DKIM у провайдера. Прийняття SMTP не гарантує доставки до скриньки.
Заплановані запити використовують системний SMTP. Канали сповіщень також можуть його обрати; наявні налаштування каналів і запрошень Operator не змінюються. Лише адміністратор інсталяції керує цими зашифрованими даними доступу. Помилки подання листа потребують явного повторного надсилання.
Дзвіночок відкриває вхідні сповіщення. Вибір теми розташовано в меню налаштувань.
Повторювані проблеми групуються. Історія зберігається 30 днів; дозволи проєкту залишаються чинними. Прочитання попередження не вирішує проблему. Сповіщення для людей не замінюють IPN чи вебхуки магазину.
Увімкни Проєкт → Marketplace, обери магазини й зареєструй продавців із незалежно перевіреними адресами отримання. Створи один рахунок із точними частками продавців; затверджуй виплати вручну або налаштуй автоматичні політики з обмеженнями.
Лише основна мережа Bitcoin і підтримувані монети EVM/ERC-20. Клієнти спочатку платять до гаманців під контролем проєкту, не безпосередньо продавцям. Зберігай вільні нативні монети для комісій. Звичайний sweep виключає захищені адреси отримання.
Комісія за обробку стягується один раз із початкового рахунку, окремо від твоєї комісії. Недоплати й невизначені надходження потребують перевірки. Повернення після виплат продавцям потребують окремих коштів, не автоматичного стягнення назад.
Налаштувати платежі для кількох продавців · Довідник API Marketplace
Відкрий Налаштування → Облік для Звітів, Транзакцій, Експорту й Перевірок. Панель огляду залишається окремою.
Підтверджені надходження, повернення й записані витрати відокремлені від переказів між гаманцями та придбання передплачених коштів. Суми рахунків враховуються один раз, навіть за кількох платежів.
Історичні значення використовують збережені докази, не сьогоднішні ціни. Старі курси й фактичні комісії можуть бути недоступними; відсутні витрати ніколи не вважаються нульовими. Неповні докази залишають чистий підсумок недоступним.
Це охоплює записи, які відстежує Wholly Crypto, не кожну зовнішню транзакцію гаманця чи біржі. Це допомога в обліку, не податкова декларація чи звіт про прибуток. Передавай експорт безпечно: він може містити e-mail клієнтів.
Переміщуй отримані кошти до обраного місця. Керуй правилами й історією в Проєкт → Sweep.
Надсилай нативні монети в 29 блокчейнах; Monero залишається лише для перегляду. Токени: перевірені ERC-20 і класичні SPL. Ручне надсилання й автоматичний sweep використовують однакові захисні механізми.
До BTC, EVM, SOL і TRX додаються 18 нативних адаптерів. Використовуй провайдера, здатного подавати транзакції. ZEC - лише прозорий; ADA зберігає виходи з токенами; DOT використовує Asset Hub; HBAR потребує реле. Адреси, що вимагають вихідного memo/tag/comment, потребують зовнішнього гаманця.
Фінансування газу, підтвердження й надсилання токенів тривають у фоні після затвердження. Стеж у розділі Активність переказів, навіть після закриття вікна. Трансляція не є підтвердженням.
Зберігати в гаманці проєкту ETH: 0 не додає резерву; це не витрачає весь твій ETH. 0.005 залишає щонайменше 0.005 ETH на потім, тому для цього процесу потрібні додаткові кошти. Збережені автоматичні правила не змінюються.
Денний ліміт обмежує нативний газ, виділений кожним правилом токена за ковзні 24 години. 1 EUR може бути початковим лімітом за невеликого навантаження, не гарантованою вартістю чи щоденною платою. Транзакції фінансування також мають комісії. Максимальна мережева комісія, % може обмежувати сумарні комісії фінансування/переказу.
Перевірки виконуються автоматично. Газ отримують лише відповідні адреси з токенами; порожні адреси - ні. Недофінансована адреса нижче мінімуму sweep очікує. Пояснення лімітів газу →
Надсилання вимкнено? Перевір whollycrypto transfers status. Переглянь кожне ввімкнене правило перед whollycrypto transfers enable: це діє на весь сервер і може відразу запустити збережені правила. Зупинка майбутніх кроків не може скасувати трансльовані транзакції.
Налаштування → Система: обери Керування або Додати домен. Збережи, перевір DNS, опублікуй. Незмінені хости пропускають перевірки DNS/SSL.
Магазин → Основне: обери активні хости мерчанта/оплати/API. Пріоритет посилань: магазин → стандартний магазин → система; виведені з експлуатації назви використовують резервний варіант. Налаштовуй хости SDK окремо. Підписані повторні спроби зберігають початкові посилання.
HTTPS автоматичний. Перемикай Cloudflare після налаштування; Let's Encrypt залишається активним.
/.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 не захищає скомпрометований сервер.
Значок теми перемикає Світла → Приглушена → Темна й запам’ятовує вибір цього браузера. Теми оплати магазинів окремі.
merchant.* або api.* імені хоста. Поточна IP-адреса панелі має залишатися дозволеною.pay.* відкритим: клієнти мають платити звідусіль.За бажанням додай правила доступу Cloudflare. Виключи перевірки поновлення HTTPS; уникай інтерактивних перевірок входу для API й оплати. Сам режим проксі не є обмеженням IP.
Втрачено доступ? Запусти whollycrypto access-reset --domain merchant.example.com через SSH. Лише цей хост знову відкриється протягом п’яти секунд; автентифікація облікового запису залишиться ввімкненою.
whollycrypto ssl
whollycrypto ssl --fixПерша команда перевіряє активні сертифікати. --fix виправляє допоміжні файли TLS і поновлює відсутні сертифікати або ті, строк дії яких спливає. Nginx має працювати; залиш порти 80/443 відкритими.
Запусти whollycrypto ssl --domain merchant.example.com --reissue для примусової заміни. Діють ліміти видачі. Якщо Cloudflare блокує HTTP-перевірку, тимчасово використовуй лише DNS. Гаманці, автентифікація й домени не змінюються.
Рішення потребують причини. Повернення потребує окремого підтвердженого переказу; зміни статусу рахунку ніколи не надсилають грошей.
Прочитай примітки до випуску, потім використовуй Налаштування → Система → Оновлення ПЗ або CLI. Оновлення перевіряють підписи, створюють резервні копії й перевіряють справність. Оплата призупиняється під час встановлення.
whollycrypto update --check
whollycrypto updateОновлення чекають до двох хвилин на фонові завдання; оплата залишається доступною. Перевищення часу відновлює таймери.
Старий оновлювач заблоковано? Запусти це один раз. Установлений ключ перевіряє допоміжний інструмент.
bash <(curl -fsSL https://releases.whollycrypto.com/update_wholly.sh)Зберігай перевірені резервні копії поза сервером PostgreSQL, конфігурації, ключів шифрування гаманців і експорту гаманців. Локальні архіви відновлення незашифровані.
Відновлюй відповідні копії бази даних/конфігурації разом. Ніколи не переривай міграції й не запускай старі двійкові файли з новішими базами даних. Правила балансу залишаються чинними.
Встановлення й оновлення автоматично пробують офіційне дзеркало GitHub. Перевірки підпису, контрольної суми й балансу залишаються обов’язковими.
Команди 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 statuswhollycrypto transfers enablewhollycrypto 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 --checkwhollycrypto uninstall | Спочатку перегляд, потім видалення нативного середовища виконання. База даних, ключі й резервні копії залишаються. |
whollycrypto welcome | URL панелі й посилання. |
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.
whollycrypto htaccessОбери користувача, задай ім’я/пароль і підтвердь. Це скидає перший запит входу браузера, не обліковий запис панелі. Інші користувачі й дані API не змінюються.
whollycrypto admin-resetОбери адміністратора за e-mail і підтвердь новий пароль. Сеанси й блокування входу облікового запису очищуються; IP-обмеження залишаються.
Звичайні скидання зберігають 2FA. Якщо втрачено і автентифікатор, і коди відновлення, явно запусти whollycrypto admin-reset --email admin@example.com --reset-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 лише пропускає підтвердження. Спочатку заверши відновлення перерваного оновлення; одночасні зміни облікових записів зупиняють скидання.