E-Commerce

Krypto-Zahlungen für E-Commerce

Wie ein Online-Shop Krypto als Zahlungsart ergänzen kann: Platz an der Kasse, Bestellstatus, Teilzahlungen, Erstattungen, Buchhaltung in Dollar und was heute bereit ist.

Für einen Online-Shop ist Krypto eine zusätzliche Zahlungsart neben Karten, kein Ersatz. Sie erreicht Kunden, deren Karten in Ihrem Shop nicht funktionieren, beseitigt Kartenrückbuchungen und lässt Sie Dollar-Stablecoins empfangen. Dieser Leitfaden behandelt, wo sie an der Kasse ihren Platz hat, wie Sie Zahlungsstatus auf Bestellzustände abbilden, wie Sie die heiklen Fälle handhaben und was bei Qvard heute bereit ist und was nicht.

Was Krypto einem Shop bringt und was nicht

Seien Sie konkret in Ihren Erwartungen, denn Krypto ist kein Wachstumsschalter.

  • Kunden, die Ihre Kartenzahlung nicht erreicht. Käufer, deren Bankkarten bei ausländischen Shops abgelehnt werden oder die in Ländern leben, die Ihr Zahlungsabwickler nicht bedient, können trotzdem mit einem Dollar-Stablecoin zahlen.
  • Keine Kartenrückbuchungen. Der Absender kann eine Krypto-Überweisung nicht rückgängig machen, angefochtene Kartenzahlungen sind für diese Bestellungen also kein Risiko. Eine Erstattung wird zu einer Überweisung, die Sie selbst veranlassen.
  • Grenzüberschreitender Verkauf ohne die Hürden der Kartenzahlung. Dieselbe Zahlungsseite funktioniert für einen Kunden überall.
  • Ein bescheidener Anteil der Bestellungen. Behandeln Sie sie als zusätzliche Option auf der Zahlungsseite. In den meisten Shops ersetzt sie Karten nicht, und sie sollte den Kartenablauf nicht verkomplizieren.

Wenn Sie digitale Güter verkaufen, lesen Sie Krypto-Zahlungen für Shops mit digitalen Gütern; die dortigen Lieferregeln gelten für jedes Sofortprodukt.

Wo sie an der Kasse ihren Platz hat

Fügen Sie „Mit Krypto bezahlen“ als eine weitere Zahlungsart neben den vorhandenen hinzu, nicht als eigenen Shop. Eine übersichtliche Platzierung:

  1. Der Kunde füllt Warenkorb und Adresse wie gewohnt aus und wählt „Mit Krypto bezahlen“.
  2. Ihr Server legt die Bestellung im Zustand „ausstehend“ an und erstellt eine Zahlung dafür.
  3. Sie leiten den Kunden auf die gehostete Zahlungsseite weiter, wo er ein Asset und ein Netzwerk wählt und aus seiner Wallet zahlt.
  4. Ist die Zahlung abgeschlossen, erhält Ihr Server einen Webhook und setzt die Bestellung auf den nächsten Status.

Zeigen Sie den Preis in Ihrer Shop-Währung und kassieren Sie in US-Dollar: Die Zahlung wird in Dollar erstellt, und der Kunde zahlt den Gegenwert in dem gewählten Asset zu einem Kurs, der für eine Stunde fixiert ist. Ist Ihr Shop nicht in Dollar ausgepreist, rechnen Sie die Bestellsumme vor dem Erstellen der Zahlung um.

Zahlung erstellen und Ihre Bestellnummer verwenden

Erstellen Sie die Zahlung aus Ihrem Backend mit einem einzigen POST an https://api.qvard.com/api/v1/payment. Die Anfrage enthält Ihren Schlüssel im Header Authorization: Bearer und einen JSON-Body mit der Bestellnummer als id, dem Betrag als price in US-Dollar und optional einer paymentSystemId, um die Seite mit bereits gewähltem Asset und Netzwerk zu öffnen. Die Antwort ist 201 mit einer redirectUrl.

Verwenden Sie Ihre eigene Bestellnummer als id: Sie kommt im Webhook zurück und ist damit der Schlüssel, der die Zahlung mit der Bestellung verbindet. Wird die Anfrage mit derselben id für dieselbe Zahlungsmethode wiederholt, erhalten Sie die bestehende Zahlung; ein Doppelklick oder eine wiederholte Anfrage erzeugt also keine zwei Zahlungen. Die vollständige Anleitung mit Code finden Sie unter Krypto-Zahlungen auf einer Website akzeptieren.

Zahlungsstatus auf Bestellzustände abbilden

Eine Zahlung hat vier Status, und Ihre Bestellung braucht für jeden eine klare Regel:

  • wait: Die Zahlung ist erstellt, der Kunde hat nicht gezahlt. Die Bestellung wartet auf Zahlung.
  • partial: Weniger als der volle Betrag ist angekommen. Halten Sie die Bestellung an, sagen Sie, wie viel fehlt, und lassen Sie den Kunden den Rest senden, oder stornieren und erstatten Sie.
  • completed: Der volle Betrag ist angekommen. Das ist der Status, der den Webhook auslöst, und der einzige, der Ware freigeben sollte.
  • rejected: Die Zahlung wurde abgelehnt. Bieten Sie einen anderen Zahlungsweg an.

