MULAI

Dokumentasi

Instal, terima pembayaran, dan rawat servermu.

Baru di sini? Ikuti tutorial langkah demi langkah →

Persyaratan VPS

Gunakan VPS Linux baru dengan akses root, bukan server situs web/database yang sudah ada. Tidak memerlukan Docker, compiler, atau node blockchain.

VPSMinimum
Penggunaan ringan
Direkomendasikan
CPU1 vCPU2 vCPU
RAM2 GB4 GB
SSD20 GB60 GB

Spesifikasi minimum adalah titik awal penggunaan ringan untuk image Ubuntu/Debian minimal, bukan jaminan performa. Kapasitas disk mencakup Linux; sisakan setidaknya 3 GiB sebelum penyiapan, ditambah ruang untuk pembaruan, riwayat, dan cadangan.

Penginstal native memerlukan x86-64, systemd 247+, dan Python 3.9+. ARM64 dan Alpine/OpenRC tidak termasuk.

Versi Linux dan catatan spesifikasi
  • Ubuntu 22.04+ atau Debian 12+; Mint 21+ dan Pop!_OS 22+.
  • Fedora 42+; Rocky, AlmaLinux, RHEL, Oracle Linux, atau CentOS Stream 9–10.
  • openSUSE Leap 16+ atau Tumbleweed; Arch, Manjaro, atau EndeavourOS.

Pilih rilis yang masih dipelihara vendornya. Persyaratan OS yang lebih tinggi harus diutamakan: openSUSE Leap 16 memerlukan ruang disk lebih dari 40 GB.

Lebih banyak blockchain dan faktur bersamaan mungkin memerlukan lebih banyak CPU dan RAM. VPS yang lebih besar tidak menghapus kuota RPC. Alur penyiapan memiliki pengujian otomatis; pengujian lengkap pada VPS baru belum selesai untuk setiap distribusi.

Instal

Arahkan nama host bawaan berikut ke VPS-mu, atau pilih nama sendiri:

  • merchant.example.com: konsol
  • pay.example.com: checkout
  • api.example.com: API

Gunakan catatan DNS-only selama penyiapan. Buka TCP 80/443 di kedua firewall dan pastikan SSH tetap bisa diakses. Jangan pernah membuka PostgreSQL atau aplikasi ke publik melalui port 5432/8080.

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

Penyiapan memverifikasi unduhan serta mengonfigurasi PostgreSQL, Nginx, HTTPS, dan layanan. Lebih suka container? Lihat instalasi Docker opsional.

Periksa dahulu atau lanjutkan penyiapan

Perlu rilis tertentu? Pada VPS baru, tambahkan --version 7.8.1 untuk menginstal versi bertanda tangan tersebut secara persis. Tanpanya, penyiapan menggunakan rilis stabil terbaru.

Pelanjutan mempertahankan rilis yang dipilih dan langkah yang sudah selesai, termasuk saat memakai cadangan GitHub. Pelanjutan tidak pernah menurunkan versi instalasi yang sudah ada.

Periksa penginstal. Tambahkan --check ke perintah untuk memeriksa kompatibilitas tanpa menginstal, atau --help untuk melihat opsi.

Lanjutkan progres tersimpan tanpa mengganti kunci atau pengaturan:

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

Domain dasar tambahan bisa menggunakan nama layanan yang sama. Semua catatan IPv6 juga harus mengarah ke VPS ini. Aktifkan proxy Cloudflare hanya setelah validasi domain.

Penyiapan pertama

  1. Masukkan login HTTP Basic. Buat akun admin, pilih bahasa/zona waktu, dan tinjau lisensi dan kebijakan privasi.
  2. Periksa Pengaturan → Koneksi blockchain. Gunakan penyedia cadangan yang sehat dan independen yang mendukung pemindaian pembayaran.
  3. Buat proyek, lalu toko pertamanya.
  4. Cadangkan dompet proyek. Di toko, pilih blockchain dan token terverifikasi yang diterima.
  5. Atur mata uang, konfirmasi, masa berlaku, spread, dan toleransi. Periksa saldo kreditmu sebelum membuat faktur.

Kode QR meminta seluruh jumlah yang belum dibayar. Toleransi hanya menerima kekurangan pembayaran; persyaratan konfirmasi tetap berlaku.

Jumlah stablecoin

Kuotasi stablecoin baru yang dikenali dibulatkan ke atas: 1.321 USDC → 1.33 USDC, bahkan dengan toleransi nol. Minimum: 0.01 token.

Faktur, saldo, dan sisa pembayaran parsial yang sudah ada tetap presisi. Token lain/kustom mempertahankan presisi normal.

Aktivasi otomatis

Pendaftaran admin otomatis mendaftarkan akun kreditmu menggunakan emailmu, dengan kredit selamat datang satu kali senilai 10 USD yang setara. Tidak memerlukan kode aktivasi.

Buat faktur. Aktivasi yang tertunda dicoba lagi secara otomatis; penyambungan ulang tidak pernah memberikan kredit lagi.

Detail login dan pengaturan bawaan

Login Basic Auth-mu disimpan di /root/whollycrypto/config/setup-credentials.txt. Login ini terpisah dari email/kata sandi konsol.

Proyek baru mewarisi mata uang dan zona waktu bawaan sistem; toko menggunakan mata uang proyek. Zona waktu akun yang sudah ada dikelola secara terpisah di Pengaturan → Akun.

whollycrypto welcome menampilkan URL konsolmu.

Mode merchant atau operator

Instalasi baru mulai 7.0.0 memilih mode saat menyiapkan admin pertama. Pilihan ini tidak bisa dibatalkan; mengganti mode memerlukan instalasi baru. Instalasi sebelum versi 7 tetap dalam mode merchant, bahkan tanpa administrator.

Merchant: jalankan proyek dan tokomu sendiri. Operator: hosting bisnis merchant terpisah dalam satu instalasi dan kenakan biaya pemrosesan prabayarmu sendiri. Bisnismu sendiri termasuk tanpa biaya operator internal.

Siapkan merchant yang dihosting
  1. Node bersama, kurs, domain, kredit instalasi, dan pembaruan berada di Panel operator.
  2. Buka Dompet → Buat dompet penerimaan untuk BTC, ETH, dan USDC/USDT Ethereum. Cadangkan kedua frasa pemulihan independen. Proyek khusus ini tidak bisa menerbitkan faktur penjualan; toko penerimaan yang sudah ada tetap dipertahankan.
  3. Tambahkan merchant dengan mata uang kredit, biaya, dan email administrator. Bagikan undangan dan Basic Auth merchant secara pribadi. Mereka memilih kata sandinya sendiri. Jangan pernah membagikan Basic Auth operator.
  4. Merchant mengisi ulang melalui checkout-mu, atau kamu mencatat penyesuaian kredit beserta alasannya. Kredit diperlukan sebelum membuat proyek/toko. Kelola pengguna dan riwayat kredit di Merchant → Kelola.

