495 / 736PAY·PROC

Bitcoin Payment Processor

Bitcoinový platební procesor

Zákazník zaplatí bitcoinem, ale e-shop ještě musí poznat, za kterou objednávku, zda přišla správná částka a kdy může odeslat zboží. Bitcoin Payment Processor propojuje právě tyto kroky. Pod stejným názvem však najdeme vlastní software i službu, na jejíž výplatu obchodník čeká.

Bitcoin Payment Processor je software nebo služba, která připravuje platební požadavky, sleduje příchozí platby a spojuje je s objednávkami. Obchodu pomáhá vyřídit prodej a uchovat záznamy. Neurčuje pravidla bitcoinové sítě a nemusí mít v držení peníze zákazníků: kdo ovládá klíče a kdo komu vyplácí prostředky, záleží na konkrétním zapojení.

Představte si e-shop, ve kterém si zákazník objedná knihu. Obchod požádá procesor o invoice, tedy platební požadavek s částkou a měnou. Jeho identifikátor si uloží k číslu objednávky. Zákazník otevře platební stránku nebo načte QR kód a zaplatí; obchod pak podle uložené vazby pozná, ke kterému nákupu peníze patří. Bez ní samotné zjištění, že někam dorazil bitcoin, nestačí. Ani návrat na stránku „Děkujeme za nákup“ neprokazuje, že obchod platbu skutečně dostal. [1]

BTCPay Server může připravovat přijímací adresy z veřejných údajů existující peněženky, aniž dostane soukromé klíče umožňující utrácení. To je jiné uspořádání než horká peněženka s klíči přímo na serveru nebo přístup k prostředkům Lightning uzlu, který obsluhuje rychlé platby. U služby může prostředky před výplatou ovládat poskytovatel. Proto nestačí označení non-custodial, tedy bez svěření klíčů poskytovateli. Ověřte skutečná oprávnění, kdo může peníze poslat a zda k jejich získání potřebujete něčí souhlas. [2] [6]

Cena knihy může být uvedena v běžné měně, zatímco zákazník posílá bitcoin. BTCPay Server proto v platebním požadavku na omezenou dobu stanoví částku a kurz. Když čas vyprší, neznamená to, že pozdější převod nemůže dorazit; obchod jej musí správně vyhodnotit. Podobně řeší nedoplatek a přeplatek. Původní částku i kurz uchovává pro vyúčtování. Nový požadavek při jiném kurzu může vyžadovat jiný počet satoshi, nejmenších jednotek bitcoinu, přestože cena knihy zůstala stejná. [3]

V BTCPay Server znamená Processing, že je požadovaná částka zaplacena, ale ještě nejsou splněny podmínky dokončení, například potvrzení transakce v blocích. Settled říká, že splněny jsou; Lightning platby běžně na blokové potvrzení nečekají. Jiné služby mají vlastní významy stavů. BitPay výslovně upozorňuje, že paid není zárukou platby. Pravidlo pro odeslání zboží proto vychází z dokumentace zvolené služby a platební metody. Ruční přepnutí objednávky na zaplaceno není náhradou za ověření skutečné platby. [3] [5]

Procesor dává e-shopu vědět o změně stavu pomocí webhooku, automatické zprávy mezi servery. Obchod musí ověřit její původ a obsah. U BTCPay se kontrola HMAC-SHA256 počítá z původních bajtů zprávy a sdíleného tajemství; technicky jde o ověřovací kód, ne o potvrzení bitcoinové sítě. BitPay své oznámení IPN nepodepisuje: má pouze vyvolat dotaz na skutečný stav přes API, rozhraní pro komunikaci programů. Zpráva může dorazit opakovaně. E-shop proto zaznamená vyřízení objednávky a nesmí ji odeslat znovu jen kvůli dalšímu oznámení. Po výpadku porovná uložené stavy s procesorem. [4] [5]

