BTCPay Shop einrichten

This post is also available in: Englisch

BTCPay Shop einrichten

team

BTCPay Shop einrichten

In einer Schritt für Schritt Anleitung erklären wir hier, wie Du ein BTCPay Shop einrichten kannst. Als Beispiel verwenden wir die Einrichtung eines BTCPay-Shops, den Du unter https://btcpay.coincharge.io erstellen kannst.

Diese Anleitung kannst Du aber auch verwenden, wenn Du einen eigenen Payment Server aufgesetzt hast und darauf einen Shop anlegen willst oder bei einem anderen Third-Party Anbieter Deinen Shop liegen hast.

Die BTCPay Shop bzw. BTCPay Store Anleitung gliedert sich auf vier Seiten:

In Teil 1 wurde ein Account und ein BTCPay Shop erstellt.

Dies ist Teil 2 (BTCPay Shop einrichten) und hier werden Generellen Einstellungen erklärt.

BTCPay Shop einrichten

Nachdem der BTCPay Store erstellt worden ist, können wir mit den individuellen Einstellungen beginnen. Der Bereich nennt sich Manage store: Profile und gliedert sich in die folgenden Unterpunkte:

  • General Settings (Teil 2 – BTCPay Shop einrichten)
  • Rates (Teil 3 – BTCPay Shop administrieren)
  • Checkout experience
  • Acces tokens
  • Users
  • Pay Button
  • Integrations

Diese Seite (Teil 2) beinhaltet die General Settings. Die anderen Unterpunkte werden in dem Kapitel BTCPay Shop administrieren (Teil 3) behandelt.

Allgemeiner Hinweis: Jeder Nutzer kann eine beliebige Anzahl von Stores erstellen.

Jeder Store ist die Grundlage für eine Anwendung. Eine Anwendung kann eine App sein, welche ebenfalls über den BTCPay Server generiet werden kann, wie zum Beispiel die Point of Sale App oder die Crowdfund App.

Ein BTCPay Store muss auch erstellt werden, wenn man eine externe Anwendung verwenden will. Wer in einem Onlineshop von WooCommerce oder Shopify Bitcoin Zahlungen akzeptieren möchte, der benötigt ebenfalls einen BTCPay Store als Basis.

Die folgenden Bilder kann man sich auch vergrößert anzeigen lassen. Einfach dazu auf das jeweilige Bild klicken.

General Settings

Der Bereich General Settings beinhaltet die Basis Informationen des BTCPay Stores. Hier wird der Name des Stores festgelegt, wie mit den einzelnen Bitcoin und Lightning Zahlungen weiter verfahren werden soll. Es wird die Bitcoin Wallet hinterlegt, auf welcher die eingegangenen Bitcoin gutgeschrieben werden sollen und welcher Bitcoinkurs zur Berechnung des Umrechnungskurses verwendet werden soll.

BTCPay Store general settings

Innerhalb von General Settings gibt es den Bereich General.

In dem Feld ld findet man die Store ID. Die Store ID wird vom System vergeben und kann auch nicht geändert werden.

In dem Feld Store Name kann man seinem Store einen eigenen Namen geben. Dieser Store Name wird später auch auf der Bezahlseite angezeigt.

In dem Feld Store Website kann die URL des Onlineshops hinterlegt werden.

Payment

In dem Bereich Payment wird festgelegt, wie der Shop auf eine Bitcoin Zahlung reagieren beziehungsweise verfahren soll.

BTCPay Store general settings payments

Das Feld „Allow anyone to create invoice“ ist standardmäßig deaktiviert. Wer eine der Apps verwenden will, die von BTCPay Server verwendet, kann dieses Feld auch deaktiviert lassen. Wer einen Shopify Onlineshop mit dem BTCPay Store verwenden will, der kann ebenfalls das Häkchen deaktiviert lassen. Für alle anderen externen Anwendungen ist es erforderlich, dass das Häkchen gesetzt wird. Man erlaubt damit, dass externe Anwendungen (per API) Rechnungen auf dem BTCPay Server erstellen kann, die dann dafür sorgen, dass eine Bitcoin Bezahlseite angezeigt wird.

Enable Payjoin/P2EP

Durch Payjoin kann die Privatsphäre einer Bitcoin Zahlung zwischen dem Zahler und dem Zahlungsempfänger (Händler) erhöht werden. Im Zweifelsfall sollte diese Funktion deaktiviert bleiben.

Add additional fee