Penyiapan operator meminta alamat keempat, seperti operator.example.com, serta nama pengguna dan kata sandi Basic Auth-nya sendiri. Pilih labelmu, arahkan DNS ke VPS, periksa DNS, dan aktifkan HTTPS. Panel langsung terbuka di alamat tersebut. Alamat merchant, checkout, dan API-mu tetap terpisah.

Gunakan login Basic Auth operator yang baru, lalu email/kata sandi administratormu. Basic Auth merchant tetap sama. Penyiapan bisa dilanjutkan setelah kesalahan DNS atau sertifikat. Operator yang memperbarui dari 7.0.0 juga menyelesaikan langkah ini; alamat aktif yang sudah ada tetap tersedia.

Biaya, isolasi, dan tanggung jawab

Dengan tarif 3%, faktur 100 EUR memakai kredit merchant 3 EUR. Jika mata uang kreditnya berbeda, kurs fiat saat pembuatan disimpan bersama biaya.

Operator membayar biaya instalasi Wholly Crypto normal secara terpisah. Dana pelanggan tidak dibagi on-chain. Pembelian kredit tidak dikenai biaya lagi.

Hanya penyelesaian yang diverifikasi otomatis yang mengkreditkan isi ulang. Membuka checkout atau menerima faktur secara manual tidak mengkreditkannya. Pembatalan membuat entri buku besar; isi ulang yang dibatalkan lalu kembali memerlukan tinjauan operator.

Kredit merchant yang dihosting yang menipis menjeda IPN, webhook, sweep, serta pembuatan proyek/toko baru. Faktur pelanggan yang sudah ada dan penerimaan pembayaran tetap berjalan. Kredit instalasi yang menipis dapat menjeda otomatisasi di seluruh bisnis yang dihosting. Menonaktifkan merchant juga memblokir login dan faktur baru, sementara pembayaran lama tetap dipantau.

Ini adalah isolasi pada tingkat aplikasi, bukan VPS terpisah untuk setiap merchant. Merchant tidak bisa mengakses proyek, dompet, kredensial API, bursa, atau kredit satu sama lain. Administrator server bisa mengakses kunci hot wallet yang dihosting. Beri tahu merchant sebelum mendaftar; gunakan hosting tepercaya, cadangan independen, dan kapasitas yang sesuai untuk beban kerja bersama.

Keuangan & undangan operator

Tersedia dalam mode Operator mulai 7.1.0.

Dompet dan keuangan

Mulai 7.2.0, Dompet mengelola saldo penerimaan, alamat, dan cadangan; Sweep menangani pengiriman dan aturan otomatis. Sisakan ETH untuk biaya token. Isi ulang merchant melacak pembelian mereka. Kredit di header membayar biaya instalasi secara terpisah. Bisnis saya membuka konsolmu sendiri di tab baru.

Buka Keuangan untuk biaya yang diperoleh, biaya instalasi terverifikasi, perkiraan margin, dan kredit merchant saat ini. Filter berdasarkan tanggal, merchant, atau mata uang pelaporan; ekspor CSV.

Laporan mengelompokkan faktur berdasarkan penyelesaian pertama dan mencerminkan pembatalan biaya terbarunya. Saldo prabayar bukan pendapatan. Biaya bisnis sendiri tetap terpisah. Biaya tertunda atau kurs yang tidak tersedia membuat margin terkait tidak tersedia. Jumlah yang dikonversi menggunakan kurs fiat terkini dalam cache; biaya gas dan operasional tidak termasuk.

Undang pengguna atau reset kata sandi

Tambahkan merchant membuat undangan. Mulai 7.3.0, pilih kredit awal gratis dalam mata uang kredit merchant; nol diperbolehkan. Ini tidak mengisi ulang saldo operatormu. Kirim undangan melalui email dicentang secara bawaan.

Konfigurasikan penyedia SMTP-mu di Pengaturan → Email undangan terlebih dahulu, menggunakan TLS atau STARTTLS. Uji koneksi tidak mengirim email. Sebagai alternatif, hapus centang email dan bagikan tautannya secara pribadi. Kegagalan email tidak menghapus akun atau kredit; jangan membuat merchant yang sama lagi.

Untuk tautan lain atau reset kata sandi, buka Merchant → Kelola → Akun pengguna. Penerimaan oleh SMTP tidak menjamin email sampai ke kotak masuk. Bagikan Basic Auth merchant secara terpisah, jangan pernah kredensial operator.

Undangan berlaku 48 jam; reset berlaku satu jam. Masing-masing hanya bisa digunakan sekali. Ganti atau cabut tautan dari layar yang sama. Reset mengakhiri sesi yang ada tetapi tetap mengaktifkan 2FA. Basic Auth merchant tetap diperlukan.

API Operator

Otomatiskan merchant yang dihosting dengan SDK 2.6.0 dan Wholly Crypto 7.4.0+. Aktifkan Operator → Pengaturan → API Operator, lalu buat kunci sisi server dengan cakupan izin yang dibatasi.

Pendaftaran, izin, dan percobaan ulang yang aman

Buat akun langsung dengan kata sandi atau kirim undangan. Kelola pengguna, proyek, toko, biaya, dan kredit prabayar lokal; baca laporan dan berlangganan peristiwa siklus hidup bertanda tangan. Persetujuan kustodi saat login pertama, 2FA, dan isolasi tenant tetap berlaku.

Setiap penulisan memerlukan kunci idempotensi yang disimpan. Pemberian kredit adalah penyesuaian akun lokal, bukan isi ulang instalasi. Rahasia dompet, pengiriman dana, dan konfigurasi server tidak termasuk dalam API ini.

Gunakan api.your-domain.com/v1/operator. Simpan kunci Operator di backend-mu, jangan pernah di browser atau bersama merchant yang dihosting.

Referensi & izin API Operator → · SDK resmi & contoh →

Dompet & token

Pengaturan → Token memuat 250 token terlebih dahulu, lalu sisa katalog.

Proyek → Dompet → Cadangkan semua mengekspor TXT atau HTML offline yang dapat dicari dengan kode QR. Keduanya menampilkan kunci dan frasa pemulihan. Simpan salinan pribadi di luar server; jangan pernah membagikan atau mengunggahnya.

Root bisa mengakses kunci. Panduan pemulihan dompet menjelaskan alamat faktur, gas native, serta cadangan Monero/Lightning eksternal.

Alamat tersimpan & saldo terbaru

Pengaturan → Buku alamat: simpan blockchain/alamat. Koin native dan token CoinGecko yang cocok muncul otomatis. Hanya baca, dikelola admin; penerimaan di checkout tetap sama.

Pembaca token mencakup 22 blockchain. Saldo privat dan lapisan Bitcoin/CashTokens/Kaspa memerlukan akses atau pengindeks terpisah. Pembacaan yang gagal menampilkan kesalahan, bukan nol.

