So verbinden Sie sich

Um das Stripe-Zahlungssystem zu verbinden, benötigen Sie einen geheimen API-Schlüssel und einen Webhook-Schlüssel.

Der geheime API-Schlüssel kann kopiert werden, indem Sie zu Entwickler → API-Schlüssel gehen und den geheimen Schlüssel kopieren.

Schritt 1. Gehen Sie zu Entwickler → API-Schlüssel:

Schritt 2. Finden und kopieren Sie den geheimen Schlüssel:

Als nächstes müssen Sie eine Callback-URL festlegen. Dadurch kann der Bot Zahlungsbenachrichtigungen empfangen.

Gehen Sie zum Abschnitt Webhooks und fügen Sie die Webhook-URL hinzu.

Ein Formular wird angezeigt.

Schritt 3. Klicken Sie auf "+ Ziel hinzufügen".

Schritt 4. Wählen Sie Ereignisse aus.

Schritt 3. Wählen Sie den Typ "Webhook-Endpunkt".

Schritt 4. Überprüfen Sie den Anforderungstyp und klicken Sie auf "Weiter".

Schritt 5. Geben Sie einen Namen ein und geben Sie die Endpunkt-URL an.

Setzen Sie die URL auf: https://chatter.mavibot.ai/stripe_callback/result

Schritt 6. Es werden zwei Endpunkte erstellt – Sie können die Einstellungen überprüfen, bevor Sie sie hinzufügen.

Schritt 7. Klicken Sie auf die Schaltfläche "Ziele hinzufügen". Die Webhooks werden gespeichert.

Schritt 8. Klicken Sie auf "Fertig".

Speichern Sie und Sie werden zur Seite mit dem konfigurierten Webhook weitergeleitet.

Schritt 9. Klicken Sie auf den Webhook, bei dem Sie alle Ereignisse ausgewählt haben.

Schritt 10. Finden Sie den Signierschlüssel und speichern Sie ihn (Sie werden ihn später benötigen, um eine Verbindung zu MaviBot herzustellen).

Sobald Sie die Schlüssel haben, fahren Sie mit der Verbindung in Mavibot fort.

Öffnen Sie in Mavibot den Abschnitt "Acquiring" und wählen Sie Stripe.

Geben Sie auf der Verbindungsseite die erhaltenen Schlüssel ein.

Klicken Sie auf "Einstellungen speichern".

Erledigt! Sie haben Stripe verbunden.

So verbinden Sie einen Transaktionsstatus-Callback

Um einen zusätzlichen Callback zu erhalten, müssen Sie einen zweiten Webhook neben dem vorhandenen hinzufügen.

Setzen Sie die URL auf: https://chatter.mavibot.ai/stripe_callback/<api_key>/charge_status

und wählen Sie die folgenden Ereignisse aus:

  • charge.failed
  • charge.pending
  • charge.succeeded

Weitere Details zu jedem Webhook-Typ:

  1. charge.succeeded – enthält Informationen über eine erfolgreich abgeschlossene Transaktion (ähnlich dem Callback für erfolgreiche Zahlungen)
  2. charge.pending – "Transaktion in Bearbeitung", kann bis zu 7 Tage dauern. Der Webhook hat das Format {erste 10 Zeichen}{Webhook-Typ}. Beispiel: sk_test_45LDPJLKT95d_charge.pending
  3. charge.failed – "Transaktion fehlgeschlagen". Der Webhook hat das Format {erste 10 Zeichen}{Webhook-Typ}. Beispiel: sk_test_45LDPJLKT95d_charge.failed

Fügen Sie den nach dem Speichern erhaltenen Webhook-Schlüssel in das Mavibot-Feld ein – Webhook-Schlüssel2.

stripe_invoice_id – die Transaktionskennung, für die unmittelbar nach der Zahlung kein erfolgreicher Zahlungs-Callback empfangen wurde.

So richten Sie Steuern ein

Um Steuern bei Zahlungen zu verwenden, müssen Sie diese zuerst in Ihrem Stripe-Dashboard erstellen. Geben Sie dazu "tax rates" in die Suchleiste ein:

Und klicken Sie auf "+ Steuersätze hinzufügen".

Geben Sie dann den geltenden Steuersatz ein.

