
Dokumentation von 3B – Bitcoin Beratung

Payments (Zahlungen)
In diesem Bereich könnt ihr Rechnungen uvm. erstellen und verwalten. Dazu gibt es noch ein tolles Buchhaltungssystem, damit keine Zahlung verloren geht.

Invoices (Rechnungen)
Im Menü Invoices kann man alle erstellten Rechnungen und deren Status betrachten. Die verschiedenen Stati sind in der nachfolgenden Tabelle abgebildet. Des Weiteren lassen sich hier über den Knopf +Create Invoice, neue Rechnungen erstellen. Hilfreich sind auch Export- und Bearbeitungsfunktionen, mit denen man die History exportieren oder verändern kann.

Rechnungs-Status Übersicht


Create Invoice (Rechnung erstellen)
Es gibt keine Pflichteingabe. Bleibt der Betrag z.B. leer, kann der Kunde den Betrag beim zahlen selbst eintragen. Für die anderen Angeben greifen die Standardwerte.
1 Amount: Betrag
2 Currency: Währung, falls leer, dann wird die Standard Währung aus den Store Einstellungen verwendet.
3 Order Id: Eintragung einer eigenen Auftragsnummer möglich
4 Item Description: Artikelbezeichnung
5 Zahlungsart: Standardmäßig sind alle 3 ausgewählt. Für Off-Chain und LNURL-PAY braucht man aber eine Lightning Node. Auch wenn diese ausgewählt wurden, kommen diese nicht an der Kasse, wenn man keine Lightning Node eingerichtet hat.
6 Standard Zahlungsart: Der Standard aus den Store Einstellungen greift hier, wenn man nichts ändert. Man kann für die einzelne Rechnung aber auch eine bevorzugte Methode vor auswählen.
7 Kunden Email: Nur zur Ablage, aktuell keine Funktion wie automatische Email hinterlegt.
8 Rückerstattungs-Email: Der Standard aus den Store Einstellungen greift hier, wenn man nichts ändert. Man kann für die einzelne Rechnung aber auch eine andere Option wählen.
9 Point of Sale Daten: Benutzerdefinierte Verknüpfung der Rechnung zum Point of Sale.
10 Rechnung-Benachrichtigung: Zusätzliche Benachrichtigung an eine Email. Das Format ist aber nicht für Käufer geeignet.

Optik einer Rechnung
1 Logo oder Store Name
2 Zeitlimit der Rechnung
3 Bezahlmethode, im Beispiel (On-Chain). Je nach Betrag und Einstellungen, kann der Käufer die Methode selbst wählen.
4 Zahlungsdetails, Die Zeile kann man noch aufklappen, um noch mehr Details zu sehen.
5 „Überweisungsadresse“ als QR Code oder als Zeichenkette zum kopieren


Payment Requests (Zahlungs Aufforderungen)
Rechnungen direkt erstellen hat das Problem, dass immer auch gleich das Zahlungs-Zeit-Limit startet. Nach dem Ablauf ist die Rechnung dann ungültig. Damit eignen sich Rechnungen nur für unmittelbare Bezahlungen.
Das ist natürlich problematisch, wenn man z.B. Papierrechnungen an Kunden mit einem QR-Code verschicken möchte. Dafür gibt es dann Zahlungs-Aufforderungen.

Create Payment Request
(Zahlungs-Aufforderung erstellen)
1 Title: Benennung der Zahlungsaufforderung. z.B. Aufforderung für AuftragsNr. …
2 Betrag: hier muss er diesmal auch größer 0 sein.
3 Währung: Wenn leer, wird Standard aus Store Einstellung verwendet
4 Freie Betrags Stückelung erlauben: Käufer kann die Rechnungen in selbst gewählten Einzelbeträgen erstellen/bezahlen.
5 Ablaufdatum: Das Tolle an Requests ist, dass man kein Ablaufdatum benötigt. Falls man es dennoch einstellen möchte, kann das das hier tun.
6 Email: Ich würde hier eine Benachrichtigung an die Email erwarten. In meinen Tests, hat das aber nicht funktioniert.
7 Beschreibung: Hier kann man einen beliebigen Text einfügen
8 Zusätzliche Optionen: Mit CSS kann man das Erscheinungsbild der Rechnung an das eigene Layout anpassen.
So sieht eine Zahlungsaufforderung aus…