Kumpulkan saldo faktur ke dompet lain dengan pengiriman manual atau sweep otomatis. Transfer token juga memerlukan koin native blockchain tersebut untuk biaya.

Harga tidak tersedia berkaitan dengan kurs, bukan saldo.

Tambahkan token kustom
  1. Toko → Metode pembayaran → EVM atau Solana → Token kustom.
  2. Masukkan kontrak/mint, nama, dan ticker. Pilih harga USD tetap atau harga DEX otomatis.

Jaringan/desimal diperiksa. Harga yang berlaku untuk seluruh proyek tidak mengubah kuotasi yang sudah ada. Kecocokan katalog saja tidak mengaktifkan checkout.

Penetapan harga otomatis

DEX Screener memerlukan pool dengan kontrak yang sama persis, likuiditas $10,000, dan transaksi perdagangan dalam satu jam terakhir. Kurs diperbarui setiap menit; kurs yang gagal diperoleh atau berusia lima menit memblokir kuotasi baru.

Harga DEX bisa dimanipulasi; pemeriksaan bukan audit. Gunakan token ERC-20 standar atau SPL klasik yang tepercaya. Token-2022/ekstensi tidak didukung. Tanpa pool yang sesuai, gunakan harga tetap.

Mata uang & zona waktu

Pengaturan → Sistem → Pengaturan regional bawaan menetapkan mata uang/zona waktu proyek baru dan zona waktu akun baru. Pengaturan serta kredit yang sudah ada tetap sama; mata uang dasbor tetap bisa diganti.

Zona waktu pribadi: Pengaturan → Akun → Edit pengguna.

Buat faktur

Gunakan Metode pembayaran → Pilih untuk faktur ini untuk membatasi blockchain/token yang diterima. Semua metode pembayaran toko mempertahankan pilihan bawaan.

  1. Buka Proyek → Faktur → Buat faktur.
  2. Pilih toko, mata uang fiat, dan jumlah.
  3. Bagikan tautan checkout. Pelangganmu memilih blockchain/token yang tersedia dan melihat kode QR, sisa jumlah, masa berlaku, serta konfirmasi.

Uji pembayaran kecil pada setiap metode sebelum mulai digunakan secara langsung. Periksa faktur sebelum memenuhi pesanan: URL kembali bukan bukti pembayaran.

Untuk integrasi, verifikasi IPN/webhook bertanda tangan dan konfirmasikan status melalui API faktur. Perlakukan peristiwa duplikat sebagai peristiwa yang sama.

API: filter payment_methods berdasarkan chain_slug dan asset_tickers. Pilihan nonaktif diabaikan; jika tidak ada kecocokan, pengaturan bawaan toko digunakan. Pilihan blockchain saja mencakup semua aset aktif. Ticker yang sama memerlukan ID aset. Dompet dan kurs tetap diperlukan.

Jumlah dan konfirmasi

Pemindai offline? Faktur mempertahankan metode yang dikonfigurasi sambil menunggu deteksi. Periksa API yang didukung di Koneksi blockchain; status sehat tidak berarti kompatibel dengan pemindai. Bawaan: dua penyedia independen.

Dompet/kurs tetap diperlukan. Layanan Monero/Lightning harus menerbitkan permintaan pembayaran.

Kesalahan API/MCP mencakup error.details.payment_methods. SDK 2.4.0 menambahkan penjelasan aman: PHP getPaymentMethodIssues(), Python payment_method_issues, Node paymentMethodIssues. Referensi kesalahan →

Kuotasi kripto dibulatkan ke atas dan menyertakan spread toko. Faktur berharga fiat tidak mengonversi kripto yang diterima menjadi saldo bank.

Nol konfirmasi menyelesaikan faktur saat terdeteksi, tanpa perlindungan konfirmasi jaringan. Pembayaran native EVM dideteksi sebagai transfer langsung. Tinjau pembayaran yang tidak biasa atau tidak pasti di Perlu perhatian.

API pemindai

Periksa Koneksi blockchain untuk API yang kompatibel, riwayat lengkap, dan penyedia independen. Mengejar ketertinggalan melalui node mentah memerlukan waktu. Semua API penerimaan →

Pembayaran, saldo, dan pemeliharaan berbagi anggaran penyedia. Pemeriksaan saat tidak ada aktivitas melambat. Faktur lama tetap dipantau untuk pembayaran terlambat/reorg, hingga setiap jam setelah pemindai mengejar ketertinggalan. Sinyal WSS yang tersedia melengkapi pemindaian HTTP. Menutup checkout tidak pernah menghentikan deteksi. Node publik tetap memiliki batas; Wholly Crypto tidak menjalankan node.

Faktur bernilai nol

Diblokir secara bawaan. Aktifkan Toko → Faktur → Izinkan faktur bernilai nol untuk mengizinkan total nol secara manual/melalui API. Faktur ini langsung selesai tanpa pembayaran, alamat penerimaan, transaksi, atau biaya pemrosesan.

Checkout

Toko → Checkout: warna, logo, metode, tautan, ukuran font Intro/Outro, dan visibilitas nama proyek/toko. Toko baru mewarisi desain toko bawaan. Perubahan disimpan otomatis.

Pratinjau tidak bisa menerima pembayaran. Tidak mendukung HTML/CSS/JavaScript kustom.

Coba demonya.

IPN & webhook

IPN mengirim setiap peristiwa faktur ke URL toko atau faktur ipn_url. Webhook mengirim peristiwa yang dipilih. Keduanya mengirim snapshot JSON yang sama melalui POST.

Kapan aku harus memenuhi pesanan? Untuk penanganan berbasis peristiwa, gunakan event_type = invoice.settled dengan status = settled. Verifikasi faktur terkini dan pesananmu, lalu penuhi satu kali saja. payment.received saja tidak cukup.

Status vs peristiwa: contoh Ethereum dan Solana

status adalah status faktur saat peristiwa dibuat; event_type menjelaskan apa yang terjadi.

  • Contoh Ethereum: payment.received + processing, lalu invoice.settled + settled.
  • Contoh Solana: sudah final saat terdeteksi, sehingga payment.received dan invoice.settled keduanya memuat settled.

Kedua alur bisa terjadi di blockchain lain. Ini adalah peristiwa yang berbeda, belum tentu dua pembayaran. Keduanya bisa memiliki sequence yang sama tetapi nilai event_id yang berbeda. Urutan pengiriman tidak dijamin; jangan mensyaratkan processing terlebih dahulu.

Status dan data callback
Status fakturArti
newMenunggu pembayaran
processingPembayaran parsial atau menunggu finalitas
settledDiterima berdasarkan aturan faktur, atau secara manual
expiredTenggat berlalu; pemantauan pembayaran terlambat bisa berlanjut
invalidPembayaran perlu ditinjau atau ditolak
cancelledDibatalkan, bukan dikembalikan dananya