In dem Feld „Add additional fee (network fee) to invoice“ geht es um eine zusätzliche Gebühr die erhoben werden kann, wenn ein Endkunde den Rechnungsbetrag in zahlreiche Teilbeträge sendet. Die Network Gebühren für eine Zahlung werden immer vom Zahlenden getragen. Möchte ein Händler den Zahlungseingang später an eine andere Bitcoin Adresse weiterleiten, so muss er selber die Netzwerk Gebühr tragen. Die Höhe dieser Gebühr ist u.a. davon abhängig, aus wieviel vorherigen Eingangstransaktionen sich die neue Weiterleitungs-Transaktion zusammensetzt. Vor diesen mehr an Gebühren kann man sich schützen, wenn man die Standardeinstellung so belässt, und nur eine zusätzliche Gebühr erhebt, wenn eine Zahlung in mehreren Teilzahlungen geleistet wird.

Invoice expires

Dem Zahler wird auf der Bezahlseite / Checkout Page für eine bestimmte Zeit ein QR-Code angezeigt, über den die Bitcoin gesendet werden. Der angeforderte Bitcoin Betrag ist auf Basis des Wechselkurses berechnet worden. Da sich der Wechselkurs sehr volatil ist und sich permanent ändern kann, sollte der Wechselkurs nur für eine eingeschränkte Zeit gültig bleiben.

Es empfiehlt sich, dass der Wechselkurs für 15 Minuten gegenüber dem Kunden gewährleistet wird. Dies ist ein Zeitraum, der von fast allen Händlern eingeräumt wird. Entsprechend empfiehlt es sich, den Wert in dem Feld „Invoice expires if the full amount has not been paid after … minutes“ auf 15 Minuten zu belassen.

Payment invalid if transactions fails to confirm

Nachdem die Zahlung ausgeführt wurde, dauert es noch eine Zeit, bis der Eingang auf der Wallet des Händlers gutgeschrieben wird. Dies kann abhängig sein, wie hoch die Netzwerk Gebühr gewesen ist, welche der Zahler bereit war zu leisten. Hat der Zahler gar keine oder nur eine sehr geringe Netzwerk Gebühr gezahlt, so kann eine Transaktion etwas länger dauern. Um sich als Händler davor zu schützen, dass in der Zwischenzeit der Bitcoinkurs zu stark schwankt kann mit „Payment invalid if transactions fails to confirm … minutes after invoice expiration“ festgelegt werden, wie lange es dauern darf, bis die Zahlung durch das Netzwerk Bestätigt wird. Die Standardeinstellung ist ein Tag (=1440 Minuten).

Consider the invoice paid even if the paid amount is

Bei der Frage „Consider the invoice paid even if the paid amount is … % less than expected“ geht es um Unterzahlungen des Rechnungsbetrages. Das System erwartet einen bestimmten Bitcoinbetrag. Sollten tatsächlich weniger Satoshi ankommen, so liegt eine Unterzahlung vor.

Dies kann passieren, wenn die Zahlung nicht direkt aus der Wallet des Zahlenden erfolgt, sondern von einer Börse oder Wechselstube. Hier wird bei einer Auszahlung vom Guthaben die Netzwerk Gebühr abgezogen und entsprechend weniger kommt dann an.

Wie soll da verfahren werden? Soll die Zahlung zurückgewiesen werden oder gibt es eine Toleranz bei der man noch bereit ist die Zahlung trotzdem zu akzeptieren? Als Standard wird 0% Toleranz akzeptiert.

Consider the invoice confirmed when the payment transaction

Bei der Einstellung „Consider the invoice confirmed when the payment transaction…“ geht es darum, nach wie viel Bestätigungen (Confirmation) eine Zahlung erfolgreich war. Hier gibt es unterschiedliche Auffassungen von Zahler und Händler. Für ein Kunde (Zahler) ist die Zahlung ausgeführt, nachdem in der Wallet auf Senden geklickt wurde. Für den Hänlder ist die Zahlung erst abgeschlossen, wenn es Final auf seiner Wallet eigegangen ist.

Hat der Kunde die Zahlung geleistet, so ist diese Zahlung sofort im Mempool bzw. in der Blockchain sichtbar.

Allerdings ist diese Transaktion noch nicht vom Netzwerk bestätigt. Dies kann je nach Höhe der geleisteten Netzwerk Gebühr bereits nach 10 Minuten der nächste Block sein oder auch mal eine Stunde oder länger dauern. Es besteht auch ein theoretisches Risiko, dass eine gesendet Transaktion überhaupt nicht bestätigt wird. Das wäre dann der Fall, wenn der Endkunde gar keine Netzwerk-Gebühr gezahlt hat.

Nach wieviel Bestätigungen (Confirmation) ein Händler die Leistung seinem Kunden zur Verfügung stellen will, ist abhängig vom Produkt und dem potentiellen Betrugsrisiko.

Ein Produkt mit einem geringen Wert kann bereits mit dem Status „ls unconfirmed“ zur Verfügung gestellt werden. Besonders bei digitalen Zugängen oder Downloads ist der Ausfall eher zu verkraften. Der Schaden ist geringer, als unzufriedene Kunden, die nach der Zahlung noch eine lange Zeit auf die Leistung warten müssen.