Das Beispiel zeigt die Abbildung als kleine Tabelle. Zwei Regeln sorgen für Sicherheit: Setzen Sie eine bezahlte Bestellung nie auf einen früheren Zustand zurück und liefern Sie nie bei einem anderen Status als completed aus. Der Webhook-Handler muss außerdem idempotent sein und genau mit HTTP 200 antworten; siehe Krypto-Zahlungs-Webhooks absichern.

Node.jsorder-status.js
// Qvard payment status -> your order state. Only "completed" releases goods.
const ORDER_STATE = {
  wait:      'pending_payment',   // created, the customer has not paid yet
  partial:   'on_hold',           // less than required arrived: ask for the rest or refund
  completed: 'paid',              // full amount arrived: start fulfilment
  rejected:  'payment_failed'     // rejected: offer another way to pay
};

function nextState(current, qvardStatus) {
  const target = ORDER_STATE[qvardStatus];
  if (!target) return current;                    // unknown status: change nothing
  if (current === 'paid') return current;         // never move a paid order backwards
  return target;
}

Teilzahlungen, abgelaufene Bestellungen und Erstattungen

Das sind die Fälle, die Shops am meisten Zeit kosten:

  • Kunden, die weniger zahlen. Oft wird eine Auszahlungsgebühr der Börse vom Betrag abgezogen, und die Zahlung kommt unvollständig an. Entscheiden Sie, ob Sie die Differenz verlangen oder erstatten, und zeigen Sie das auf der Bestellseite.
  • Kunden, die spät zahlen. Der Kurs ist eine Stunde lang fixiert. Eine Zahlung, die lange nach Abbruch der Bestellung eintrifft, behandeln Sie als Supportfall, statt sie zu automatisieren.
  • Bestand. Falls Sie Bestand für unbezahlte Bestellungen reservieren, geben Sie ihn frei, sobald die Bestellung abläuft.
  • Erstattungen. Auch Sie können eine Krypto-Zahlung nicht zurückholen; eine Erstattung ist eine Überweisung, die Sie an die Wallet des Kunden senden. Legen Sie die Regel in Ihren Bedingungen fest und fragen Sie die Erstattungsadresse beim Kunden ab, statt sie der Zahlung zu entnehmen.
  • Die Rückkehr auf die Seite. Rücksprung-URLs nach der Zahlung sind noch nicht verfügbar, der Kunde kehrt also von selbst auf Ihre Seite zurück. Geben Sie ihm eine Bestellseite, die den tatsächlichen Status zeigt, statt einer Dankeseite, die Erfolg voraussetzt.

Preise, Gebühren und Buchhaltung

Halten Sie die Geldseite einfach.

  • Preis in Dollar, Abrechnung in Dollar. Erfassen Sie den Bestellwert zum Zeitpunkt der Bestellung in Dollar und bewahren Sie die id der Zahlung zur Abstimmung daneben auf.
  • Was es kostet. Es gibt keine Abo-Gebühr. Die Provision ist für Ihr Projekt individuell und beginnt laut Preisseite bei 1 % und kann bis auf 0,1 % sinken.
  • Das Geld abheben. Die Mittel liegen auf Ihrem Qvard-Guthaben und Sie zahlen sie auf Ihre eigene Wallet aus; die Auszahlung kostet nur die Netzwerkgebühr. Eine Auszahlung auf ein Bankkonto in Fiat-Währung ist nicht verfügbar; brauchen Sie Bargeld, planen Sie den Weg über einen Dienst, den Sie schon nutzen.
  • Steuern und Buchführung. Die steuerliche und buchhalterische Behandlung von Krypto-Zahlungseingängen hängt von Ihrem Land ab; klären Sie das vor dem Start mit Ihrem Buchhalter.

Was heute bereit ist

Qvard arbeitet über seine API: Ihr Shop erstellt die Zahlung und empfängt den Webhook. Ein fertiges Plugin für Shop-Plattformen gibt es noch nicht, Zahlungslinks und eine separate Sandbox sind in Entwicklung, und Kunden kehren von selbst auf Ihre Seite zurück. Ist Ihre Plattform WordPress, finden Sie funktionierenden Code unter Krypto-Zahlungen mit WordPress. Die akzeptierten Assets und Netzwerke stehen unter unterstützte Coins, die Anfrageformate in der Entwicklerdokumentation; und um zu sehen, was Ihr Kunde sehen wird, öffnen Sie eine Demo-Rechnung.

FAQ

Wird Krypto in meinem Shop die Karten ersetzen?

Nein. Sie funktioniert am besten als zusätzliche Option für Kunden, deren Karten in Ihrem Shop nicht funktionieren oder die Stablecoins bevorzugen. Lassen Sie den Kartenablauf, wie er ist.

Wann sollte ich eine Bestellung als bezahlt markieren?

Nur, wenn Qvard den Webhook mit dem Status completed sendet. Ein auf Ihre Seite zurückgekehrter Kunde ist kein Zahlungsnachweis, und der Status partial bedeutet, dass weniger als erforderlich angekommen ist.

Wie funktionieren Erstattungen bei Krypto?

Der Absender kann eine Krypto-Zahlung nicht rückgängig machen, eine Erstattung ist also eine Überweisung, die Sie an die Wallet des Kunden senden. Legen Sie die Regel in Ihren Bedingungen fest und fragen Sie den Kunden nach der Erstattungsadresse.

Gibt es ein Plugin für meine Shop-Plattform?

Noch nicht. Heute läuft die Integration über die API: eine Anfrage zum Erstellen einer Zahlung und ein Webhook zum Empfang des Ergebnisses.

Ähnliche Artikel

Ähnliche Artikel