Peristiwa: invoice.created, payment.received, invoice.processing, invoice.settled, invoice.expired, invoice.invalid, invoice.cancelled. Tabel peristiwa lengkap dan aturan pengecualian →

amount_status: none, partial, paid, overpaid. paid mencakup toleransi, bukan finalitas. timing_status: on_time atau late. resolution: automatic, manually_settled atau manually_invalidated. Terapkan kebijakan pengecualianmu saat requires_review bernilai true.

invoice_id sesuai dengan respons API. amount, currency dan order_id menjelaskan pesanan awalmu. payment_info menambahkan transfer, jumlah kripto presisi, kuotasi/spread/toleransi terkunci, dan kurs sebagai referensi. Data pelanggan dan metadata bersifat pribadi.

paid_chain, paid_asset, paid_payment_method_id, paid_asset_amount, paid_asset_amount_received dan settlement_exchange_rate merangkum penyelesaian. Nilainya tetap dibekukan; bukti/riwayat yang tidak tersedia tetap null. Untuk penerimaan selanjutnya, gunakan payment_info atau API pembayaran.

Gunakan string desimal. Jangan pernah menggabungkan aset atau menganggap dana yang belum dikonfirmasi sebagai dana yang hilang. Tangani pengecualian secara eksplisit; peringatan saja tidak pernah mengizinkan pemenuhan pesanan atau pengembalian dana. Isi ulang gas internal yang terverifikasi bukan pembayaran pelanggan dan tidak memicu payment.received.

Rahasia penandatanganan, percobaan ulang, dan riwayat pengiriman

Rahasia penandatanganan terpisah: Toko → IPN menandatangani pengiriman IPN, termasuk ipn_urlkustom faktur. Setiap endpoint di Toko → Webhook memiliki rahasianya sendiri, yang ditampilkan saat dibuat atau dirotasi.

Keduanya menggunakan Wholly-Signature dan verifier SDK yang sama, tetapi membutuhkan rahasia yang sesuai, bukan kunci API. Merotasi rahasia IPN tidak mengubah rahasia webhook.

Verifikasi body mentah, stempel waktu, dan cakupan proyek/toko. Simpan secara persisten, lalu kembalikan HTTP 2xx. Worker memeriksa faktur terkini melalui host API yang kamu konfigurasi dan memenuhi pesanan sekali dalam transaksi database. Header tidak ditandatangani; gunakan identitas body bertanda tangan versi 2.

Berbasis peristiwa: deduplikasi event_idbertanda tangan, lalu filter invoice.settled. SDK berbasis status: gabungkan proyek + invoice_id + sequence, lalu periksa status terlepas dari jenis peristiwanya. Jangan menambahkan filter peristiwa setelah penggabungan ini. Keduanya memerlukan perlindungan duplikasi terpisah pada tingkat pesanan.

Percobaan ulang mempertahankan body dan ID peristiwa asli. Revisi lama tidak boleh menimpa yang lebih baru. IPN mencoba hingga delapan kali; percobaan ulang webhook bersifat opsional. Kredit yang menipis menjeda pengiriman notifikasi, bukan pembayaran.

Toko → IPN / Webhook → Riwayat → Detail menampilkan body dan hasil yang disimpan. Payload kedaluwarsa setelah 90 hari. Pengiriman ulang bukan bukti penyelesaian.

Payload lengkap, tabel peristiwa, dan contoh penerima →

Konversi bursa

Kirim aset yang didukung ke Kraken, Binance, atau Coinbase. Simpan koinnya atau konversikan deposit yang telah dikreditkan. Fiat tetap berada di bursa.

Minimum deposit berlaku per transaksi, bukan per sweep. Deposit di bawah minimum menghentikan rencana. Gabungkan saldo kecil ke dompetmu sendiri terlebih dahulu; biaya jaringan tambahan berlaku.

Hubungkan dan pilih rute
  1. Pengaturan → Bursa: hubungkan kunci khusus, periksa saldo, dan berikan akses proyek. Tanpa izin penarikan; batasi kunci hanya ke IP VPS-mu.
  2. Proyek → Sweep: verifikasi aset, jaringan, alamat, dan kontrak token. Untuk setiap blockchain/token, pilih dompet lain atau satu bursa.

Pasar diperbarui setiap dua menit. Hanya deposit yang cocok dan telah dikreditkan yang bisa dikonversi; data pasar usang menghentikan order baru. Cadangan 1% dari aset sumber tetap berada di bursa untuk biaya/pembulatan, terpisah dari kredit pemrosesan.

Jumlah minimum yang disimpan menyisakan koin/token di seluruh proyek setelah sweep otomatis. Terpisah dari pemicu; nol berarti tidak menyisakan apa pun. Biaya menggunakan kelebihannya. Pengiriman manual tetap sama.

Lanjutkan transfer yang belum pasti; jangan pernah menggantinya. Dompet tetap dicadangkan sampai konfirmasi atau kuotasi yang tidak digunakan kedaluwarsa. Sweep besar perlu dibagi dalam batch.

Kustodi bursa, KYC, batasan wilayah, dan biaya berlaku. Tanpa pencairan ke bank atau leverage. Kredit yang menipis menjeda konversi baru; order yang sudah diajukan tetap direkonsiliasi.

Kredit pemrosesan

Kamu tetap menerima pembayaran saat kredit habis. Toko yang sudah ada tetap bisa menggunakan faktur, checkout, dan pemantauan pembayaran. Koneksi penagihan terverifikasi yang tidak tersedia atau penangguhan akun adalah hal berbeda dan bisa memblokir faktur baru.

Tetap tersediaDijeda tanpa kredit yang bisa digunakan
Faktur, checkout, dan konfirmasiIPN/webhook, termasuk percobaan ulang
Dompet, saldo, dan cadanganSweep: pengiriman, gas, pengembalian dana, dan konversi bursa baru
Laporan, API baca, dan pengaturan yang sudah adaPembuatan proyek dan toko
Pemeriksaan pembaruan dan pemulihan pembaruan yang terputusInstalasi versi baru

Isi ulang melalui ikon kredit. Setelah pemulihan terverifikasi, otomatisasi yang diaktifkan dilanjutkan, termasuk aturan sweep yang mengirim dana. Nonaktifkan aturan yang tidak ingin kamu lanjutkan.

Isi ulang kredit otomatis

Buka Isi ulang otomatis setelah Permintaan. Pilih dompet penerimaan yang sudah dicadangkan, ambang batas, jumlah pembelian, batas harian, dan batas biaya jaringan. Otorisasi dan simpan. Fitur ini awalnya nonaktif.

Gunakan BTC, ETH, atau USDC/USDT Ethereum saat tersedia. Alamat pengirim token memerlukan ETH; aturan ini tidak mendanai gas yang kurang. Operator menggunakan dompet penerimaan khusus; merchant yang dihosting membayar Operator mereka.