Oben Links:
Titel, Datum und die Möglichkeit zu Druckern und den Link auf die Aufforderung zu kopieren.
Oben Rechts:
Betragsfeld > hier im Beispiel auch die Variante mit Freie Betrags Stückelung erlauben, aktiv. Käufer kann hier die 10 Euro in 5 Euro ändern und diese zuerst begleichen. Die Aufforderung bleibt im Status so lange offen, bis der Betrag komplett entrichtet wurde.
In Grün > der Bezahl-Knopf. Beim Klicken auf den Knopf erzeugt es eine Rechnung über den darüber eingetragenen Betrag. (siehe nachfolgendes Rechnungsbeispiel). Der Käufer erstellt somit erst die Rechnung, wenn er dafür Zeit hat. Nach dem Klicken läuft das eingestellte Zeitlimit, wie bei Standard Rechnungen. Wenn die Rechnung aber doch mal abgelaufen ist, kann der Käufer über den Bezahl-Knopf einfach eine neue Rechnung zum gleichen Vorgang auslösen/erstellen. Das kann er mehrfach wiederholen. Bei jedem Erstell-Vorgang wird der aktuelle Wechselkurs der Währung angezogen. Um zu vermeiden, dass ein Kunde abwarten und auf Kursschwankungen spekulieren, kann das Ablaufdatum eingestellt werden oder man setzt Zahlungsbedingungen auf der eigenen Rechnung an (30-Tage, 2%Skonto…).
Mitte Links:
Beschreibungsfeld
Mitte Rechts:
Zahlungsdetails wie die Höhe des offenen, des bereits beglichen und des gesamt Betrages.
Unten:
Zahlungs Historie. Hier sieht man alle Zahlungen zu dieser Aufforderung.
Zahlungsaufforderungs-Historie
In der Historie sieht man dann alle Zahlungs Aufforderungen und der Status.
Man kann Aufforderungen nachträglich ändern, kopieren usw.
Klickt man bei einer Aufforderung rechts auf den Link Pay, werden alle Rechnungen zu dieser Aufforderung gezeigt.

Klickt man bei einer Aufforderung rechts auf den Link Pay, werden alle Rechnungen zu dieser Aufforderung gezeigt.
Rechnungshistorie zu einer Zahlungsaufforderung



Pull Payments Übersicht
Bei Bitcoin gibt es kein Lastschrift Einzug, da im optimalsten Fall (selbstverwaltete Wallet), Niemand außer einem Selbst, Zugriff auf die Bitcoins hat.
Das bringt aber auch Probleme bei automatisierten Zahlungen, wie z.B. Abos.
Die Komplettlösung steht hier zwar nicht bereit, es ist aber schon ein erster Lösungsansatz, der von BTCPAY noch weiterentwickelt wird.
Aktuell ist der Ansatz lediglich interessant, wenn man Freiberufler auf Stundenbasis bezahlt und die Zahlungen nicht immer Einzeln durchführen möchte.

Pull Payment erstellen
1 Name: Titel der Zahlung
2 Betrag: Darf nicht 0 sein. Der Betrag kann als Kontingent gesehen werden. Dritte können Zahlungen nur bis zu diesem max. Betrag anfordern.
3 Währung: Alle Währungen möglich
4 Zahlungsmethode: Welche Zahlungsmethoden akzeptierst du
5 Beschreibung: Freitext für Beschreibungdstext
6 Zusätzliche Optionen:
CSS, für Optische Veränderung der Zahlungsansicht.
Lightning, für die Einstellung des mindest Zeitlimits.
Für Lightning braucht man eine LNURL „statische Lightning Adresse“ oder eine Lightning Adresse wie z.B. 3b@3b.zapto.org. Diese kannst du auch im BTCPAY Server einrichten.
So sieht dann ein Pull Payment aus, wenn du Sie erstellt hast. Den Link zu dieser kannst du dann mit z.B. Mitarbeitern teilen.
Hier im Beispiel habe ich ein Pull Payment mit 1.000.000 Satoshis erstellt. Jeder der den Link bekommt, kann dann oben seine Adresse, die Zahlungsmethode, und den Betrag eingeben und über Claim Funds anfordern. Keine Angst, eine Zahlung erfolgt noch nicht.
Der restliche Aufbau ist ähnlich einer Zahlungs Aufforderung (Payment Request), die ich weiter oben behandelt habe.

