Artikkeli · r6-merchant-001
BTCPayn kassasovellus: valitse näkymä ennen asiakastilannetta
Kun harkitset BTCPay Serveriä kassalle, aloita työvaiheesta: syöttääkö myyjä loppusumman vai valitaanko tuotteet luettelosta? Tässä kuvataan tallennettuja dokumentaatioesimerkkejä, ei omassa asennuksessa kokeiltua kassaa.
Näppäimistö vai tuoteluettelo?
Sovellusohjeen tallennettu versio kuvaa selaimessa toimivan PoS-sovelluksen ja kolme näkymää: Static näyttää tuotteet, Cart tuotteet ja ostoskorin ja Light summan syöttämiseen tarkoitetun näppäimistön. Ohje ajoittaa Light-näkymän alun versioon 1.0.5.6.[1] Nämä ovat lähteen nimiä, eivät lupaus asennetun version valikoista, tuotteiden saatavuudesta tai varaston oikeellisuudesta.
Näppäimistöä voi harkita, kun myyjä määrittää loppusumman muualla. Tuoteluetteloa tai koria voi arvioida, kun käyttäjä valitsee tuotteita kassasivulla. Varmista, kuka tarkistaa summan ja valuutan sekä kuka päivittää hinnat ja nimet. Esimerkki on kuvitteellinen, eikä se osoita minkään laitteen tai maksutavan yhteensopivuutta.
Tallennetussa yleisohjeessa uusi sovellus luodaan Apps-kohdasta, liitetään storeen ja mukautetaan; asetukset tallennetaan ja näkymä avataan View App -toiminnolla.[1] Kyse on dokumentaation polusta, ei tässä testatusta ohjeesta. Erillisessä tapahtumakassan esimerkissä käytetään polkua Plugins > Point of Sale ja valintaa Keypad; sen oma kokoonpano edellyttää BTCPay Server 2.0.5:tä tai uudempaa.[2] Tämä ei todista, että Light ja Keypad ovat täsmälleen sama asia tai että yleisohjeen valinnat esiintyvät kaikissa 2.0.5+:n kokoonpanoissa.
Molemmat ovat 28.10.2026 luettuja, samaan dokumentaatiovaraston commit-kuvaan sidottuja ohjeita.[1], [2] Niitä ei ole sidottu sinun asennettuun julkaisuusi. Varmista palvelimen ja liitännäisen tarkat versiot ja niitä vastaavat ohjeet asiantuntijan kanssa ennen toimintaa.
Näkyvä kassa ei ole maksun todiste
Tarkista suunnitellun laitteesi näkymä ilman oikean asiakkaan tietoja: oikea store, nimet, kuvaukset, summat, valuutta ja luettavuus. Julkisen PoS-linkin käyttö on eri asia kuin hallintaoikeus. Näkyvä tai tallennettu näkymä, hinta tai tuote ei osoita laskun syntymistä, maksun saapumista, vahvistusta, varastosaldoa eikä toimitusta.
Tarkista ennen toimituspäätöstä erikseen lasku ja sen taustalla oleva maksu, maksutapa, mahdolliset poikkeamat ja yrityksen hyväksymät selvitys- tai vahvistusehdot. Erillisen laskuohjeen mukaan Processing tarkoittaa täyteen maksettua laskua, jonka maksutapakohtaiset selvitysehdot ovat vielä kesken; Marked voi puolestaan tarkoittaa käsin asetettua tilaa eikä todista lohkoketjuvahvistusta.[3] Älä oleta Lightningille yleistä on-chain-vahvistusmäärää.[3]
Poikkeavan laskun käsittely kuuluu erilliseen nsn-001-oppaaseen ja ilmoituksen ja tilaustilan ristiriita nsn-002-oppaaseen, jos ne ovat käytettävissä; näiden oppaiden olemassaolo ei todista oman maksun tilaa.
Valinnainen jatko: toimitusvalinta lomakkeella
Vain jos toimitusvalintoja tarvitaan: Tämä osio koskee erikseen dokumentoituja julkista lomaketta ja PoS-liitännäistä, ei automaattisesti kaikkia checkout-lomakkeita, maksupyyntöjä tai ulkoisia verkkokauppaintegraatioita.[4] Julkinen lomake ei edellytä, että sitä käsitellään PoS-näkymänä; lomakeohje kuvaa erikseen julkisen käyttölinkin ja lomakkeen perusteella muodostettavan laskun.[4]
Erota asiakkaan valinta ja siihen liitettävä hinnanmuutos. Ohjeen esimerkissä shipping_method on valintakenttä, ja invoice_amount_adjustment_shipping_method on mirror-kenttä, joka peilaa sitä. Value Mapper yhdistää kunkin valinnan arvon tarkoitettuun summanmuutokseen.[4] Kenttien kirjainkoko ja kirjoitusasu on säilytettävä. Edistyneen lomakeohjeen mukaan peilaus ja arvon muunnos tapahtuvat lomakkeen lähetyksen yhteydessä, ja kenttien arvot tallennetaan laskun metadataan.[5] Tallennettu asetus ei itsessään todista laskun syntymistä tai oikeaa valintaa.
Lähteen yksinkertaisessa esimerkissä pelkkä summanmuutos voi jättää valitun toimitustavan näkymättä muodostetulla laskulla.[4] Ohje kuvaa erikseen receiptData-nimisen fieldset-kentän ja sen alle haluttuja kenttiä peilaavat mirror-kentät kuittia varten: käyttäjän syöte ei näy oletuksena kuitissa.[4] Metadatan, checkoutin, kuitin ja ulkoisen tilausjärjestelmän näkymät on tarkistettava erikseen; mikään niistä ei yksin todista maksua, rahojen selvitystä, kuljetusintegraatiota tai toimituksen toteutumista.
Lomakeohjeen mukaan yhteenlaskettava invoice_amount_adjustment-alkuinen kenttä on tuettu versiosta 1.11 ja kertova invoice_amount_multiply_adjustment-alkuinen kenttä versiosta 1.12.[4] Toimitusesimerkki käyttää yhteenlaskettavaa kenttää. Nämä rajat koskevat vain lähteen kuvaamia ominaisuuksia, eivät koko toteutuksen toimivuutta kaikilla palvelin-, liitännäis- tai teemaversioilla.
Ennen mahdollista käyttöönottoa asiantuntijan on tarkistettava valittu pinta, versiot, oikeudet ja tietojen säilytys sekä suunniteltava eristetty, luvallinen testaus ilman oikeita asiakasvaroja. Käy läpi jokainen sallittu vaihtoehto, puuttuva tai virheellinen vastaavuus, lähtöhinta, valuutta ja lopullinen summa sekä erikseen lomakkeen lähetys, laskun metadata, checkout ja kuitti. Maksu ja sen selvitys on todennettava omalla maksutapakohtaisella menettelyllä. Älä kerää tarpeettomia henkilötietoja; tarkista pääsyt, säilytys, ulkoiset integraatiot ja soveltuvat tietosuojavelvoitteet erikseen.
Tässä työssä ei ole avattu tiliä, muutettu asetuksia, testattu lomaketta tai tehty maksua. Tallennetut lähteet eivät todista minkään asennetun version toimintaa.
Lähteet
- [1] BTCPay Server Apps — Point of Sale App
- [2] Setting up BTCPay Server for Conference / Event / Local Community — Initial setup; Setup merchant stores: 4. Setup Point of Sale (PoS)
- [3] BTCPay Server, Invoices — Invoice statuses: Lightning payments and exception
- [4] BTCPay Server, Forms — Public Forms; Adjust invoice amounts based on user input: Charging extra based on shipping method; Showing user input on the receipt
- [5] BTCPay Server, Forms (AdvancedForms.md) — introduction; Mirror fields