Isi ulang yang disetujui bisa berjalan saat kredit rendah menjeda Sweep. Hanya layanan penerima yang mengonfirmasi kredit. Satu pembelian otomatis berjalan dalam satu waktu. Menonaktifkannya menghentikan pekerjaan yang belum dikirim, bukan transaksi yang sudah diajukan.

Pulihkan pembayaran otomatis

Di Isi ulang otomatis, gunakan Periksa pembayaran. Lanjutkan pembayaran valid yang sama, atau tutup transfer Ethereum yang telah dipastikan gagal dan jeda aturannya. Pembayaran tertunda atau belum pasti tetap ditahan untuk mencegah pengiriman ganda. Kuotasi yang kedaluwarsa bukan bukti kegagalan.

Biaya dan pemulihan akses penuh

Biaya bawaan 1% menggunakan nilai fiat awal faktur yang telah diselesaikan. Pembayaran kripto pelanggan tidak dibagi.

Biaya terus terakumulasi hingga saldo negatif. Lunasi jumlah negatif dan pulihkan kredit yang bisa digunakan di atas ambang toleransi akunmu. Perubahan saldo biasanya muncul dalam 10–15 detik pada koneksi yang sehat.

Menginstal pembaruan memerlukan kredit terverifikasi di atas nol, bahkan dengan kelonggaran toleransi otomatisasi. Isi ulang tidak pernah menginstal pembaruan secara otomatis.

Notifikasi yang dijeda tidak mengurangi jumlah percobaan. Pengiriman yang tersimpan dilanjutkan; masa kedaluwarsa normal tetap berlaku. Rekonsiliasikan peristiwa yang terlewat melalui API faktur.

Jika operator menonaktifkan biaya pemrosesan, tidak ada biaya pemrosesan baru atau pembatasan kredit. Biaya sebelumnya tetap ada dalam riwayat. Instalasi yang belum dipasangkan bisa mengonfigurasi proyek/toko, tetapi memerlukan penagihan terverifikasi untuk menerbitkan faktur. Faktur yang sudah diterbitkan tetap dipantau.

Laporan

Grafik pendapatan dan filter tetap berada di atas tab: Proyek & toko, Faktur, Dompet dan Sweep. Cari di bawah. Proyek & toko mencakup ekspor CSV. Tanggal kustom mencakup hingga 366 hari. Dompet menggunakan saldo dalam cache.

Cara kerja angka laporan
  • Pendapatan menampilkan nilai faktur yang telah diselesaikan sebelum biaya/pengembalian dana, menggunakan tanggal penyelesaian. Ini bukan saldo dompet atau laba.
  • Konversi menggunakan kurs terkini dalam cache, bukan kurs akuntansi historis. Total dalam mata uang asli tetap tersedia jika kurs tidak tersedia.
  • Grafik status faktur menggunakan tanggal pembuatan faktur. Angka Perlu perhatian menampilkan masalah terkini yang belum terselesaikan.

Asisten AI · MCP

Akses opsional dengan cakupan proyek di api.example.com/mcp. Baca pembayaran atau setujui pembuatan faktur. Penyiapan & izin MCP →

Plugin toko

PrestaShop → · OpenCart → · Semua plugin →

SDKs

Gunakan SDK resmi kami untuk membuat faktur, memeriksa pembayaran, dan memverifikasi IPN/webhook.

SDK PHP

PHP 7.4+

Tambahkan pembayaran kripto ke aplikasi PHP-mu dengan Composer.

composer require whollycrypto/php-sdk
GitHub & contoh ↗

SDK Python

Python 3.10+

Hubungkan aplikasi atau backend Python-mu tanpa dependensi runtime.

python -m pip install whollycrypto
GitHub & contoh ↗

SDK Node.js

Node.js 22+

JavaScript atau TypeScript, satu paket npm dengan tipe bawaan.

npm install whollycrypto
GitHub & contoh ↗

Gunakan domain API instalasimu dan simpan kunci API di sisi server. Semua SDK berlisensi MIT.

Alat pembayaran

Buka Proyek → Alat pembayaran dan pilih toko. Bagikan tautan pembayaran yang bisa dipakai ulang, terima pembayaran di kasir, atau jadwalkan permintaan pembayaran melalui email.

Pilih harga dan alur pembayaran
  • Fiat tetap: setiap checkout baru menggunakan kurs kripto terkini dan spread toko, lalu mengunci kuotasi sampai kedaluwarsa.
  • Kripto tetap: minta unit presisi dari satu aset on-chain yang diterima. Nilai fiat terbaru, dibulatkan ke atas, dicatat untuk pelaporan dan biaya; spread tidak mengubah jumlah kripto.
  • Donasi: izinkan pelanggan memasukkan jumlah dalam batasmu. Tambahkan pilihan jumlah cepat dan kolom nama/email opsional.
  • Kasir: masukkan jumlah atau referensi pesanan dan tampilkan kode QR checkout. Tunggu sampai diselesaikan, bukan sekadar pembayaran terdeteksi.
  • Permintaan terjadwal: kirim sekali, mingguan, atau bulanan dalam zona waktu pilihanmu. Pelanggan membayar setiap faktur sendiri. Tanpa pendebitan dompet otomatis.

Tampilan toko, konfirmasi, dan callback tetap berlaku. Menjeda alat menghentikan permintaan baru, bukan pembayaran yang sudah ada. Riwayat menautkan setiap faktur. Periode yang terlewat tidak menimbulkan lonjakan email; pengiriman ulang memakai faktur yang sama selama belum dibayar dan belum kedaluwarsa.

Checkout pelanggan, tautan pembayaran, dan email terjadwal mendukung bahasa Inggris, Jerman, Spanyol, Portugis Brasil, Italia, Rusia, Mandarin Sederhana, Prancis, Korea, dan Jepang.

Toko → Faktur → Bahasa checkout menetapkan bahasa bawaan. Ganti untuk setiap faktur atau alat pembayaran. Email dan pengiriman ulang mempertahankan bahasa faktur. Teksmu tetap sama; konsol Merchant dan Operator tetap berbahasa Inggris.

Email keluar

Di Pengaturan → Sistem, di bawah Pembatasan IP sumber, aktifkan SMTP dengan nama host publik penyedia, login, pengirim, dan alamat balasan opsional. Gunakan TLS pada port 465 atau STARTTLS pada 587.

Simpan, uji koneksi, lalu kirim email uji ke dirimu sendiri. Siapkan SPF/DKIM dengan penyediamu. Penerimaan SMTP tidak menjamin email sampai ke kotak masuk.

Permintaan terjadwal menggunakan SMTP sistem. Saluran notifikasi juga bisa memilihnya; pengaturan saluran dan undangan Operator yang ada tetap sama. Hanya administrator instalasi yang mengelola kredensial terenkripsi ini. Kegagalan pengiriman email memerlukan pengiriman ulang secara eksplisit.

