So verbinden Sie
Um das Stripe-Zahlungssystem zu verbinden, benötigen Sie einen geheimen API-Schlüssel und einen Webhook-Schlüssel.
Den geheimen API-Schlüssel können Sie kopieren, 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 aus.

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

Klicken Sie auf „Einstellungen speichern".
Fertig! Sie haben Stripe verbunden.
So verbinden Sie einen Transaktionsstatus-Callback
Um einen zusätzlichen Callback zu erhalten, müssen Sie neben dem vorhandenen einen zweiten Webhook 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.failedcharge.pendingcharge.succeeded

Weitere Details zu jedem Webhook-Typ:
charge.succeeded– enthält Informationen über eine erfolgreich abgeschlossene Transaktion (ähnlich dem erfolgreichen Zahlungs-Callback)charge.pending– „Transaktion läuft", kann bis zu 7 Tage dauern. Der Webhook hat das Format {erste 10 Zeichen}{Webhook-Typ}. Beispiel: sk_test_45LDPJLKT95d_charge.pendingcharge.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 – Webhook-Schlüssel2 – ein.

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 zunächst 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 wird (Exklusive).

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.
Bei korrekter Ausführung sehen Sie bei einem Steuersatz mit dem exklusiven Parameter 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 einer Schaltfläche mit dem Text „Bezahlen" platzieren.
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.
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!
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
Beispiel zur Generierung eines Zahlungslinks
Erstellen wir einen Zahlungslink für 1000 AED (Standardwährung ist USD).

Hinweis:
– Geben Sie zuerst die optionalen Parameter wie first_name, payment_description usw. an.
– Weisen Sie dann den Wert der Variable payment_sum zuletzt 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. Zahlungslink direkt in einer Nachricht anzeigen:


Beispiel 2. Zahlungslink zu einer Schaltfläche hinzufügen.

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

Das Beispiel zeigt, dass die von uns im Rechner in den Blockeinstellungen angegebenen Parameter angewendet wurden: Bestellbeschreibung, Währung und Betrag.
Wenn Sie den Steuersatzparameter (stripe_tax_id) im Block übergeben.

Der Steuersatz wird auch im Zahlungsformular angezeigt.

payment_description = "test payment"
currency = 'AED'
stripe_tax_id = 'enter_your_stripe_id_tax'
payment_sum = 1000
Wo finde ich die Steuer-ID.

So richten Sie wiederkehrende Zahlungen ein
Deklarieren Sie für wiederkehrende Zahlungen (Abonnements) die Variable stripe_subscription vor der Variable payment_sum und weisen Sie 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. Standardwert 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.
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'
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!
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
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 namens 'My_subscription' mit einem Preis von 1000 AED pro 1 Monat erstellt, und nach 1 Monat wird eine wiederkehrende Zahlung in gleicher Höhe abgebucht.

Kopierbeispiel:
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 Abonnementzahlungsintervall 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 zum Konfigurieren der Abonnementkündigung benötigt wird, und stripe_customer_id, die später zum Überprüfen des Abonnementstatus verwendet werden kann.
Die Benachrichtigung (Callback) wird nur für die erste wiederkehrende Zahlung gesendet!
Für nachfolgende Zahlungen wird es KEINEN Callback geben. 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 Kosten 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 Variable 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".

Wenn Sie auf die Schaltfläche „Neu" klicken, wird eine Seite geöffnet, auf der Sie Folgendes angeben müssen:
- Name – der Rabattname;
- ID – die Kennung, wird automatisch generiert;
- Typ – der Rabatttyp: Prozentsatz oder fester Betrag;
- 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
- Beim Generieren eines Zahlungslinks (funktioniert sowohl für Abonnements als auch für einmalige Zahlungen).
Setzen Sie im Blockrechner vor der Deklaration der Variable payment_sum die Variable coupon_id und übergeben Sie die Rabattkennung aus Ihrem Stripe-Dashboard.

- 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.

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 erhält 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, zum Beispiel: 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 eine erfolgreiche Zahlung beispielsweise mit einem bedingten Block 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 erneute Zahlung zu verarbeiten, müssen Sie zuerst payment_sum und den zuvor generierten Link zurücksetzen und dann erst 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 am Anfang dieser Anleitung beschriebenen Einrichtungsschritte. Geben Sie den geheimen Testschlü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).