Wählen Sie im sich öffnenden Menü den Steuertyp, die Region, für die er gilt, den Prozentsatz und ob die Steuer im Zahlungsbetrag enthalten (Inklusive) oder darauf aufgeschlagen (Exklusive) wird.

Kopieren Sie nach der Erstellung des Steuersatzes dessen ID in die Variable stripe_tax_id, bevor Sie den Zahlungsbetrag deklarieren.

Um Fehler zu vermeiden, wird empfohlen, die Variable stripe_tax_id nach Erhalt des Links auf eine leere Zeichenfolge ("") zu setzen – so können Sie die Steuer nur bei Bedarf anwenden.

Wenn alles richtig gemacht wurde, sehen Sie bei einem Steuersatz mit dem Parameter exklusive Folgendes:

So erhalten Sie einen Zahlungslink

Um einen Zahlungslink zu generieren, setzen Sie den Wert der Variable payment_sum (z. B. 150 oder 100.55 – verwenden Sie einen Punkt, kein Komma!). Danach erscheint die Variable stripe_pay_url. Sie können diese Variable als Link anzeigen oder auf eine Schaltfläche mit dem Text "Bezahlen" setzen.

Der Link sieht so aus:

https://checkout.stripe.com/pay/cs_test_a17mskKFFRwEuo3WgBSAUjfk7xaZZIrct9B3Ds2AdODVq1I8aRiqYEBdrU#fidkdWxOYHwnPyd1blpxYHZxWjA0TGFsVzFPVmpmMzJAbVYzUkp1Y0lLYDVgfzR2Q0NxcWZBNUNnTnRSVVRJSGFobEB1UExSczRMMTc8PWRLMGBddl8xalxyPDRoUGhnZm9xXXZANDZyaF0wNTVBVExsPHZyfycpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl

Standardmäßig ist die Währung auf USD eingestellt. Um eine andere Währung zu verwenden, setzen Sie den Wert der Variable currency.

Sie können auch die folgenden optionalen Variablen setzen, bevor Sie den Wert von payment_sum festlegen, um die Zahlung zu konfigurieren.

Funktionsparameter Parameterbeschreibung
currency Bestellwährung. Zulässige Werte finden Sie hier – https://stripe.com/docs/currencies
payment_description Zahlungsbeschreibung
stripe_tax_id Steuersatz-Kennung, die in Ihrem Stripe-Dashboard konfiguriert ist.
Einrichtungsanweisungen finden Sie im Abschnitt „So richten Sie Steuern ein".
stripe_invoice_enable Flag zum Aktivieren des Speicherns von Rechnungen (Quittungen). Setzen Sie einen beliebigen Wert, um dies zu aktivieren – alle relevanten Dokumente sind dann in Ihrem Stripe-Dashboard verfügbar.
stripe_locale

Legen Sie die Sprache der Zahlungsseite fest: en, de usw. Alle verfügbaren Optionen: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale

Wenn stripe_locale nicht gesetzt ist, wird die Browsersprache des Kunden verwendet.

stripe_payment_method_type Zahlungsmethode; standardmäßig Kartenzahlung. Kann durch andere in Stripe verfügbare Zahlungsmethoden ersetzt werden. Verfügbare Methoden sind unten aufgeführt. Beispiel: stripe_payment_method_type = "customer_balance"
stripe_additional_payment_method_type Fügen Sie eine zusätzliche Zahlungsmethode hinzu. Verfügbare Methoden sind unten aufgeführt. Beispiel: stripe_additional_payment_method_type = "sepa_debit"
coupon_id Rabattgutschein-Kennung
stripe_expired Ablaufzeit des Zahlungslinks. Angegeben in Sekunden. Minimum 30 Minuten, Maximum 24 Stunden. Standard ist 24 Stunden.
stripe_automatic_tax Aktivieren Sie die automatische Steuerberechnung und -erhebung an der Kasse. Übergeben Sie „1", um dies zu aktivieren. Weitere Einzelheiten finden Sie in den Stripe-Artikeln.

Wichtig! Wenn Sie sowohl die Variable stripe_payment_method_type als auch stripe_additional_payment_method_type verwenden, müssen die Werte darin unterschiedlich sein!

Liste der Werte für stripe_payment_method_type und stripe_additional_payment_method_type