Notifikasi & peringatan

Ikon lonceng membuka kotak masuk notifikasimu. Pilihan tema ada di menu pengaturan.

Siapkan saluran dan aturan
  1. Buka Pengaturan → Notifikasi & peringatan. Notifikasi konsol sudah tersedia secara bawaan.
  2. Untuk email atau Telegram, tambahkan saluran, kirim kode verifikasi, dan masukkan kodenya. Lalu aktifkan saluran dan pilih pada aturanmu.
  3. Pilih peringatan untuk pengecualian pembayaran, callback gagal, masalah transfer, gas rendah, pemindaian tertunda, kredit rendah, atau pencadangan gagal. Peringatan pembayaran yang diselesaikan bersifat opsional.

Masalah berulang dikelompokkan. Riwayat disimpan 30 hari; izin proyek tetap berlaku. Membaca peringatan tidak menyelesaikan masalah. Peringatan untuk manusia tidak menggantikan IPN atau webhook toko.

Marketplace

Aktifkan Proyek → Marketplace, pilih toko, dan daftarkan vendor dengan tujuan pembayaran yang diverifikasi secara independen. Buat satu faktur dengan bagian vendor yang presisi; setujui pembayaran secara manual atau tetapkan kebijakan otomatis yang dibatasi.

Siapkan pembayaran multivendor

Hanya mainnet Bitcoin serta koin EVM/ERC-20 yang didukung. Pelanggan membayar ke dompet yang dikendalikan proyek terlebih dahulu, bukan langsung ke vendor. Sisakan koin native yang bebas digunakan untuk biaya. Sweep biasa mengecualikan alamat penerimaan yang dilindungi.

Biaya pemrosesan berlaku sekali untuk faktur asli, terpisah dari komisimu. Kekurangan pembayaran dan penerimaan yang belum pasti perlu ditinjau. Pengembalian dana setelah pembayaran ke vendor memerlukan dana terpisah, bukan penarikan kembali otomatis.

Siapkan pembayaran multivendor · Referensi API Marketplace

Akuntansi

Buka Pengaturan → Akuntansi untuk Laporan, Transaksi, Ekspor, dan Pemeriksaan. Dasbor tetap terpisah.

Siapkan laporan untuk akuntan
  1. Pilih periode, mata uang pelaporan, dan zona waktu. Filter berdasarkan proyek atau toko, lalu cari referensi faktur, pesanan, aset, atau transaksi.
  2. Tinjau kurs dan biaya yang belum tersedia serta pengecualian pembayaran di Pemeriksaan. Detail menautkan kembali ke faktur atau transfer yang ada.
  3. Unduh ZIP untuk akuntan dengan ringkasan yang bisa dicetak dan file CSV terperinci. Hingga 10,000 catatan per unduhan; gunakan periode lebih pendek untuk riwayat yang lebih besar.

Penerimaan terkonfirmasi, pengembalian dana, dan biaya yang tercatat terpisah dari transfer dompet serta pembelian kredit prabayar. Total faktur dihitung satu kali, bahkan dengan beberapa pembayaran.

Nilai historis menggunakan bukti yang tersimpan, bukan harga hari ini. Kurs lama dan biaya sebenarnya mungkin tidak tersedia; biaya yang tidak diketahui tidak pernah dianggap nol. Bukti yang tidak lengkap membuat total bersih tidak tersedia.

Ini mencakup catatan yang dilacak Wholly Crypto, bukan setiap transaksi dompet eksternal atau bursa. Ini alat bantu pembukuan, bukan laporan pajak atau laporan laba. Bagikan ekspor dengan aman: isinya bisa mencakup email pelanggan.

Sweep

Pindahkan dana yang diterima ke tujuan pilihanmu. Kelola aturan dan riwayat di Proyek → Sweep.

Kirim koin native di 29 blockchain; Monero tetap hanya lihat. Token: ERC-20 terverifikasi dan SPL klasik. Pengiriman manual dan sweep otomatis menggunakan perlindungan yang sama.

Pengiriman manual: siapkan, tinjau, setujui

BTC, EVM, SOL, dan TRX dilengkapi 18 adapter native. Gunakan penyedia yang mampu mengirim transaksi. ZEC hanya mendukung alamat transparan; ADA mempertahankan output token; DOT menggunakan Asset Hub; HBAR memerlukan relay. Tujuan dengan memo/tag/komentar keluar memerlukan dompet eksternal.

  1. Buka Proyek → Dompet → aset → Kirim. Pilih entri buku alamat atau masukkan tujuan. Periksa alamat lengkap dan jaringannya.
  2. Pilih jumlah presisi atau sweep saldo tersedia, lalu tingkat biaya. Untuk token yang didukung, Gunakan ETH proyek untuk gas (atau koin native blockchain) bisa mendanai biaya yang kurang dari proyek/blockchain yang sama.
  3. Klik Siapkan transfer. Tinjau sumber, tujuan, jumlah, biaya maksimum, dan alokasi gas jika ada. Setujui & kirim mengotorisasi rencana ini; penyiapan saja tidak mengirim apa pun.

Pendanaan gas, konfirmasi, dan pengiriman token berlanjut di latar belakang setelah persetujuan. Pantau Aktivitas transfer, bahkan setelah menutup jendela. Penyiaran bukan konfirmasi.

ETH yang disimpan di dompet proyek: 0 tidak menambahkan cadangan; ini tidak menghabiskan semua ETH-mu. 0.005 menyimpan setidaknya 0.005 ETH untuk nanti, sehingga kamu memerlukan dana tambahan untuk alur ini. Aturan otomatis yang tersimpan tetap sama.

Penyiapan sweep otomatis
  1. Buka Penyiapan Sweep Otomatis → aset → Siapkan. Pilih alamat dompet atau tujuan bursayang didukung, bukan keduanya.
  2. Tetapkan minimum sweep dan Jumlah minimum yang disimpan. Contoh: picu pada 100 USDC, simpan 20 USDC, kirim hingga 80 USDC. Cadangan berlaku untuk seluruh proyek, bukan per alamat.
  3. Untuk token, tinjau Gunakan ETH proyek untuk gas dan masukkan Batas pendanaan harian. Aktifkan Sweep otomatis, lalu Simpan aturan dan konfirmasikan. Membuka Penyiapan saja tidak mengaktifkan apa pun.

Batas harian membatasi gas native yang dialokasikan per aturan token dalam periode berjalan 24 jam. €1 bisa menjadi batas awal untuk penggunaan ringan, bukan jaminan biaya atau tagihan harian. Transaksi pendanaan juga memiliki biaya. Biaya jaringan maksimum % bisa membatasi gabungan biaya pendanaan/transfer.

Pemeriksaan berjalan otomatis. Hanya alamat pemegang token yang memenuhi syarat yang menerima gas; alamat kosong tidak menerima. Alamat yang kekurangan dana dan berada di bawah minimum sweep akan menunggu. Penjelasan batas gas →