Zurück in der Pull Payment Übersicht, kann man die angelegten Pull Payments und deren Status sehen.
Gelbe Farbe im Balken, offene Forderungen. Grüne Farbe, bezahlte Forderungen.
Jedes Mal wenn Jemand einen Betrag anfordert, bekommt man eine Benachrichtigung.


Der Vorteil an der Pull Payment ist nun, dass man nicht wie herkömmlich, jede Rechnungen einzeln bezahlt, sondern alle Anforderungen, auch an verschiedene Personen, gleichzeitig auslösen kann. Das spart Zeit und im Falle von On-Chain Transaktionen, auch Gebühren.
In den Payouts sind die Aufforderungen von Dritten zu deinen Pull Payments aufgeführt. Man gelangt über den Menüpunkt oder direkt von der jeweiligen Pull Payment zu den Payouts.
1 Auswahl der Zahlungsart
2 Status-Reiter und Auszahlungsübersicht
3 Aktion: Einzelne oder auch alle Auszahlungen können markiert werden und mit den vorhanden Aktionen bearbeitet werden.
z.B. ausgewählte Auszahlungen genehmigen, bezahlen oder ablehnen.
Im Reiter Awaiting Payments stehen die genehmigten Auszahlungen. Dort kann man diese auch manuell auf ausgezahlt setzen.


Zahlungs Knopf
Der Zahlungs-Knopf kann z.B. für Spenden verwendet werden.
Er kann auf einer Internetseite eingebunden werden und jeder kann ohne Gegenleistung Beträge bezahlen.
Der Zahlknopf ist standardmäßig deaktiviert. Weiter kommt ein wichtiger Sicherheitshinweis.
Übersetzung:
Warnung: Diese Funktion sollte nicht in einem BTCPay Server-Shop aktiviert werden, der kommerzielle Transaktionen verarbeitet. Durch die Aktivierung dieser Funktion kann ein böswilliger Benutzer Sie zu der Annahme verleiten, dass eine Bestellung bearbeitet wurde, indem er eine neue Rechnung erstellt und dieselbe Bestell-ID einer anderen gültigen Bestellung, aber eines anderen Betrags oder einer anderen Währung wiederverwendet. Wenn dein Geschäft kommerzielle Transaktionen verarbeitet, empfehlen wir Ihnen, einen separaten Store zu erstellen, bevor Sie die Zahlungsschaltfläche verwenden.


Zahlungs Knopf erstellen
Beim Erstellen hat man viele Optionen die Optik und Funktion des Knopfes anzupassen.
Die Einstellungen werden nicht gespeichert. Im Anschluss kopiert man den HTML Code und überträgt diesen in seine Webseite.
1 Price: Fester Rechnungsbetrag
2 Currency: Währung für den festgelegten Betrag
3 Beschreibung: Zusätzliche Beschreibung die auf an der Kasse ersichtlich ist.
4 Auftragsnummer: Zusätzliche Information. Erscheint nicht in der Kasse.
5 Optik des Knopfes:
Use Modal aktiv:
Die Kasse wird im Vordergrund der Webseite angezeigt. Die Seite selbst ist im Hintergrund, verschwommen sichtbar. Persönlich finde ich diese Ansicht am schönsten.
Customize Pay Button Text aktiv:
Knopftext und Logo anpassbar. Hintergrund bleibt aber grün.
Pay Button Image Url:
Eigenes Bild/Design eines Knopfes kann hier verlinkt werden.
6 Knopfgröße: 3 unterschiedliche Größen stehen zur Auswahl.
7 Knopf Type:
Fixed amount: siehe Abbildung
Custom amount: Spender kann Betrag selbst wählen, eingeben
Slider: Spender kann Betrag über einen Schieberegler ändern
8 Vorschau des Knopfes

Zahlungs Knopf (Weitere Einstellungen)
Benachrichtigungen
1 Server IPN: Schnittstelle zu Server
2 Email für die Benachrichtigung
3 Browser Umleitung: Also wohin es geht, nachdem die Zahlung abgeschlossen wurde. Ist zu empfehlen, da ansonsten die Standard Seite die des BTCPAY Servers ist.
Fortgeschrittene Optionen
4 Checkout Additional Query String: Bietet mit Code zusätzliche Einstellmöglichkeiten für die Kassenansicht.
5 Use App as Endpoint: Verlinkung mit einer BTCPAY App möglich.
6 Code: Der HTML Code wir mit jeder Änderung automatisch angepasst. Dieser kann dann einfach kopiert und in einer Seite eingefügt werden.