Abonnements
Coin Moebius kann wiederkehrende Abos auf jedem Fiat-Anbieter in Ihrem Menü verkaufen. Der Händler konfiguriert Preis und Intervall einmal an einem Produkt; der Buy-Button auf der Seite bleibt genau gleich. Der Zahlungsanbieter führt die wiederkehrende Abrechnung aus, hält die Karte, wiederholt fehlgeschlagene Verlängerungen und hostet die Kündigungsseite. Coin Moebius leitet die Lebenszyklus-Ereignisse an Ihren Code weiter.
Ein wiederkehrendes Produkt einrichten
Setzen Sie im Reiter Produkte des Dashboards das Feld Abrechnung auf Monatlich oder Jährlich statt auf Einmalig. Ein optionales Feld Kostenlose Testphase erscheint für etwaige Testtage, die Sie vor der ersten Belastung gewähren möchten. Speichern Sie das Produkt.
Das HTML des Buy-Buttons ändert sich nicht. Dasselbe Attribut product-id="pro-plan" funktioniert für einmalig oder wiederkehrend; der Worker prüft beim Checkout die Abrechnungseinstellung des Produkts und leitet bei Bedarf über die Abo-API des Anbieters.
<coin-moebius-buy
project-id="proj_YOUR_ID"
product-id="pro-plan"
label="Subscribe to Pro">
</coin-moebius-buy>Was Sie nicht bauen müssen
Der Anbieter führt den Zeitplan aus. Wir speichern keine Karten. Wir führen keine Cronjobs aus. Wir wiederholen keine fehlgeschlagenen Belastungen. Wir senden keine Mahn-E-Mails. Wir hosten keine Kündigungsseite. Diese gesamte Seite des Systems lebt innerhalb von Stripe (oder welchem Fiat-Anbieter Sie auch verbunden haben). Sie lagern die schwierigen Teile der wiederkehrenden Abrechnung an das Unternehmen aus, das sie bereits für Millionen von Händlern betreibt.
Abo-Ereignisse
Verlängerungen und Kündigungen erscheinen als Webhook-Ereignisse, auf die Ihr Server reagieren kann. Fünf normalisierte Typen decken den Lebenszyklus ab:
| Ereignis | Wann es auslöst |
|---|---|
subscription.created | Neuanmeldung. Trägt den Betrag des ersten Zyklus. |
subscription.renewed | Ein nicht erster Zyklus war erfolgreich. Verlängern Sie den Zugang bis zum neuen Periodenende. |
subscription.payment_failed | Die Karte eines Zyklus wurde abgelehnt. Das Mahnwesen des Anbieters wiederholt nach seinem Zeitplan; Sie protokollieren das meist nur zur Sichtbarkeit. |
subscription.canceled | Endgültige Kündigung. Der Käufer hat gekündigt, das Mahnwesen war erschöpft, oder der Händler hat gekündigt. |
subscription.updated | Statusänderung, Kartenaktualisierung, Planwechsel. Prüfen Sie den neuen Status. |
Käufer identifizieren, ohne sie zu speichern
Coin Moebius ist ein Zahlungs-Router, keine Kundendatenbank. Wir speichern nie Käufer-E-Mails, -Namen, -Adressen oder die internen Kunden-IDs des Anbieters. Wenn Ihre Anwendung Nutzerkonten hat (die meisten Abo-Apps haben das), übergeben Sie Ihre eigene undurchsichtige Nutzer-ID als customer-ref am Buy-Button. Der Button leitet sie als metadata.customerRef an den Worker weiter, wir fädeln sie zum Anbieter durch, geben sie bei jedem Ereignis zurück und speichern nur diese undurchsichtige Zeichenkette. Für uns ist sie bedeutungslos; für Sie ist sie der Fremdschlüssel in Ihr eigenes Nutzersystem.
<coin-moebius-buy
project-id="proj_YOUR_ID"
product-id="pro-plan"
customer-ref="user_bob_42">
</coin-moebius-buy>Wenn Sie tiefere Käuferdetails brauchen (E-Mail, letzte vier Kartenziffern, Streitfallnotizen), verlinkt das Dashboard jede Kartentransaktion nach außen zu dem Anbieter, der sie abgewickelt hat (Stripe, PayPal, Square oder Authorize.Net), wo der Käuferdatensatz tatsächlich liegt. Sie klicken durch; wir duplizieren ihn nie.
Kündigung: nach außen verlinken, nicht bauen
Käufer kündigen im gehosteten Portal des Anbieters: dem Stripe Customer Portal, der PayPal-Kontoseite des Käufers und so weiter. Das Portal übernimmt Kündigung, Kartenaktualisierungen, Belegdownloads und Planwechsel, alles Oberfläche, die Sie nicht bauen müssen. Sie können den Käufer mit einem API-Aufruf ins Portal bringen:
const res = await fetch(
`https://api.coinmoebius.com/api/subscriptions/${projectId}/${subId}/portal-url`,
{ method: 'POST', body: JSON.stringify({ returnUrl: 'https://you.example/account' }) },
);
const { url } = await res.json();
window.location.assign(url);Welche Anbieter heute Abos unterstützen
Stripe und PayPal funktionieren von Ende zu Ende über den gehosteten Buy-Button. Stellen Sie ein Produkt im Dashboard auf Monatlich oder Jährlich, fügen Sie den Button auf Ihrer Seite ein, und der Klick startet ein echtes Abo. Der Anbieter übernimmt die Verlängerungen.
Abos für Square und Authorize.Net laufen nicht über den gehosteten Buy-Button. Sie erstellen das Abo über Ihre eigene Integration mit dem Anbieter (für Authorize.Net bedeutet das, die Karte auf Ihrer eigenen Seite mit Accept.js zu erfassen; Square hat seinen eigenen gehosteten Abo-Checkout, den Sie nutzen können) und richten dann den Webhook des Anbieters auf uns. Von da an arbeitet der Rest des Systems (Webhook-Routing, Dashboard, Status-Endpunkt, Kundenverknüpfung) genau so wie bei Stripe- und PayPal-Abos. Siehe den nächsten Abschnitt.
Krypto-Anbieter (NOWPayments) unterstützen in diesem Produkt keine wiederkehrende Abrechnung. Wiederkehrendes Krypto ist auf jedem Gateway, das wir bewertet haben, reibungslastig; wir liefern lieber nichts als eine halbkaputte Lösung dafür.