BTCPay Shop administrieren

BTCPay Shop administrieren

team

BTCPay Shop administrieren

In einer Schritt für Schritt Anleitung erklären wir hier, wie Du ein BTCPay Shop erstellen und administrieren kannst. Als Beispiel verwenden wir die Einrichtung eines Demo-Shops, den Du unter https://demo.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.

Diese Anleitung gliedert sich in folgenden Unterpunkte:

BTCPay Shop einrichten und administrieren

BTCPay Shop / Store Konfigurieren

Im Bereich der Shop bzw. Store Konfiguration werden die Basis-Einstellungen und Funktionen festgelegt werden. Es gibt noch eine weitere Untergliederung mit der Bezeichnung Apps. Apps können als Anwendungen bezeichnet worden.

Jeder Nutzer kann eine beliebige Anzahl von Stores erstellen. Es gibt hierzu keinerlei Einschränkungen.

General Settings

BTCPay Store General Settings

BTCPay Store General Settings

Teilzahlungen

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.

Externer Zugriff

Die Funktion “Allow anyone to create invoice” ist deaktiviert. Muss aktiviert werden, wenn externe Anwendungen via API oder HTML Seiten mit dem BTCPay Store kommunizieren bzw. Rechnungen erstellen sollen. Werden die über den BTCPay Server zur Verfügung gestellten Apps (POS und Button) genutzt, dann muss diese Funktion nicht aktiviert werden, ansonsten muss es aktiviert werden.

Gültigkeitszeitraum

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.

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).

Unterzahlung

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.

Anzahl der Bestätigungen (Confirmation)

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 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 “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.

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.

Die Bitcoin Adressen werden als xPub Public Bitcoin Adressen hinterlegt und wird im Kapitel xPub Public Bitcoin Adresse genauer erklärt.

Rates

Innerhalb von Rates wird der Wechselkurs und die Währungen konfiguriert.

Als Berechnungsgrundlage werden die Kurse von Coin Gecko verwendet. Beabsichtigt man die Bitcoin bei einer bestimmten Börse zu verkaufen, so kann auch der jeweilige Wechselkurs bei dieser Börse verwendet werden.

Wechselkurse

Wechselkurse

In dem Feld “Add a spread on exchange rate of … %” ist der Wert 0 gesetzt. Dies bedeutet, dass man 1:1 den Wechselkurs der Börse als Grundlage nimmt. Man kann auch einen kleinen Aufschlag setzen, um eine versteckte Marge über den Wechselkurs zu erzielen.

In dem Feld “Default currency pairs” wird festgelegt, in welche Währungen gewechselt werden soll. Dies ist abhängig von den Währungen, die in Deinem Shop verlangt wird. Wenn Dein Shop die Produkte in Euro ausweist, dann musst Du das Handelspaar BTC_EUR hinterlegen. Ist Dein Shop in USD oder in Pfund, dann entsprechend alle Werte: BTC_USD, BTC_EUR, BTC_GBP

Speichere die für Deinen Shop erforderlichen Währungspaare und führe ein Test durch. Dann erhältst Du die jeweiligen Kurse, welche als Berechnungsgrundlage zu diesem Zeitpunkt verwendet werden.

Wechselkurspaare mit Coin Gecko

Wechselkurspaare mit Coin Gecko

Checkout experience

Im Bereich der “Checkout Experience” wird die Checkout page bzw. die Zahlseite gestaltet, die der Endkunde beim Bezahlvorgang angezeigt bekommen. 

Die hinterlegte Standardseite ist im Design von BTCPay gehalten:

BTCPay Checkout Page

BTCPay Checkout Page

Diese Zahlseite kann aber individuell gestaltet werden und im Look & Feel der Shopseite angepasst werden.

PaymentPage

zB eigene PaymentPage

Wie dies gemacht wird, wird ausführlich im Kapitel “Zahlseite erstellen” erklärt.

Access tokens

In diesem Bereich wird ein Token generiert, um eine Kommunikation zwischen einer externen Anwendung und dem BTCPay Server zu ermöglichen.

Access Tokens

Access Tokens

Nachdem man auf “Create a new token” geklickt hat, besteht die Option noch ein “Label” zu definieren.

Label

Label

Danach klickt man auf Request Pairing und es erscheint die folgende Seite

mit dem “Server initiated pairing code:”. Zusätzlich der Hinweis, falls noch keine Wallet mit dem BTCPay Store verbunden wurde.

Da die API Anbindung von BTCPay analog zu Bitpay ist, wird für weitere Informationen zum Pairing Verfahren auf die Bitpay Doko https://support.bitpay.com/hc/en-us/articles/115003001183-How-do-I-pair-my-client-and-create-a-token- verwiesen.

Für die BTCPay API Dokumentation kann analog die Bitpay API Dokumentation  verwendet werden.

Users

Im Bereich Users werden die Nutzer verwaltet, die Zugriff auf diesen Shop haben.

Manage User

Manage User

Pay Button

Der Pay Button ist als Spenden-Button für die eigene Seite gedacht.

Pay Button Hinweis

Pay Button Hinweis

Es wird noch einmal darauf hingewiesen, dass von einer externen Anwendung ein Zugriff auf das System genehmigt wird. Über die externe Anwendung, der Pay Button, dürfen Rechnungen erstellt werden, die Nutzer dann bezahlen können.

Hat man auf den grünen Knopf geklickt, erscheint die folgende Seite:

Pay Button

Pay Button

Die Konfiguration und Einrichtung des Pay Buttons wird im Detail beschrieben unter: Anwendungsbeispiel Payment Button
Zum Inhaltsverzeichnis