Přijetí zákazníkovy platby a výplata od služby jsou různé události. BitPay umožňuje nastavit podporovanou měnu vypořádání i bankovní účet nebo kryptoměnovou adresu; změna může vyžadovat schválení. Obchodník tedy zjišťuje také termíny, limity, poplatky a to, kdo kontroluje prostředky před výplatou. Při přímém příjmu do vlastní peněženky tento mezikrok nemusí existovat. Prodejní systém by měl oba způsoby rozlišovat, aby označení „zaplaceno“ nevytvářelo falešnou představu o dostupných penězích. [6] [2]

Refundace nevymaže původní bitcoinovou transakci. Obchod nejprve vyřídí požadavek zákazníka, určí vracenou částku a měnu, ověří příjemce a zajistí novou platbu. Odkaz pro vyžádání refundace ještě neznamená, že peníze odešly. V evidenci zůstává objednávka, platební požadavek, úhrada, použitý kurz, poplatky i vrácení. Export reportu pomáhá účetnímu, sám však neřeší všechny místní povinnosti. Potvrzení v síti také nerozhoduje spor o dodání zboží ani neruší smluvní či zákonné povinnosti při reklamaci. [7] [8] [10]

Před spuštěním nestačí jediný povedený nákup. Je třeba vyzkoušet nedoplatek, opožděnou platbu, opakované oznámení i obnovu po výpadku. API klíč je přístupový údaj pro program: dostane jen potřebná oprávnění pro příslušný obchod. Do připojených údajů nepatří zbytečné osobní informace zákazníka. Vlastní provoz zahrnuje hosting, aktualizace a podporu; u Lightning také správu likvidity, tedy prostředků a prostoru v kanálech potřebných pro platby. Bezplatný software neznamená bezplatný provoz. Dostupnost, ochrana klíčů a správné propojení s e-shopem se kontrolují zvlášť. [1] [9]

Příklad · PAY·PROC

Zaplacená kniha, opakovaná zpráva

E-shop uloží platební požadavek k objednávce OBJ-101. Po ověření platby a splnění podmínek pro expedici odešle knihu a vyřízení zaznamená. Později přijde stejné oznámení znovu. Systém pozná již vyřízenou objednávku a další balík nevytvoří. Kdyby zákazník pouze otevřel děkovací stránku, takový krok by k expedici nestačil.

Pro nejúplnější obraz čtěte toto heslo společně s BTCPay Server, Bitcoin Point of Sale, Merchant Adoption, Lightning Network, Bitcoin. Opačným směrem na něj odkazují také Platba bitcoinem v Alze, Merchant Adoption, BTCPay Server, Bitcoin Point of Sale.

01Musím procesoru svěřit bitcoin?

Ne vždy. Software může sledovat platby do vaší peněženky bez klíčů k utrácení. Horká peněženka na serveru, přístup k Lightning uzlu nebo služba s následnou výplatou mají jiné podmínky. Posuzujte skutečné ovládání peněz a oprávnění, nikoli jen nálepku non-custodial.

02Stačí po návratu zákazníka do obchodu odeslat zboží?

Ne. Návrat v prohlížeči je jen krok na stránce. Obchod potřebuje ověřený stav konkrétní platby a pravidlo, kdy je pro danou metodu vhodné plnit objednávku. Ani opakovaná zpráva o stejné platbě nesmí vyvolat opakované odeslání zboží.

DOC · 001BTCPay Server — eCommerce integrationDokumentace DOC · 002BTCPay Server — General FAQDokumentace DOC · 003BTCPay Server — Invoice lifecycleDokumentace DOC · 004BTCPay Server — Webhook validation exampleDokumentace DOC · 005BitPay — Invoice webhooksDokumentace DOC · 006BitPay — Configuring settlementsDokumentace DOC · 007BTCPay Server — RefundsDokumentace DOC · 008BTCPay Server — ReportingDokumentace DOC · 009BTCPay Server — Lightning operationsDokumentace DOC · 010BitPay — Merchant and shopper termsPrimární zdroj
Revidováno: Primární zdroje · Nejde o investiční doporučení