card
acss_debit
affirm
afterpay_clearpay
alipay
au_becs_debit
bacs_debit
bancontact
blik
boleto
cashapp
customer_balance
eps
fpx
giropay
grabpay
ideal
klarna
konbini
link
oxxo
p24
paynow
paypal
pix
promptpay
sepa_debit
sofort
us_bank_account
wechat_pay zip

Weitere Details zu jeder Methode und den Ländern, in denen sie verfügbar sind, finden Sie in der Stripe-Dokumentation

Erstellen wir einen Zahlungslink für 1000 AED (die Standardwährung ist USD).

Hinweis:

— Geben Sie zuerst die optionalen Parameter wie first_name, payment_description usw. an.

— Weisen Sie dann zuletzt den Wert der Variable payment_sum zu.

Die Variablen können auch früher in der Kette gesetzt werden, nicht unbedingt im selben Block – dies ist nur ein Beispiel.

Zeigen Sie dann die Variable stripe_pay_url, die den Link enthält, an der gewünschten Stelle an – entweder in einem Nachrichtenblock oder auf einer Schaltfläche:

Beispiel 1. Zeigen Sie den Zahlungslink direkt in einer Nachricht an:

Beispiel 2. Fügen Sie den Zahlungslink zu einer Schaltfläche hinzu.

Wenn die Schaltfläche angeklickt oder dem Link gefolgt wird, wird Ihr Zahler zur Zahlungsseite weitergeleitet.

Das Beispiel zeigt, dass die Parameter, die wir im Rechner in den Blockeinstellungen angegeben haben, angewendet wurden: Bestellbeschreibung, Währung und Betrag.

Wenn Sie den Steuersatzparameter (stripe_tax_id) im Block übergeben.

Der Steuersatz wird auch im Zahlungsformular angezeigt.

Codebeispiel zum Kopieren

payment_description = "test payment"

currency = 'AED'

stripe_tax_id = 'enter_your_stripe_id_tax'

payment_sum = 1000

Wo Sie die Steuer-ID finden.

So richten Sie wiederkehrende Zahlungen ein

Für wiederkehrende Zahlungen (Abonnements) deklarieren Sie die Variable stripe_subscription vor der Variable payment_sum und weisen ihr den Abonnementnamen zu.

Sie können auch die folgenden Variablen hinzufügen: interval – die Dauer des Abonnementintervalls. Übergeben Sie 'day' für Tage, 'week' für Wochen, 'month' für Monate oder 'year' für Jahre. Wenn die Variable nicht gesetzt ist, wird standardmäßig 'month' verwendet.

Wichtig!

Die Dauer eines Abonnementzyklus darf 1 Jahr (für den Parameter 'year'), 12 Monate (für den Parameter 'month') oder 52 Wochen (für den Parameter 'week') nicht überschreiten.

interval_count – die Anzahl der angegebenen Intervalle: wie viele Tage, Wochen oder Monate im Abonnement für den angegebenen Betrag enthalten sind. Standard ist 1.

stripe_payment_method_type – die Zahlungsmethode; standardmäßig Kartenzahlung. Kann durch andere in Stripe verfügbare Zahlungsmethoden ersetzt werden. Verfügbare Methoden sind unten aufgeführt.

Zum Beispiel: stripe_payment_method_type = 'customer_balance'

stripe_additional_payment_method_type — fügt eine zusätzliche Zahlungsmethode hinzu. Verfügbare Methoden sind unten aufgeführt.

Zum Beispiel: stripe_additional_payment_method_type = 'sepa_debit'

Wichtig! Wenn Sie sowohl die Variablen stripe_payment_method_type als auch stripe_additional_payment_method_type verwenden, MÜSSEN die Werte darin UNTERSCHIEDLICH sein!

Liste der Werte für stripe_payment_method_type und stripe_additional_payment_method_type:

card
acss_debit
affirm
afterpay_clearpay
alipay
au_becs_debit
bacs_debit
bancontact
blik
boleto
cashapp
customer_balance
eps
fpx
giropay
grabpay
ideal
klarna
konbini
link
oxxo
p24
paynow
paypal
pix
promptpay
sepa_debit
sofort
us_bank_account
wechat_pay zip

Weitere Details zu jeder Methode und den Ländern, in denen sie verfügbar sind, finden Sie in der Stripe-Dokumentation.

Wichtig!

