PHP-SDK
PHP 7.4+Voeg met Composer cryptobetalingen toe aan je PHP-app.
composer require whollycrypto/php-sdkAAN DE SLAG
Installeer, accepteer betalingen en onderhoud je server.
Gebruik een nieuwe Linux-VPS met roottoegang, geen bestaande website- of databaseserver. Docker, een compiler of blockchainnodes zijn niet nodig.
| VPS | Minimum Licht gebruik | Aanbevolen |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 2 GB | 4 GB |
| SSD | 20 GB | 60 GB |
Het minimum is een uitgangspunt voor licht gebruik met minimale Ubuntu-/Debian-images, geen prestatiegarantie. De schijfruimte is inclusief Linux; houd vóór installatie minstens 3 GiB vrij, plus ruimte voor updates, geschiedenis en back-ups.
Het native installatieprogramma vereist x86-64, systemd 247+ en Python 3.9+. ARM64 en Alpine/OpenRC worden niet ondersteund.
Kies een versie die door de leverancier wordt onderhouden. Hogere eisen van het besturingssysteem hebben voorrang: openSUSE Leap 16 vereist meer dan 40 GB schijfruimte.
Meer blockchains en gelijktijdige facturen kunnen meer CPU en RAM vereisen. Een grotere VPS heft RPC-quota niet op. Installatieprocessen worden automatisch getest; volledige tests op nieuwe VPS'en zijn nog niet voor elke distributie afgerond.
Laat deze standaardhostnamen naar je VPS verwijzen of kies je eigen namen:
merchant.example.com: consolepay.example.com: afrekenenapi.example.com: APIGebruik tijdens de installatie DNS-records zonder proxy. Open TCP 80/443 in beide firewalls en houd SSH bereikbaar. Stel PostgreSQL of de app op poorten 5432/8080 nooit publiek beschikbaar.
bash <(curl -fsSL https://releases.whollycrypto.com/setup_wholly.sh)De installatie verifieert downloads en configureert PostgreSQL, Nginx, HTTPS en services. Liever containers? Bekijk de optionele Docker-installatie.
Heb je een specifieke release nodig? Voeg op een nieuwe VPS --version 7.8.1 toe om precies die ondertekende versie te installeren. Zonder deze optie gebruikt de installatie de nieuwste stabiele release.
Bij hervatten blijven de gekozen release en voltooide stappen behouden, ook bij uitwijken naar GitHub. Een bestaande installatie wordt nooit gedowngraded.
Bekijk het installatieprogramma. Voeg --check toe aan de opdracht voor een compatibiliteitscontrole zonder installatie, of --help voor opties.
Hervat opgeslagen voortgang zonder sleutels of instellingen te vervangen:
bash <(curl -fsSL https://releases.whollycrypto.com/setup_wholly.sh) --resumeExtra basisdomeinen kunnen dezelfde servicenamen gebruiken. Eventuele IPv6-records moeten ook naar deze VPS verwijzen. Schakel een Cloudflare-proxy pas in na domeinvalidatie.
QR-codes vragen het volledige openstaande bedrag. Tolerantie accepteert alleen tekorten; bevestigingseisen blijven gelden.
Nieuwe koersen voor herkende stablecoins worden naar boven afgerond: 1.321 USDC → 1.33 USDC, ook bij nultolerantie. Minimum: 0.01 token.
Bestaande facturen, saldi en resterende bedragen na deelbetalingen blijven exact. Andere/eigen tokens behouden hun normale precisie.
Bij beheerdersregistratie wordt je tegoedaccount automatisch aangemaakt met je e-mailadres, met een eenmalig 10 USD gelijkwaardig welkomsttegoed. Geen activeringscode nodig.
Een factuur maken. Een openstaande activering wordt automatisch opnieuw geprobeerd; opnieuw verbinden levert nooit opnieuw tegoed op.
Je Basic Auth-inloggegevens worden opgeslagen in /root/whollycrypto/config/setup-credentials.txt. Ze staan los van het e-mailadres/wachtwoord voor de console.
Nieuwe projecten nemen de standaardvaluta en -tijdzone van het systeem over; winkels gebruiken de projectvaluta. Bestaande accounttijdzones beheer je afzonderlijk onder Instellingen → Account.
whollycrypto welcome toont de URL van je console.
Bij nieuwe installaties vanaf 7.0.0 kies je tijdens de configuratie van de eerste beheerder een modus. Dit kan niet ongedaan worden gemaakt; voor een andere modus is een nieuwe installatie nodig. Installaties van vóór versie 7 blijven in Merchant-modus, ook zonder beheerder.
Merchant: beheer je eigen projecten en winkels. Operator: host afzonderlijke handelsbedrijven op één installatie en reken je eigen vooruitbetaalde verwerkingsvergoeding. Je eigen bedrijf is inbegrepen zonder interne operatorvergoeding.
De operatorconfiguratie vraagt om een vierde adres, zoals operator.example.com, en een eigen Basic Auth-gebruikersnaam en -wachtwoord. Kies je label, laat DNS naar de VPS verwijzen, controleer DNS en activeer HTTPS. Het paneel opent rechtstreeks op dat adres. Je handelaars-, afreken- en API-adressen blijven afzonderlijk.
Gebruik de nieuwe Basic Auth-inloggegevens voor de operator en vervolgens je beheerders-e-mailadres/wachtwoord. Basic Auth voor handelaars blijft ongewijzigd. De installatie kan na DNS- of certificaatfouten worden hervat. Operators die upgraden vanaf 7.0.0 doorlopen deze stap ook; bestaande live adressen blijven beschikbaar.
Bij 3% kost een factuur van 100 EUR 3 EUR aan handelaarstegoed. Als de tegoedvaluta verschilt, wordt de fiatkoers op het moment van aanmaken bij de vergoeding opgeslagen.
De operator betaalt de normale Wholly Crypto-installatievergoeding afzonderlijk. Geld van klanten wordt niet op de blockchain gesplitst. Opwaarderingen worden niet opnieuw belast.
Alleen een automatisch geverifieerde betaling schrijft een opwaardering bij. Een afrekenpagina openen of een factuur handmatig accepteren doet dat niet. Terugboekingen maken boekingsregels; een teruggeboekte opwaardering die opnieuw binnenkomt, moet door de operator worden beoordeeld.
Een laag handelaarstegoed pauzeert IPN, webhooks, sweeps en het maken van nieuwe projecten/winkels. Bestaande klantfacturen en ontvangst blijven werken. Een laag installatietegoed kan automatisering voor alle gehoste bedrijven pauzeren. Een handelaar uitschakelen blokkeert ook inloggen en nieuwe facturen, terwijl oude betalingen gevolgd blijven worden.
Dit is scheiding op applicatieniveau, geen afzonderlijke VPS voor elke handelaar. Handelaars hebben geen toegang tot elkaars projecten, wallets, API-inloggegevens, beursaccounts of tegoeden. De serverbeheerder heeft toegang tot de gehoste hot-walletsleutels. Informeer handelaars hierover vóór aansluiting; gebruik vertrouwde hosting, onafhankelijke back-ups en voldoende capaciteit voor gedeelde werklasten.
Beschikbaar in Operator-modus vanaf 7.1.0.
Vanaf 7.2.0 Wallets beheert ontvangstsaldi, adressen en back-ups; Sweep verwerkt verzendingen en automatische regels. Houd ETH aan voor tokenkosten. Opwaarderingen van handelaars houdt hun aankopen bij. Het tegoed in de kopbalk betaalt de installatiekosten afzonderlijk. Mijn bedrijf opent je eigen console in een nieuw tabblad.
Open Financiën voor verdiende vergoedingen, geverifieerde installatiekosten, geschatte marge en actuele handelaarstegoeden. Filter op datum, handelaar of rapportagevaluta; exporteer CSV.
Rapporten groeperen facturen op hun eerste betaling en verwerken de meest recente terugboekingen van vergoedingen. Vooruitbetaalde saldi zijn geen omzet. Kosten voor je eigen bedrijf blijven afzonderlijk. Bij openstaande kosten of ontbrekende koersen zijn de betrokken marges niet beschikbaar. Omgerekende bedragen gebruiken de huidige gecachte fiatkoersen; gas- en bedrijfskosten zijn niet inbegrepen.
Handelaar toevoegen maakt een uitnodiging. Vanaf 7.3.0 kun je gratis starttegoed in de tegoedvaluta van de handelaar kiezen; nul is toegestaan. Dit vult je operatorsaldo niet aan. Uitnodiging per e-mail versturen is standaard aangevinkt.
Configureer je SMTP-provider eerst onder Instellingen → Uitnodigingsmail met TLS of STARTTLS. De verbindingstest verstuurt geen e-mail. Je kunt e-mail ook uitvinken en de link privé delen. Bij een mislukte e-mail blijven account en tegoed behouden; maak de handelaar niet opnieuw aan.
Voor een andere link of het herstellen van een wachtwoord open je Handelaars → Beheren → Gebruikersaccounts. Acceptatie door SMTP garandeert geen bezorging in de inbox. Deel Basic Auth voor handelaars afzonderlijk, nooit operatorinloggegevens.
Uitnodigingen zijn 48 uur geldig; herstellinks één uur. Elke link werkt één keer. Vervang of trek een link in via hetzelfde scherm. Een wachtwoordherstel meldt bestaande sessies af, maar houdt 2FA ingeschakeld. Basic Auth voor de handelaar blijft vereist.
Automatiseer gehoste handelaars met SDK 2.6.0 en Wholly Crypto 7.4.0+. Schakel Operator → Instellingen → Operator-APIin en maak vervolgens een serversleutel met afgebakende rechten.
Maak accounts rechtstreeks met een wachtwoord of verstuur uitnodigingen. Beheer gebruikers, projecten, winkels, tarieven en lokaal vooruitbetaald tegoed; lees rapporten en abonneer je op ondertekende levenscyclusgebeurtenissen. Toestemming voor sleutelbeheer bij de eerste aanmelding, 2FA en scheiding tussen handelaars blijven van kracht.
Elke schrijfactie vereist een opgeslagen idempotentiesleutel. Toegekend tegoed is een lokale accountaanpassing, geen opwaardering van de installatie. Walletgeheimen, verzenden en serverconfiguratie vallen buiten deze API.
Gebruik api.your-domain.com/v1/operator. Bewaar Operator-sleutels op je backend, nooit in een browser of bij een gehoste handelaar.
Operator-API-referentie & rechten → · Officiële SDK's & voorbeelden →
Instellingen → Tokens laadt eerst 250 tokens en daarna de rest van de catalogus.
Project → Wallets → Alles back-uppen exporteert TXT of doorzoekbare offline HTML met QR-codes. Beide bevatten sleutels en herstelzinnen. Bewaar een privékopie buiten de server; deel of upload deze nooit.
Root heeft toegang tot sleutels. Handleidingen voor walletherstel leggen factuuradressen, gas in de eigen munt en externe Monero-/Lightning-back-ups uit.
Instellingen → Adresboek: sla een blockchain/adres op. Eigen munten en gekoppelde CoinGecko-tokens verschijnen automatisch. Alleen-lezen, beheerd door de beheerder; acceptatie bij het afrekenen blijft ongewijzigd.
Tokenlezers ondersteunen 22 blockchains. Privésaldi en Bitcoin-/CashTokens-/Kaspa-uitbreidingen vereisen afzonderlijke toegang of indexeerders. Mislukte uitlezingen tonen fouten, geen nullen.
Verzamel saldi van factuuradressen in een andere wallet met handmatig verzenden of automatische sweeps. Tokenoverschrijvingen vereisen ook de eigen munt van de blockchain voor kosten.
Prijs niet beschikbaar gaat over koersen, niet over saldi.
Netwerk en decimalen worden gecontroleerd. Prijzen voor het hele project wijzigen bestaande prijsopgaven niet. Een catalogusmatch alleen schakelt de token niet in voor afrekenen.
DEX Screener vereist een pool met exact het contract, $10,000 liquiditeit en een transactie in het afgelopen uur. Koersen worden elke minuut vernieuwd; mislukte of vijf minuten oude koersen blokkeren nieuwe prijsopgaven.
DEX-prijzen kunnen worden gemanipuleerd; controles zijn geen audits. Gebruik vertrouwde standaard ERC-20- of klassieke SPL-tokens. Token-2022/extensies worden niet ondersteund. Gebruik zonder geschikte pool een vaste prijs.
Instellingen → Systeem → Regionale standaardinstellingen stelt de valuta/tijdzone van nieuwe projecten en de tijdzone van nieuwe accounts in. Bestaande instellingen en tegoeden blijven ongewijzigd; de dashboardvaluta blijft afzonderlijk aanpasbaar.
Persoonlijke tijdzone: Instellingen → Account → Gebruiker bewerken.
Gebruik Betaalmethoden → Kiezen voor deze factuur om geaccepteerde blockchains/tokens te beperken. Alle betaalmethoden van de winkel behoudt de standaardinstellingen.
Test vóór ingebruikname een kleine betaling met elke methode. Controleer de factuur voordat je een bestelling afhandelt: een terugkeer-URL is geen betalingsbewijs.
Verifieer voor integraties ondertekende IPN/webhooks en bevestig de status via de factuur-API. Behandel dubbele gebeurtenissen als dezelfde gebeurtenis.
API: filter payment_methods op chain_slug en asset_tickers. Inactieve keuzes worden genegeerd; zonder overeenkomsten gelden de winkelstandaarden. Alleen een blockchain kiezen omvat alle actieve activa. Gedeelde tickersymbolen vereisen activa-ID's. Wallets en koersen blijven vereist.
Scanner offline? Facturen behouden de ingestelde methoden terwijl detectie wacht. Controleer ondersteunde API's onder Blockchainverbindingen; gezond betekent niet compatibel met de scanner. Standaard: twee onafhankelijke providers.
Wallets/koersen blijven vereist. Monero-/Lightning-services moeten betaalverzoeken kunnen uitgeven.
API-/MCP-fouten bevatten error.details.payment_methods. SDK 2.4.0 voegt veilige uitleg toe: PHP getPaymentMethodIssues(), Python payment_method_issues, Node paymentMethodIssues. Foutreferentie →
Cryptobedragen worden naar boven afgerond en bevatten de opslag van de winkel. Een factuur met een fiatprijs zet de ontvangen crypto niet om naar een banksaldo.
Bij nul bevestigingen wordt de factuur bij detectie voldaan, zonder bescherming door netwerkbevestigingen. Betalingen met de eigen munt van een EVM-netwerk worden als directe overschrijvingen gedetecteerd. Beoordeel ongebruikelijke of onzekere betalingen onder Aandacht nodig.
Controleer Blockchainverbindingen voor compatibele API's, volledige geschiedenis en onafhankelijke providers. Het inhalen via ruwe nodes kost tijd. Alle ontvangst-API's →
Betalingen, saldi en onderhoud delen providerbudgetten. Controles bij inactiviteit worden minder frequent. Oudere facturen blijven gecontroleerd worden op late betalingen en reorganisaties, na het inhalen tot eenmaal per uur. Beschikbare WSS-signalen vullen HTTP-scanning aan. De afrekenpagina sluiten stopt detectie nooit. Publieke nodes hebben nog steeds limieten; Wholly Crypto beheert geen nodes.
Standaard geblokkeerd. Schakel Winkels → Factuur → Facturen met nulbedrag toestaan in om handmatig of via de API nultotalen toe te staan. Deze worden onmiddellijk afgerond, zonder betaling, ontvangstadres, transactie of verwerkingsvergoeding.
Winkel → Afrekenen: kleuren, logo's, methoden, links, lettergroottes voor Intro/Outro en zichtbaarheid van project-/winkelnaam. Nieuwe winkels nemen het ontwerp van de standaardwinkel over. Wijzigingen worden automatisch opgeslagen.
Voorbeelden kunnen geen betalingen ontvangen. Geen eigen HTML/CSS/JavaScript.
IPN verstuurt elke factuurgebeurtenis naar de winkel-URL of de factuur ipn_url. Webhooks versturen geselecteerde gebeurtenissen. Beide versturen via POST dezelfde JSON-momentopname.
Wanneer moet ik de bestelling afhandelen? Gebruik voor verwerking op basis van gebeurtenissen event_type = invoice.settled met status = settled. Verifieer de huidige factuur en je bestelling en handel deze vervolgens één keer af. payment.received alleen is niet voldoende.
status is de factuurstatus op het moment dat de gebeurtenis wordt gemaakt; event_type vertelt je wat er is gebeurd.
payment.received + processing, daarna invoice.settled + settled.payment.received en invoice.settled bevatten beide settled.Beide processen kunnen op andere blockchains voorkomen. Het zijn verschillende gebeurtenissen, niet noodzakelijk twee betalingen. Ze kunnen dezelfde sequence hebben maar verschillende event_id waarden. De bezorgvolgorde is niet gegarandeerd; vereis niet dat processing eerst komt.
| Factuurstatus | Betekenis |
|---|---|
new | Wacht op betaling |
processing | Deelbetaling of wachten op definitieve bevestiging |
settled | Geaccepteerd volgens de factuurregels of handmatig |
expired | Deadline verstreken; controle op late betalingen kan doorgaan |
invalid | Betaling vereist beoordeling of is afgewezen |
cancelled | Geannuleerd, niet terugbetaald |
Gebeurtenissen: invoice.created, payment.received, invoice.processing, invoice.settled, invoice.expired, invoice.invalid, invoice.cancelled. Volledige gebeurtenissentabel en uitzonderingsregels →
amount_status: none, partial, paid, overpaid. paid omvat tolerantie, geen definitieve bevestiging. timing_status: on_time of late. resolution: automatic, manually_settled of manually_invalidated. Pas je uitzonderingsbeleid toe wanneer requires_review waar is.
invoice_id komt overeen met het API-antwoord. amount, currency en order_id beschrijven je oorspronkelijke bestelling. payment_info voegt overschrijvingen, exacte cryptobedragen, vastgezette koers/opslag/tolerantie en indicatieve koersen toe. Klantgegevens en metadata zijn privé.
paid_chain, paid_asset, paid_payment_method_id, paid_asset_amount, paid_asset_amount_received en settlement_exchange_rate vatten de voldoening van de factuur samen. Ze blijven vastgezet; ontbrekend bewijs of ontbrekende geschiedenis blijft null. Gebruik voor latere ontvangsten payment_info of de betalingen-API.
Gebruik decimale tekenreeksen. Voeg activa nooit samen en behandel onbevestigd geld niet als ontbrekend. Verwerk uitzonderingen expliciet; een waarschuwing alleen geeft nooit toestemming voor levering of terugbetaling. Geverifieerde interne gasopwaarderingen zijn geen klantbetalingen en activeren geen payment.received.
Afzonderlijke ondertekeningsgeheimen: Winkel → IPN ondertekent IPN-bezorgingen, inclusief de aangepaste ipn_url. Elk eindpunt onder Winkel → Webhooks heeft een eigen geheim, dat wordt getoond bij aanmaken of vernieuwen.
Beide gebruiken Wholly-Signature en dezelfde SDK-verificatie, maar vereisen het bijbehorende geheim, geen API-sleutel. Het IPN-geheim vernieuwen verandert webhookgeheimen niet.
Verifieer de onbewerkte body, tijdstempel en project-/winkelcontext. Sla duurzaam op en geef vervolgens HTTP 2xx terug. Een worker controleert de huidige factuur via je ingestelde API-host en handelt de bestelling één keer af in een databasetransactie. Headers zijn niet ondertekend; gebruik de ondertekende identiteit in de body van versie 2.
Op basis van gebeurtenissen: ontdubbel de ondertekende event_id, filter vervolgens invoice.settled. SDK op basis van status: ontdubbel op project + invoice_id + sequence, controleer daarna de status ongeacht het gebeurtenistype. Voeg na deze samenvoeging geen gebeurtenisfilter toe. Beide vereisen afzonderlijke bescherming tegen dubbele afhandeling op bestelniveau.
Bij nieuwe pogingen blijven de oorspronkelijke body en gebeurtenis-ID behouden. Oudere revisies mogen nieuwere niet overschrijven. IPN probeert het maximaal acht keer; nieuwe webhookpogingen zijn optioneel. Een laag tegoed pauzeert bezorgingen, niet betalingen.
Winkel → IPN / Webhooks → Geschiedenis → Details toont de opgeslagen body en het resultaat. Payloads verlopen na 90 dagen. Opnieuw verzenden is geen bewijs van betaling.
Volledige payload, gebeurtenissentabel en ontvangervoorbeelden →
Stuur ondersteunde activa naar Kraken, Binance of Coinbase. Bewaar de munt of zet bijgeschreven stortingen om. Fiatgeld blijft op de beurs.
Minimale stortingsbedragen gelden per transactie, niet per sweep. Stortingen onder het minimum stoppen het plan. Verzamel kleine saldi eerst in je eigen wallet; daarbij gelden extra netwerkkosten.
Markten worden elke twee minuten vernieuwd. Alleen gekoppelde, bijgeschreven stortingen kunnen worden omgezet; verouderde markten stoppen nieuwe orders. Een bronreserve van 1% blijft op de beurs voor kosten/afronding, los van verwerkingstegoed.
Minimumbedrag behouden reserveert munten/tokens voor het hele project na automatische sweeps. Staat los van de activeringsdrempel; nul bewaart niets. Kosten worden uit het overschot betaald. Handmatige verzendingen blijven ongewijzigd.
Hervat onzekere overschrijvingen; vervang ze nooit. Wallets blijven gereserveerd tot bevestiging of het verlopen van een ongebruikte prijsopgave. Grote sweeps vereisen batches.
Bewaring door de beurs, KYC, regionale beperkingen en kosten zijn van toepassing. Geen bankuitbetalingen of hefboomwerking. Een laag tegoed pauzeert nieuwe omzettingen; ingediende orders worden wel verder afgestemd.
Je blijft betalingen ontvangen wanneer je tegoed opraakt. Bestaande winkels behouden facturen, afrekenen en betalingsmonitoring. Een ontbrekende geverifieerde factureringsverbinding of een geschorst account is iets anders en kan nieuwe facturen blokkeren.
| Blijft beschikbaar | Gepauzeerd zonder bruikbaar tegoed |
|---|---|
| Facturen, afrekenen en bevestigingen | IPN/webhooks, inclusief nieuwe pogingen |
| Wallets, saldi en back-ups | Sweep: verzenden, gas, terugbetalingen en nieuwe beursomzettingen |
| Rapporten, lees-API's en bestaande instellingen | Projecten en winkels maken |
| Controleren op updates en herstel van onderbroken updates | Nieuwe versies installeren |
Waardeer op via het tegoedpictogram. Na geverifieerd herstel wordt ingeschakelde automatisering hervat, inclusief sweepregels die geld versturen. Schakel regels uit die je niet wilt hervatten.
Open Automatisch opwaarderen na Verzoeken. Kies een ontvangstwallet waarvan een back-up is gemaakt, een drempel, aankoopbedrag, daglimiet en maximum voor netwerkkosten. Geef toestemming en sla op. De functie staat aanvankelijk uit.
Gebruik BTC, ETH of Ethereum USDC/USDT wanneer deze worden aangeboden. Adressen die tokens versturen hebben ETH nodig; deze regel financiert ontbrekend gas niet. Operators gebruiken afzonderlijke ontvangstwallets; gehoste handelaars betalen hun Operator.
De goedgekeurde opwaardering kan worden uitgevoerd terwijl een laag tegoed Sweep pauzeert. Alleen de ontvangende dienst bevestigt het tegoed. Er loopt één automatische aankoop tegelijk. Uitschakelen stopt nog niet verzonden werk, geen ingediende transacties.
Gebruik bij Automatisch opwaarderen Betaling controleren. Hervat dezelfde geldige betaling, of sluit een geverifieerde mislukte Ethereum-overschrijving en pauzeer de regel. Openstaande of onzekere betalingen blijven geblokkeerd om dubbele verzending te voorkomen. Een verlopen prijsopgave is geen bewijs van mislukking.
Het standaardtarief van 1% gebruikt de oorspronkelijke fiatwaarde van de voldane factuur. Cryptobetalingen van klanten worden niet gesplitst.
Kosten blijven oplopen tot een negatief saldo. Zuiver het negatieve bedrag aan en herstel bruikbaar tegoed boven de respijtdrempel van je account. Saldowijzigingen verschijnen bij een gezonde verbinding doorgaans binnen 10–15 seconden.
Voor het installeren van updates is geverifieerd tegoed boven nul nodig, ook met een respijtregeling voor automatisering. Opwaarderen installeert nooit automatisch updates.
Gepauzeerde meldingen verbruiken geen pogingen. Bewaarde bezorgingen worden hervat; normale vervaltermijnen blijven gelden. Controleer gemiste gebeurtenissen via de factuur-API.
Als de operator verwerkingskosten uitschakelt, gelden geen nieuwe verwerkingskosten of tegoedbeperkingen. Eerdere kosten blijven in de geschiedenis staan. Een niet-gekoppelde installatie kan projecten/winkels instellen, maar heeft geverifieerde facturering nodig om facturen uit te geven. Reeds uitgegeven facturen blijven gevolgd worden.
Omzetgrafieken en filters blijven boven de tabbladen: Projecten & winkels, Facturen, Wallets en Sweeps. Zoek hieronder. Projecten & winkels bevat CSV-exports. Aangepaste datumbereiken beslaan maximaal 366 dagen. Wallets gebruiken gecachte saldi.
Optionele, tot projecten beperkte toegang via api.example.com/mcp. Lees betalingen of geef toestemming om facturen te maken. MCP instellen & rechten →
Gebruik onze officiële SDK's om facturen te maken, betalingen te controleren en IPN/webhooks te verifiëren.
Voeg met Composer cryptobetalingen toe aan je PHP-app.
composer require whollycrypto/php-sdkVerbind je Python-app of backend zonder runtime-afhankelijkheden.
python -m pip install whollycryptoJavaScript of TypeScript, één npm-pakket met ingebouwde typen.
npm install whollycryptoVoeg de main-branch toe in Xcode. Swift instellen en appbeveiliging →
https://github.com/whollycrypto-com/whollycrypto-swift-sdk.gitGebruik het API-domein van je installatie en bewaar API-sleutels op de server. Alle SDK's hebben een MIT-licentie.
Open Project → Betaalhulpmiddelen en kies een winkel. Deel een herbruikbare betaallink, ontvang betalingen bij een verkooppunt of plan betaalverzoeken per e-mail.
Winkeluiterlijk, bevestigingen en callbacks blijven gelden. Een hulpmiddel pauzeren stopt nieuwe verzoeken, geen bestaande betalingen. De geschiedenis linkt naar elke factuur. Gemiste perioden veroorzaken geen stortvloed aan e-mails; opnieuw verzenden hergebruikt dezelfde onbetaalde, niet-verlopen factuur.
Afrekenen voor klanten, betaallinks en geplande e-mails ondersteunen Engels, Duits, Spaans, Braziliaans Portugees, Italiaans, Russisch, vereenvoudigd Chinees, Frans, Koreaans en Japans.
Winkel → Factuur → Afrekentaal stelt de standaard in. Je kunt die per factuur of betaalhulpmiddel aanpassen. E-mails en herverzendingen behouden de factuurtaal. Je tekst blijft ongewijzigd; Merchant- en Operator-consoles blijven Engelstalig.
Schakel onder Instellingen → Systeem, onder Bron-IP-beperkingen, SMTP in met de publieke hostnaam, inloggegevens en afzender van je provider en eventueel een antwoordadres. Gebruik TLS op poort 465 of STARTTLS op 587.
Sla op, test de verbinding en stuur vervolgens een testmail naar jezelf. Stel SPF/DKIM in bij je provider. Acceptatie door SMTP garandeert geen bezorging in de inbox.
Geplande verzoeken gebruiken systeem-SMTP. Meldingskanalen kunnen dit ook kiezen; bestaande kanaalinstellingen en Operator-uitnodigingsinstellingen blijven ongewijzigd. Alleen de installatiebeheerder beheert deze versleutelde inloggegevens. Mislukte e-mailinzendingen vereisen expliciet opnieuw verzenden.
De bel opent je meldingeninbox. Themakeuzes staan in het instellingenmenu.
Herhaalde problemen worden gegroepeerd. De geschiedenis blijft 30 dagen bewaard; projectrechten blijven gelden. Een melding lezen lost het probleem niet op. Meldingen voor mensen vervangen IPN of webhooks van de winkel niet.
Schakel Project → Marketplace in, kies winkels en registreer verkopers met onafhankelijk geverifieerde bestemmingen. Maak één factuur met exacte verkopersaandelen; keur uitbetalingen handmatig goed of stel begrensd automatisch beleid in.
Alleen Bitcoin-mainnet en ondersteunde EVM-munten/ERC-20. Klanten betalen eerst aan wallets onder beheer van het project, niet rechtstreeks aan verkopers. Houd vrij beschikbare eigen munten aan voor kosten. Gewone sweeps sluiten beschermde ontvangstadressen uit.
De verwerkingsvergoeding geldt één keer voor de oorspronkelijke factuur, los van je commissie. Onderbetalingen en onzekere ontvangsten vereisen beoordeling. Terugbetalingen na uitbetaling aan verkopers vereisen afzonderlijke middelen; er vindt geen automatische terugvordering plaats.
Betalingen voor meerdere verkopers instellen · Marketplace-API-referentie
Open Instellingen → Boekhouding voor Rapporten, Transacties, Exports en Controles. Het dashboard blijft afzonderlijk.
Bevestigde ontvangsten, terugbetalingen en geregistreerde kosten staan los van walletoverboekingen en aankopen van vooruitbetaald tegoed. Factuurtotalen worden één keer geteld, ook bij meerdere betalingen.
Historische waarden gebruiken bewaard bewijs, geen prijzen van vandaag. Oudere koersen en werkelijke kosten kunnen ontbreken; ontbrekende kosten worden nooit als nul aangenomen. Bij onvolledig bewijs blijft het nettototaal niet beschikbaar.
Dit omvat gegevens die door Wholly Crypto worden bijgehouden, niet elke externe wallet- of beurstransactie. Het is een hulpmiddel voor de boekhouding, geen belastingaangifte of winstoverzicht. Deel exports veilig: ze kunnen e-mailadressen van klanten bevatten.
Verplaats ontvangen geld naar de bestemming die je kiest. Beheer regels en geschiedenis onder Project → Sweep.
Verstuur eigen munten op 29 blockchains; Monero blijft alleen-lezen. Tokens: geverifieerde ERC-20 en klassieke SPL. Handmatig verzenden en automatische sweeps gebruiken dezelfde beveiligingsmaatregelen.
Naast BTC, EVM, SOL en TRX zijn er 18 adapters voor eigen munten. Gebruik een provider die transacties kan indienen. ZEC ondersteunt alleen transparante transacties; ADA behoudt tokenoutputs; DOT gebruikt Asset Hub; HBAR vereist een relay. Bestemmingen met een uitgaand memo/tag/commentaar vereisen een externe wallet.
Gasfinanciering, bevestigingen en tokenverzending gaan na goedkeuring op de achtergrond door. Volg Overschrijvingsactiviteit, ook nadat je het venster hebt gesloten. Uitzenden is geen bevestiging.
In de projectwallet te behouden ETH: 0 voegt geen reserve toe; het besteedt niet al je ETH. 0.005 bewaart minimaal 0.005 ETH voor later, dus je hebt extra middelen nodig voor dit proces. Opgeslagen automatische regels blijven ongewijzigd.
De daglimiet begrenst de hoeveelheid eigen munt die per tokenregel gedurende een voortschrijdende periode van 24 uur aan gas wordt toegewezen. €1 kan een startlimiet voor licht gebruik zijn, geen gegarandeerde kostprijs of dagelijkse afschrijving. Financieringstransacties hebben ook kosten. Maximale netwerkkosten % kan de gecombineerde financierings- en overschrijvingskosten beperken.
Controles lopen automatisch. Alleen geschikte adressen met tokens ontvangen gas; lege adressen niet. Een adres met onvoldoende middelen onder het sweepminimum wacht. Uitleg over gaslimieten →
Verzenden uitgeschakeld? Controleer whollycrypto transfers status. Controleer elke ingeschakelde regel voordat je whollycrypto transfers enable: dit geldt voor de hele server en kan opgeslagen regels onmiddellijk uitvoeren. Toekomstige stappen stoppen kan uitgezonden transacties niet terugdraaien.
Instellingen → Systeem: kies Beheren of Domein toevoegen. Sla op, controleer DNS en publiceer. Ongewijzigde hosts slaan DNS-/SSL-controles over.
Winkel → Basis: kies actieve handelaars-/betaal-/API-hosts. Links kiezen in de volgorde winkel → standaardwinkel → systeem; vervallen namen vallen terug op een alternatief. Stel SDK-hosts afzonderlijk in. Ondertekende nieuwe pogingen behouden hun oorspronkelijke links.
HTTPS is automatisch. Schakel Cloudflare na de installatie in of uit; Let's Encrypt blijft actief.
/.well-known/acme-challenge/ toe op poort 80 zonder omleidingen of challenges voor verlengingen.Controles bevragen gezaghebbende DNS en verifiëren de oorsprong: direct of Cloudflare. Bezoekers kunnen oudere DNS-gegevens gecacht hebben.
Opslaan/verwijderen in de console gebruikt sinds 5.6.2 POST; er is geen uitzondering voor “Not GET or POST” nodig. Aanmelding en CSRF blijven actief. Sta op api.*de gedocumenteerde methoden van de publieke API toe.
Stel 2FA in onder Instellingen → Account. Gebruikers met alleen projecttoegang gebruiken Mijn beveiliging in de voettekst. Bevestig je wachtwoord, scan de TOTP-QR-code/sleutel en voer een zescijferige code in.
Probeer Verifyr Authenticator voor iOS of Android, of een andere standaard TOTP-app. Bewaar de eenmalige herstelcodes afzonderlijk van je wachtwoord. Houd HTTP Basic-beveiliging ingeschakeld.
Codes vervangen of 2FA uitschakelen vereist je wachtwoord en een authenticatorcode of ongebruikte herstelcode. Andere sessies worden afgemeld. Houd de klokken van telefoon/server gelijk; 2FA beveiligt geen gecompromitteerde server.
Het themapictogram wisselt tussen Licht → Gedimd → Donker en onthoudt de keuze van deze browser. Thema's van winkelafrekenpagina's staan hier los van.
merchant.* of api.* hostnaam. Het huidige console-IP moet toegestaan blijven.pay.* open: klanten moeten overal vandaan kunnen betalen.Voeg eventueel Cloudflare-toegangsregels toe. Zonder HTTPS-verlengingschallenges uit; vermijd interactieve aanmeldchallenges voor API en afrekenen. Alleen proxymodus is geen IP-beperking.
Buitengesloten? Voer whollycrypto access-reset --domain merchant.example.com uit via SSH. Alleen die hostnaam wordt binnen vijf seconden weer geopend; accountauthenticatie blijft ingeschakeld.
whollycrypto ssl
whollycrypto ssl --fixDe eerste opdracht controleert actieve certificaten. --fix herstelt TLS-ondersteuningsbestanden en vernieuwt ontbrekende of bijna verlopen certificaten. Nginx moet draaien; houd poorten 80/443 open.
Voer whollycrypto ssl --domain merchant.example.com --reissue uit voor een geforceerde vervanging. Uitgiftelimieten gelden. Als Cloudflare de HTTP-challenge blokkeert, gebruik dan tijdelijk alleen DNS. Wallets, authenticatie en domeinen blijven ongewijzigd.
Beslissingen vereisen een reden. Terugbetalingen vereisen een afzonderlijke bevestigde overschrijving; een factuurstatus wijzigen verstuurt nooit geld.
Lees de releaseopmerkingen, gebruik daarna Instellingen → Systeem → Software-updates of de CLI. Updates verifiëren handtekeningen, maken back-ups en controleren de werking. Afrekenen wordt tijdens de installatie gepauzeerd.
whollycrypto update --check
whollycrypto updateUpdates wachten maximaal twee minuten op achtergrondtaken; afrekenen blijft online. Bij een time-out worden timers hersteld.
Oudere updater geblokkeerd? Voer dit één keer uit. Je geïnstalleerde sleutel verifieert het hulpprogramma.
bash <(curl -fsSL https://releases.whollycrypto.com/update_wholly.sh)Bewaar geteste back-ups buiten de server van PostgreSQL, configuratie, walletversleutelingssleutels en walletexports. Lokale herstelarchieven zijn niet versleuteld.
Herstel bij elkaar horende database- en configuratieback-ups samen. Onderbreek migraties nooit en draai geen oudere programmabestanden met nieuwere databases. Tegoedregels blijven gelden.
Installatie en updates proberen automatisch de officiële GitHub-mirror. Controles van handtekening, checksum en tegoed blijven vereist.
Rootopdrachten via SSH.
whollycrypto status
whollycrypto doctor
whollycrypto backup| Opdracht | Doel |
|---|---|
whollycrypto version | Geïnstalleerde versie. |
whollycrypto status | Werking van app en database. |
whollycrypto logs | Laatste 80 app-logregels. |
whollycrypto restart | Herstarten en werking controleren. |
whollycrypto doctor | Installatiecontroles zonder wijzigingen. |
whollycrypto doctor --fix | Beheerde rechten en een ontbrekende CLI-link herstellen. |
whollycrypto htaccess | Basic Auth-inloggegevens herstellen. |
whollycrypto admin-reset | Een beheerderswachtwoord herstellen. |
whollycrypto 2fa-reset | De authenticator van één account herstellen zonder het wachtwoord te wijzigen. |
whollycrypto transfers statuswhollycrypto transfers enablewhollycrypto transfers disable | Verzenden voor alle projecten controleren, inschakelen of pauzeren. Inschakelen herstart de app en kan opgeslagen regels onmiddellijk uitvoeren; bevestiging is vereist. Updates behouden pauzes. |
whollycrypto ssl | HTTPS controleren; voeg --fix toe om te herstellen. |
whollycrypto access-reset --domain HOST | De IP-beperking van één hostnaam verwijderen. |
whollycrypto update --check | Op ondertekende updates controleren. |
whollycrypto update | Back-up maken, bijwerken en herstarten. |
whollycrypto backup | Archief alleen toegankelijk voor root in /root/whollycrypto/backups/releases/. |
whollycrypto recover | Onderbroken onderhoud of een update met ongewijzigd schema herstellen. Herstelt nooit automatisch een database. |
whollycrypto reset | Kies één project, alle bedrijfsprojecten of alleen repareren. |
whollycrypto uninstall --checkwhollycrypto uninstall | Bekijk eerst een voorbeeld en verwijder daarna de native runtime. Database, sleutels en back-ups blijven behouden. |
whollycrypto welcome | Console-URL en links. |
whollycrypto --help | Opdrachten; voeg --help achter een opdracht toe voor de opties. |
Controles wijzigen niets en eindigen met een niet-nulcode als aandacht nodig is. --fix herstelt alleen beheerde rechten en een ontbrekende CLI-link. Het wijzigt nooit facturering, verwijdert geen gegevens en herstart geen services.
whollycrypto reset
# Preview without changing anything:
whollycrypto reset --scope business --check
whollycrypto reset --scope project --project YOUR_PROJECT_IDENTIFIER --checkKies één project, alle bedrijfsprojecten of alleen repareren. Een projectreset wist de geselecteerde projecten, winkels, walletrecords en betaalgeschiedenis definitief. Alleen repareren controleert en herstelt beheerde rechten en de CLI-link.
Schakel geselecteerde projecten uit, handel openstaande betalingen/overschrijvingen af en verplaats bekende walletsaldi eerst. Accounts, domeinen, nodes, tegoeden, factureringsidentiteit en installatiemodus blijven behouden. Ontvangstwallets van operators en tegoedrecords van gehoste handelaars zijn beschermd. Dit opent de installatiewizard niet opnieuw.
Een destructieve reset vereist een getypte bevestiging en maakt vóór het wissen een geverifieerde herstelback-up. Bewaar ook een walletback-up buiten de server: oude adressen kunnen nog geld ontvangen, maar verwijderde projecten volgen dat niet meer. Gecachte saldi bewijzen niet dat wallets leeg zijn.
whollycrypto uninstall --check
whollycrypto uninstallStopt afrekenen, API en workers; verwijdert runtimebestanden en beheerde serverintegratie na een back-up en getypte bevestiging. Openstaande betalingen of overschrijvingen blokkeren verwijdering. Bestanden worden naar de herstelback-up verplaatst in plaats van gewist.
Database, configuratie, sleutels en back-ups blijven behouden. Gedeelde Nginx-/PostgreSQL-pakketten en TLS-certificaten blijven onaangeroerd. De opdracht toont een offline herstelopdracht; voer geen nieuwe installatie uit over bewaarde gegevens.
Reset- en verwijderopdrachten zijn bedoeld voor native VPS-installaties, niet voor Docker of Umbrel. Gebruik voor containers de back-up- en stopopdrachten van je integratie; bewaar de volumes. Geen van beide destructieve opdrachten accepteert --yes.
whollycrypto htaccessSelecteer een gebruiker, kies een naam/wachtwoord en bevestig. Dit herstelt de eerste inlogvraag van de browser, niet je consoleaccount. Andere gebruikers en API-inloggegevens blijven ongewijzigd.
whollycrypto admin-resetKies een beheerder op e-mailadres en bevestig het nieuwe wachtwoord. Sessies en accountaanmeldblokkeringen worden gewist; IP-beperkingen blijven behouden.
Normale resets behouden 2FA. Als zowel authenticator als herstelcodes verloren zijn, voer dan expliciet whollycrypto admin-reset --email admin@example.com --reset-2fauit. Stel 2FA na het inloggen opnieuw in.
Vereist de database, niet de app of het oude wachtwoord. Andere accounts, wallets en rechten blijven ongewijzigd; uitgeschakelde accounts blijven uitgeschakeld.
Zowel authenticator als herstelcodes kwijt? Kies als root een account.
whollycrypto 2fa-reset
# Or select the account directly:
whollycrypto 2fa-reset --email user@example.comVerwijdert sessies, authenticator en herstelcodes. Log in met het bestaande wachtwoord en stel 2FA opnieuw in. Rechten, wallets en Basic Auth blijven ongewijzigd; uitgeschakelde accounts blijven uitgeschakeld.
Vereist de database, niet de app of tegoed. Niet-interactief: --email en --yes.
Enter genereert een wachtwoord in /root/whollycrypto/config/credential-resets/: privé, niet-versleuteld, bruikbaar na succes. Handmatig ingevoerde wachtwoorden worden niet opgeslagen.
whollycrypto htaccess --user admin --new-user operator
whollycrypto admin-reset --email admin@example.comGeef zonder terminal het bestaande account op plus --generate of --password-file /root/private-password.txt, en --yes. Wachtwoordbestanden moeten eigendom zijn van root, met modus 600. Zet wachtwoorden nooit in opdrachten of omgevingsvariabelen.
--yes slaat alleen de bevestiging over. Rond eerst herstel van onderbroken updates af; gelijktijdige accountwijzigingen stoppen resets.