Bei Produkten die über den Versandhandel verschickt werden, sind 1 oder 2 Confirmation zu vertreten. Bis man die Ware zum Versand bringt, kann man sich den Status der Zahlung noch einmal überprüfen.

Einen garantierten Zahlungseingang liegt nach 6 Confirmation vor, dies sollte bei hochpreisigen Produkten angewendet werden

Derivation Scheme

Im Bereich Derivation Scheme wird die eigene Bitcoin Adresse hinterlegt, damit die Zahlungseingänge direkt auf der eigenen Wallet gutgeschrieben werden.

Man kann entweder den XPub Key von einer externen Wallet hinterlegen oder man verwendet die interne Bitcoin Wallet vom BTCPay Server.

Wenn Du den BTCPay Store auf einem anderen BTCPay Server mitbenutzt, dann sollte aus Sicherheitsgründen die Bitcoin auf der eigenen, externen Bitcoin Wallet gutgeschrieben werden.

In dem Artikel XPub Key mit einer Electrum Wallet erstellen, wird erklärt, wie Du mit eine eigene Electrum Wallet auf Deinem eigenen Computer erstellst und einen XPub Key generierst.

In dem Artikel Xpub Key bei BTCPay hinterlegen wird dann erklärt, wie ein xPub Key in den BTCPay Shop hinterlegt wird.

Wenn Du Deinen eigenen BTCPay Server betreibst oder dem Anbieter des BTCPay Servers vertraust und nur wenig Guthaben auf der internen Bitcoin Wallet liegen hast, dann empfiehlt sich aus Gründen der Vereinfachung, die internet BTCPay Bitcoin Wallet.

Eine Anleitung, wie Du eine interne BTCPay BitcoinWallet erstellst, erfährst Du in dem Beitrag: „BTCPay Bitcoin Wallet

BTCPay Store general settings derivation scheme

Unabhängig davon, ob Du den XPub Key einer externen Bitcoin Wallet oder die interne BTCPay Bitcoin Wallet verwendest, musst Du über Modify die Daten hinterlegen.

Somit werden die Bitcoin Zahlungen der Kunden direkt auf der entsprechenden Bitcoin Wallet gutgeschrieben.

Wenn Du die interne Bitcoin Wallet verwendest, dann erscheint später der Link Wallet. Über den Wallet Link gelangt man in den Administrationsbereich der Bitcoin Wallet.

Lightning Nodes

Die Verwendung von Lightning als eine Zahlungsmethode ist nur möglich, wenn man einen eigenen BTCPay Server betreibt. Wer einen BTCPay Server mitbenutzt, für den ist diese Funktion deaktiviert bzw. der Administrator hat es extra freigeschaltet.

Dies liegt daran, dass alle Lightning Zahlungen auf einem einzigen Lightning Node gutgeschrieben werden und nicht auf verschiedene Lightning Nodes.

Wer aber mehrere BTCPay Stores betreibt, kann die Lightning Zahlungen der verschiedenen Stores ohne Probleme auf seinem zentralen Lightning Node gutschreiben lassen.

Wie Lightning für den BTCPay Store aktiviert wird, kann man in der Anleitung „BTCPay Lightning Zahlungen im BTCPay Shop einrichten“ nachlesen.

BTCPay Store general settings lightning nodes

Additional Payments

Im Bereich Additional Payments gibt es die Möglichkeit, weitere Kryptowährungen seinen Kunden anzubieten. Hier ist als Händler ein Konto bei dem Anbieter CoinSwitch erforderlich.

CoinSwitch bietet mehr als 50 weitere Kryptowährungen zur Zahlung an. Der Kunde (Zahler) kann eine der dort aufgeführten Kryptowährungen zur Zahlung verwenden. Die vom Kunden verwendete Kryptowährung wird von CoinSwitch in Bitcoin getauscht. Diese Bitcoin werden dann dem Bitcoinkonto des Händlers gutgeschrieben.

Services

Im Bereich Services können Email Einstellungen hinterlegt werden. Als Betreiber eines eigenen BTCPay Servers werden die zentralen Email Einstellungen über die Server Settings vorgenommen. Man kann aber auch für einen BTCPay Store eigene Email-Einstellungen hinterlegen. Dies ist an dieser Stelle möglich.

Other actions

Unter dem Punkt Other actions kann der angelegte BTCPay Store unwiderruflich gelöscht werden.

Die BTCPay Shop bzw. BTCPay Store Anleitung gliedert sich auf vier Seiten.

Diese Seite war Teil 2 BTCPay Shop einrichten mit den General Setting.  Im Teil 3 BTCPay Shop administrieren, werden die Einstellungen für die Bereiche:

  • Rates
  • Checkout experience
  • Acces tokens
  • Users
  • Pay Button
  • Integrations

erklärt.

This post is also available in: Englisch