Die Dauer eines Abonnementzyklus darf 1 Jahr (für den Parameter 'year'), 12 Monate (für den Parameter 'month') oder 52 Wochen (für den Parameter 'week') nicht überschreiten.

In diesem Beispiel wird ein Abonnement mit dem Namen 'My_subscription' zu einem Preis von 1000 AED pro 1 Monat erstellt, und nach 1 Monat wird eine wiederkehrende Zahlung in gleicher Höhe abgebucht.

Beispiel zum Kopieren:

stripe_subscription = 'My_subscription' interval = 'month' payment_sum = 90

Um die Abonnementzahlung einmal alle zwei, drei oder vier Monate abzubuchen, übergeben Sie den Parameter interval_count:

stripe_subscription = 'My_subscription'

interval = 'month'

interval_count = 3

payment_sum = 90

Um das Zahlungsintervall des Abonnements von monatlich auf wöchentlich zu ändern, übergeben Sie das Wort week im Parameter interval:

stripe_subscription = 'My_subscription'

interval = 'week'

interval_count = 3

payment_sum = 90

Nach der Zahlung enthalten die Transaktionsvariablen des Kunden stripe_subscription_id, die für die Konfiguration der Abonnementkündigung benötigt wird, und stripe_customer_id, die später zur Überprüfung des Abonnementstatus verwendet werden kann.

Die Benachrichtigung (Callback) wird nur für die erste wiederkehrende Zahlung gesendet!

Für nachfolgende Zahlungen gibt es KEINEN Callback. Die Verfolgung erfolgt über die Funktion und stripe_customer_id.

Einstellungen zur Rückkehr zu regulären Zahlungen

Um zu regulären Zahlungen zurückzukehren, weisen Sie der Abonnementvariablen eine leere Zeichenfolge zu: stripe_subscription = ''. In diesem Fall haben die Variablen interval und interval_count keinen Einfluss auf die Linkgenerierung.

Einstellungen zum Kündigen eines Abonnements

Um ein Abonnement im Rechner zu kündigen, verwenden Sie die Methode stripe_remove_subscription(stripe_subscription_id), wobei stripe_subscription_id die Kennung ist, die nach der Zahlung in den Transaktionsvariablen gespeichert wurde.

Dadurch bleibt das bezahlte Abonnement bis zum Ende des aktuellen Abrechnungszeitraums aktiv, es fallen jedoch keine weiteren Gebühren an, und das Abonnement wird nach Ablauf des Zeitraums gekündigt.

answer = stripe_remove_subscription('#{stripe_subscription_id}')

stripe_remove_subscription — gibt bei Erfolg eine Antwort mit Informationen über das Datum zurück, bis zu dem das gekündigte Abonnement aktiv bleibt.

In diesem Beispiel wird das Ergebnis der Funktion in der Variablen answer gespeichert, sodass Sie das Ergebnis überprüfen können.

Überprüfung des Abonnementstatus

stripe_check_subscription(subscription_id, customer_id), wobei

stripe_subscription_id — Abonnementkennung stripe_customer_id — Kundenkennung in Stripe (optionaler Parameter)

So erstellen Sie einen Gutschein und erhalten eine Rabatt-ID

Um eine Rabattkennung zu erhalten, erstellen Sie einen Gutschein in Ihrem Dashboard im Bereich „Gutscheine“. ”Gutscheine”.

Durch Klicken auf die Schaltfläche „Neu“ wird eine Seite geöffnet, auf der Sie Folgendes angeben müssen:

  1. Name — der Rabattname;
  2. ID — die Kennung, wird automatisch generiert;
  3. Typ — der Rabatttyp: Prozentsatz oder fester Betrag;
  4. Dauer — die Rabattdauer (einmalig oder fortlaufend, z. B. für Abonnements) und andere Parameter.

Der Rabattgutschein wird im „Produktkatalog“ im Bereich „Gutscheine“ angezeigt, und Sie können die Rabatt-ID anzeigen, indem Sie das Gutscheinmenü öffnen.

Klicken Sie auf den Gutschein, um die Gutschein-ID zu kopieren.

So wenden Sie einen Rabatt auf eine Bestellung an

  1. Beim Generieren eines Zahlungslinks (funktioniert sowohl für Abonnements als auch für einmalige Zahlungen).

