Skip to main content

Abrechnung mit Kunden

Apps auf GitHub Marketplace müssen die Abrechnungsleitlinien von GitHub befolgen und empfohlene Dienste unterstützen. Die Befolgung unserer Leitlinien verhilft unseren Kunden zu einem Abrechnungsprozess ohne Überraschungen.

Hinweis: Dieser Artikel gilt nur für die Veröffentlichung von Apps im GitHub Marketplace. Weitere Informationen zum Veröffentlichen von GitHub Actions im GitHub Marketplace findest du unter Aktionen auf dem GitHub-Marktplatz veröffentlichen.

Grundlegendes zum Abrechnungszeitraum

Kunden können einen monatlichen oder jährlichen Abrechnungszeitraum auswählen, wenn sie deine App kaufen. Alle Änderungen, die Kunden am Abrechnungszeitraum und an der Planauswahl vornehmen, lösen ein marketplace_purchase-Ereignis aus. Du kannst den marketplace_purchase-Webhooknutzdaten entnehmen, welchen Abrechnungszeitraum ein Kunde auswählt und wann das nächste Abrechnungsdatum beginnt (effective_date). Weitere Informationen zu Webhooknutzdaten findest du unter Webhook-Ereignisse für die GitHub Marketplace-API.

Bereitstellen von Abrechnungsdiensten in der Benutzeroberfläche deiner App

Kunden sollten in der Lage sein, über die Website deiner App die folgenden Aktionen auszuführen:

  • Kunden sollten in der Lage sein, ihre GitHub Marketplace-Pläne für persönliche und Organisationskonten separat zu ändern oder zu kündigen.
  • Kunden, die einen kostenpflichtigen Plan kündigen, der über den GitHub Marketplace erworben wurde, sollten automatisch auf den kostenlosen Plan der App zurückgestuft werden, sofern ein solcher vorhanden ist. Wenn ein Kunde ein GitHub Marketplace-Abonnement kündigt, wird die App von GitHub nicht automatisch deinstalliert. Der Kunde kann daher davon ausgehen, dass kostenlose Features weiterhin funktionieren. Es wird dringend empfohlen, Kunden die Möglichkeit zu geben, ihren vorherigen Plan zu reaktivieren.
  • Kunden sollten in der Lage sein, von der Benutzeroberfläche deiner App aus ein Upgrade durchzuführen, wenn du eine Upgrade-URL in diesem Format angibst: https://www.github.com/marketplace/<LISTING_NAME>/upgrade/<LISTING_PLAN_NUMBER>/<CUSTOMER_ACCOUNT_ID>
  • Kunden sollten in der Lage sein, auf der Website deiner App zu ändern, welche Benutzer Zugriff auf deine App haben, wenn sie Arbeitsplätze erworben haben (Preisplan pro Einheit) oder der Plan eine unbegrenzte Anzahl von Projektmitarbeitern zulässt.
  • Kunden sollten die folgenden Änderungen an ihrem Konto sofort in den Abrechnungs-, Profil- oder Kontoeinstellungen auf der Website der App sehen können:
    • Aktueller Plan und Preis.
    • Neue Pläne, die erworben wurden.
    • Upgrades, Downgrades, Stornierungen und die Anzahl der verbleibenden für eine kostenlose Testversion.
    • Änderungen an Abrechnungszyklen (monatlich oder jährlich).
    • Nutzung und verbleibende Ressourcen für Pläne mit Pauschalgebühr und auf Einheiten basierende Pläne. Wenn der Preisplan zum Beispiel pro Einheit gilt, sollte die Website deiner App die verbrauchten und die verfügbaren Einheiten anzeigen.

Abrechnungsdienste für Upgrades, Downgrades und Kündigungen

Befolge die folgenden Richtlinien für Upgrades, Downgrades und Kündigungen, damit der Abrechnungsprozess klar und konsistent bleibt. Ausführlichere Anweisungen zu den GitHub Marketplace-Kaufereignissen findest du unter Verwenden der GitHub Marketplace-API in deiner App.

Du kannst den effective_date-Schlüssel des marketplace_purchase-Webhooks verwenden, um festzustellen, wann eine Planänderung eintritt, und die Auflistung von Konten für einen Plan regelmäßig synchronisieren.

Upgrades

Wenn ein Kunde ein Upgrade für seinen Preisplan vornimmt oder seinen Abrechnungszeitraum von monatlich in jährlich ändert, solltest du die Änderung für ihn sofort wirksam machen. Du musst einen anteiligen Rabatt auf den neuen Plan anwenden und den Abrechnungszeitraum ändern.

Wenn ein Kunde ein Upgrade seines Plan ausführt und bei der Zahlung ein Fehler auftritt, setzt GitHub das GitHub Marketplace-Abonnement in den vorherigen Status zurück. GitHub sendet auch eine E-Mail an den Kunden, um ihn über den Fehler zu informieren und ihm zu ermöglichen, den Kauf erneut zu versuchen. Du erhältst einen Webhook mit der changed-Aktion, der dich zum Wiederherstellen des vorherigen Plans auffordert.

Informationen zum Erstellen von Upgrade- und Downgradeworkflows in deiner App findest du unter Behandeln von Planänderungen.

Downgrades und Kündigungen

Downgrades treten auf, wenn ein Kunde von einem kostenlosen Plan zu einem kostenpflichtigen Plan wechselt, einen Plan mit niedrigeren Kosten als bei seinem aktuellen Plan auswählt oder seinen Abrechnungszeitraum von jährlich in monatlich ändert. Bei Downgrades oder Kündigungen musst du keine Rückerstattung leisten. Stattdessen bleibt der aktuelle Plan bis zum letzten Tag des aktuellen Abrechnungszeitraums aktiv. Das marketplace_purchase-Ereignis wird gesendet, wenn der neue Plan am Anfang des nächsten Abrechnungszeitraums des Kunden wirksam wird.

Wenn ein Kunde einen Plan kündigt, musst du:

  • Den Kunden automatisch auf den kostenlosen Plan herunterstufen (sofern vorhanden).

    Wenn ein Kunde ein GitHub Marketplace-Abonnement kündigt, wird die App von GitHub nicht automatisch deinstalliert. Der Kunde kann daher davon ausgehen, dass kostenlose Features weiterhin funktionieren.

  • Dem Kunden die Möglichkeit eines Upgrades des Plans über GitHub einräumen, falls er ihn zu einem späteren Zeitpunkt fortsetzen möchte.

Informationen zum Erstellen von Kündigungsworkflows in deiner App findest du unter Behandeln von Plankündigungen.