Praktik terbaik & transfer yang dijeda
  • Cadangkan dompet dan uji transfer kecil. Kirim token sebelum menghabiskan koin native. ETH di tempat lain dalam proyek harus mencapai setiap alamat token terlebih dahulu; gas yang tidak terpakai tetap di dompetmu.
  • Gunakan saldo terbaru, penyedia sehat, dan dana native yang cukup. Aturan otomatis memerlukan dompet aktif yang sudah dicadangkan serta aset yang diaktifkan di toko aktif. Saldo rendah pada kredit pemrosesan bisa menjeda pengiriman.
  • Di Aktivitas transfer, periksa progres, Pendanaan gas, dan tautan penjelajah. Jika hasilnya belum pasti, segarkan transfer yang sama; jangan membuat pengganti. Lanjutkan hanya setelah meninjau alasan dan batasnya.

Pengiriman dinonaktifkan? Periksa whollycrypto transfers status. Tinjau setiap aturan aktif sebelum whollycrypto transfers enable: ini berlaku di seluruh server dan bisa langsung menjalankan aturan tersimpan. Menghentikan langkah mendatang tidak bisa membatalkan transaksi yang telah disiarkan.

Domain

Pengaturan → Sistem: pilih Kelola atau Tambahkan domain. Simpan, tinjau DNS, publikasikan. Host yang tidak berubah melewati pemeriksaan DNS/SSL.

Domain toko

Toko → Dasar: pilih host merchant/pay/API aktif. Tautan mengutamakan toko → toko bawaan → sistem; nama yang dihentikan beralih ke cadangan. Konfigurasikan host SDK secara terpisah. Percobaan ulang bertanda tangan mempertahankan tautan aslinya.

HTTPS berjalan otomatis. Ubah status Cloudflare setelah penyiapan; Let's Encrypt tetap aktif.

Daftar periksa Cloudflare
  • Gunakan Full (strict), bukan Flexible; tidak memerlukan kunci API.
  • Nonaktifkan caching dan tantangan browser/bot untuk konsol, checkout, dan API.
  • Izinkan /.well-known/acme-challenge/ pada port 80 tanpa pengalihan/tantangan untuk perpanjangan.

Pemeriksaan meminta DNS otoritatif dan memverifikasi origin: Langsung atau Cloudflare. Pengunjung mungkin menyimpan DNS lama dalam cache.

Penyimpanan/penghapusan konsol menggunakan POST sejak 5.6.2; pengecualian “Not GET or POST” tidak diperlukan. Login dan CSRF tetap aktif. Pada api.*, izinkan metode yang didokumentasikan untuk API publik.

Keamanan akun

Siapkan 2FA di Pengaturan → Akun. Pengguna khusus proyek menggunakan Keamanan saya di footer. Konfirmasikan kata sandi, pindai QR/kunci TOTP, dan masukkan kode enam digit.

Coba Verifyr Authenticator untuk iOS atau Android, atau aplikasi TOTP standar lainnya. Simpan kode pemulihan sekali pakai secara terpisah dari kata sandi. Biarkan perlindungan HTTP Basic tetap aktif.

Pemulihan dan tampilan

Mengganti kode atau menonaktifkan 2FA memerlukan kata sandimu dan autentikator atau kode pemulihan yang belum digunakan. Sesi lain diakhiri. Sinkronkan jam ponsel/server; 2FA tidak mengamankan server yang telah disusupi.

Ikon tema beralih antara Terang → Redup → Gelap dan mengingat pilihan browser ini. Tema checkout toko terpisah.

Keamanan server

  • Gunakan kunci SSH dan batasi SSH ke IP tepercaya. Pertahankan koneksi pemulihan yang telah diuji.
  • Aktifkan proxy Cloudflare setelah penyiapan, menggunakan Full (strict).
  • Di Pengaturan → Sistem → Pembatasan IP sumber, izinkan IP/rentang tepercaya untuk setiap nama host merchant.* atau api.* yang aktif. IP konsol saat ini harus tetap diizinkan.
  • Biasanya biarkan pay.* terbuka: pelanggan perlu membayar dari mana saja.
Cloudflare dan pemulihan akses terkunci

Jika mau, tambahkan aturan akses Cloudflare. Kecualikan tantangan perpanjangan HTTPS; hindari tantangan login interaktif pada API dan checkout. Mode proxy saja bukan pembatasan IP.

Akses terkunci? Jalankan whollycrypto access-reset --domain merchant.example.com melalui SSH. Hanya nama host tersebut yang dibuka kembali, dalam lima detik; autentikasi akun tetap aktif.

Perbaiki HTTPS

whollycrypto ssl
whollycrypto ssl --fix

Perintah pertama memeriksa sertifikat aktif. --fix memperbaiki file pendukung TLS dan memperpanjang sertifikat yang hilang/akan kedaluwarsa. Nginx harus berjalan; biarkan port 80/443 terbuka.

Terbitkan ulang satu sertifikat

Jalankan whollycrypto ssl --domain merchant.example.com --reissue untuk penggantian paksa. Batas penerbitan berlaku. Jika Cloudflare memblokir tantangan HTTP, gunakan DNS-only sementara. Dompet, autentikasi, dan domain tetap sama.

Pemeriksaan harian

  • Di bawah Perlu perhatian, pilih faktur atau halaman saat ini untuk menandai sudah ditinjau, menambahkan catatan, atau memindai ulang. Keputusan keuangan tetap dilakukan satu per satu.
  • Pantau ruang disk, keterlambatan pemindai, dan node cadangan independen. Endpoint publik tidak menjamin kapasitas.
  • Perbarui Linux, batasi SSH, dan batasi pengguna/kunci API ke proyek dan izin yang diperlukan.

Keputusan memerlukan alasan. Pengembalian dana memerlukan transfer terpisah yang terkonfirmasi; perubahan status faktur tidak pernah mengirim uang.

Pembaruan & cadangan

Baca catatan rilis, lalu gunakan Pengaturan → Sistem → Pembaruan perangkat lunak atau CLI. Pembaruan memverifikasi tanda tangan, membuat cadangan, dan memeriksa kesehatan. Checkout dijeda selama instalasi.

whollycrypto update --check
whollycrypto update

Pembaruan menunggu pekerjaan latar belakang hingga dua menit; checkout tetap online. Batas waktu memulihkan timer.

Memperbarui dari 0.1.31 atau sebelumnya

Updater lama terblokir? Jalankan ini sekali. Kunci yang terinstal memverifikasi helper.

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

Simpan cadangan di luar server yang telah diuji untuk PostgreSQL, konfigurasi, kunci enkripsi dompet, dan ekspor dompet. Arsip pemulihan lokal tidak terenkripsi.

Pulihkan cadangan database/konfigurasi yang cocok secara bersamaan. Jangan pernah mengganggu migrasi atau menjalankan binary lama pada database yang lebih baru. Aturan kredit tetap berlaku.