Deklarieren Sie im Blockrechner vor der Deklaration der Variable payment_sum die Variable coupon_id und übergeben Sie die Rabattkennung aus Ihrem Stripe-Dashboard.

  1. Auf ein bestehendes Abonnement mit der Funktion stripe_add_subscription_discount.

Legen Sie die Auslösebedingungen für den Block fest und rufen Sie die angegebene Funktion im Rechner auf, wobei Sie die Parameter stripe_subscription_id (Abonnement-ID) und coupon_id (Gutschein-Rabatt-ID) übergeben. Der Rabatt wird auf nachfolgende Abonnementzahlungen angewendet.

Codebeispiel zum Kopieren

stripe_subscription = 'test subscription'

interval = 'month'

payment_description = 'test payment'

currency = 'AED'

coupon_id = 'BD8VIwi8' stripe_add_subscription_discount(stripe_subscription_id, coupon_id)

stripe_tax_id = 'Qfkiwiki29jcs'

payment_sum = 90

Wenn der Rabatt erfolgreich angewendet wurde, gibt die Funktion eine Nachricht mit der Abonnement-ID, dem Rabatttyp, dem Betrag oder Prozentsatz und dem Ablaufdatum zurück.

So entfernen oder ändern Sie einen Rabatt für ein Abonnement

Ein einem Abonnement zugeordneter Rabatt kann entfernt oder durch einen anderen Rabatt ersetzt werden.

Um einen Rabatt zu beenden, legen Sie die Auslösebedingungen für den Block fest und rufen Sie die Funktion stripe_remove_subscription_discount im Rechner auf, wobei Sie den Parameter stripe_subscription_id (Abonnement-ID) übergeben.

Wenn der Vorgang erfolgreich ist, gibt die Funktion eine Nachricht mit der Abonnement-ID und dem Datum der Rabattstornierung zurück.

Das Ersetzen eines Rabatts erfolgt wie das Hinzufügen eines neuen Rabatts mit der Funktion stripe_add_subscription_discount. Stellen Sie sicher, dass Sie die Parameter stripe_subscription_id und coupon_id übergeben. Eine erfolgreiche Anfrage aktualisiert den dem Abonnement zugeordneten Gutschein und gibt eine Nachricht mit den aktualisierten Details zurück.

So verarbeiten Sie das Ergebnis

Nach einer erfolgreichen Zahlung empfängt der Bot Callbacks, die eine erfolgreiche Transaktion anzeigen. Im System erscheinen diese Callbacks als Nachrichten vom Benutzer. Um zu verhindern, dass Benutzer sie manuell senden, bestehen sie aus den ersten 20 Zeichen des geheimen Schlüssels, gefolgt von _success, z. B.: sk_live_d35gky6d8ers_success

Diese Callbacks sind für den Benutzer NICHT sichtbar — sie sind nur für den Betreiber sichtbar.

Der Vergleichstyp muss auf „Exakte Übereinstimmung“ gesetzt werden.

Nach einer erfolgreichen Zahlung wird auch die Variable stripe_payment_completed auf True gesetzt.

Sie können beispielsweise eine erfolgreiche Zahlung mit einem Bedingungsblock verarbeiten und dem Benutzer die entsprechende Nachricht anzeigen.

Nach Abschluss der Zahlung wird den Kundendaten die Variable stripe_callback_data hinzugefügt, die die Antwort des Zahlungssystems für die abgeschlossene Transaktion enthält. Die erforderlichen Daten können mit der get-Methode aus dem resultierenden Wörterbuch extrahiert werden.

Um eine wiederholte Zahlung zu verarbeiten, müssen Sie zuerst payment_sum und den zuvor generierten Link zurücksetzen und erst dann die Variable payment_sum neu zuweisen, um einen neuen Link zu erhalten. Sie können den vorherigen Wert verwenden.

So testen Sie Zahlungen

Um die Integration zu testen, können Sie den geheimen Schlüssel aus der Testumgebung verwenden. Wechseln Sie dazu im Stripe-Dashboard über das Menü auf der rechten Seite in die Testumgebung.

Befolgen Sie dann die zu Beginn dieser Anleitung beschriebenen Einrichtungsschritte. Geben Sie den Test-Geheimschlüssel ein und fügen Sie die Webhook-URL in der Testumgebung hinzu.

Verwenden Sie zum Testen eine Testkreditkartennummer (die Kartennummer für Ihr Land finden Sie auf der offiziellen Stripe-Website).