Cadangan unduhan GitHub

Penyiapan dan pembaruan otomatis mencoba mirror GitHub resmi. Pemeriksaan tanda tangan, checksum, dan kredit tetap diperlukan.

CLI server

Perintah root melalui SSH.

whollycrypto status
whollycrypto doctor
whollycrypto backup
Semua perintah
PerintahTujuan
whollycrypto versionVersi terinstal.
whollycrypto statusKesehatan aplikasi dan database.
whollycrypto logs80 baris log aplikasi terakhir.
whollycrypto restartMulai ulang dan periksa kesehatan.
whollycrypto doctorPemeriksaan instalasi hanya baca.
whollycrypto doctor --fixPerbaiki izin yang dikelola dan tautan CLI yang hilang.
whollycrypto htaccessReset login Basic Auth.
whollycrypto admin-resetReset kata sandi administrator.
whollycrypto 2fa-resetReset autentikator satu akun tanpa mengubah kata sandinya.
whollycrypto transfers status
whollycrypto transfers enable
whollycrypto transfers disable
Periksa, aktifkan, atau jeda pengiriman untuk semua proyek. Pengaktifan memulai ulang aplikasi dan bisa langsung menjalankan aturan tersimpan; konfirmasi diperlukan. Pembaruan mempertahankan jeda.
whollycrypto sslPeriksa HTTPS; tambahkan --fix untuk memperbaiki.
whollycrypto access-reset --domain HOSTHapus pembatasan IP satu nama host.
whollycrypto update --checkPeriksa pembaruan bertanda tangan.
whollycrypto updateCadangkan, perbarui, dan mulai ulang.
whollycrypto backupArsip khusus root di /root/whollycrypto/backups/releases/.
whollycrypto recoverPulihkan pemeliharaan atau pembaruan yang terputus dengan skema yang tidak berubah. Tidak pernah memulihkan database secara otomatis.
whollycrypto resetPilih satu proyek, semua proyek bisnis, atau hanya perbaikan.
whollycrypto uninstall --check
whollycrypto uninstall
Pratinjau, lalu hapus runtime native. Database, kunci, dan cadangan tetap tersimpan.
whollycrypto welcomeURL konsol dan tautan.
whollycrypto --helpPerintah; tambahkan --help setelah salah satu perintah untuk melihat opsinya.
Diagnosis masalah instalasi

Pemeriksaan hanya baca, dengan kode keluar bukan nol jika perlu perhatian. --fix hanya memperbaiki izin yang dikelola dan tautan CLI yang hilang. Tidak pernah mengubah penagihan, menghapus data, atau memulai ulang layanan.

Pilih cakupan reset
whollycrypto reset
# Preview without changing anything:
whollycrypto reset --scope business --check
whollycrypto reset --scope project --project YOUR_PROJECT_IDENTIFIER --check

Pilih satu proyek, semua proyek bisnis, atau hanya perbaikan. Reset proyek menghapus secara permanen proyek yang dipilih, toko, catatan dompet, dan riwayat pembayaran. Hanya perbaikan memeriksa dan memperbaiki izin yang dikelola serta tautan CLI.

Nonaktifkan proyek yang dipilih, selesaikan pembayaran/transfer terbuka, dan pindahkan saldo dompet yang diketahui terlebih dahulu. Akun, domain, node, kredit, identitas penagihan, dan mode instalasi tetap ada. Dompet penerimaan operator dan catatan kredit merchant yang dihosting dilindungi. Ini tidak membuka ulang wizard penyiapan.

Reset destruktif memerlukan konfirmasi yang diketik dan membuat cadangan pemulihan terverifikasi sebelum penghapusan. Simpan juga cadangan dompet di luar server: alamat lama masih bisa menerima dana, tetapi proyek yang dihapus berhenti melacaknya. Saldo dalam cache tidak membuktikan dompet kosong.

Hapus instalasi native
whollycrypto uninstall --check
whollycrypto uninstall

Menghentikan checkout, API, dan worker; menghapus file runtime dan integrasi server yang dikelola setelah pencadangan serta konfirmasi yang diketik. Pembayaran atau transfer tertunda memblokir penghapusan. File dipindahkan ke cadangan pemulihan, bukan dimusnahkan.

Database, konfigurasi, kunci, dan cadangan tetap ada. Paket Nginx/PostgreSQL bersama dan sertifikat TLS tidak disentuh. Perintah menampilkan perintah pemulihan offline; jangan menjalankan penyiapan baru di atas data yang dipertahankan.

Perintah reset/penghapusan ditujukan untuk instalasi VPS native, bukan Docker atau Umbrel. Untuk container, gunakan perintah pencadangan dan penghentian integrasimu; pertahankan volumenya. Kedua perintah destruktif tidak menerima --yes.

Reset login Basic Auth
whollycrypto htaccess

Pilih pengguna, tentukan nama/kata sandi, dan konfirmasikan. Ini mereset prompt login pertama browser, bukan akun konsolmu. Pengguna lain dan kredensial API tetap sama.

Reset kata sandi administrator
whollycrypto admin-reset

Pilih admin berdasarkan email dan konfirmasikan kata sandi baru. Sesi dan kunci login akun dihapus; pembatasan IP tetap berlaku.

Reset biasa mempertahankan 2FA. Jika autentikator dan kode pemulihan sama-sama hilang, jalankan secara eksplisit whollycrypto admin-reset --email admin@example.com --reset-2fa. Siapkan 2FA kembali setelah login.

Memerlukan database, bukan aplikasi atau kata sandi lama. Akun lain, dompet, dan izin tetap sama; akun yang dinonaktifkan tetap nonaktif.

Reset 2FA

Autentikator dan kode pemulihan sama-sama hilang? Pilih akun sebagai root.

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

Menghapus sesi, autentikator, dan kode pemulihan. Login dengan kata sandi yang ada dan konfigurasikan 2FA kembali. Izin, dompet, dan Basic Auth tetap sama; akun yang dinonaktifkan tetap nonaktif.

Memerlukan database, bukan aplikasi atau kredit. Noninteraktif: --email dan --yes.

Kata sandi yang dihasilkan dan otomatisasi

Enter menghasilkan kata sandi di /root/whollycrypto/config/credential-resets/: pribadi, tidak terenkripsi, dapat digunakan setelah berhasil. Kata sandi yang dimasukkan manual tidak disimpan.

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

Tanpa terminal, tentukan akun yang sudah ada beserta --generate atau --password-file /root/private-password.txt, dan --yes. File kata sandi harus dimiliki root, dengan mode 600. Jangan pernah memasukkan kata sandi dalam perintah atau variabel lingkungan.

--yes hanya melewati konfirmasi. Selesaikan pemulihan pembaruan terputus terlebih dahulu; perubahan akun bersamaan menghentikan reset.