So verbinden Sie Prodamus

Um Prodamus zu verbinden, benötigen Sie die URL des Zahlungsformulars und einen geheimen Schlüssel.

Die URL des Zahlungsformulars wird nach der Registrierung bereitgestellt. Beispiel:

demo.payform.ru

Den geheimen Schlüssel erhalten Sie in Ihrem Prodamus-Konto. Sie müssen auch die URL angeben, an die Zahlungsbenachrichtigungen gesendet werden.

Ausführliche Anleitung zur Konfiguration

Benachrichtigungs-URL:
https://chatter.mavibot.ai/prodamus_callback/result

Diese URL muss an zwei Stellen in den Einstellungen angegeben werden.

Auf der Hauptseite der Einstellungen können Sie den Betriebsmodus des Zahlungsformulars auswählen:

  • Demo-Modus ohne echte Zahlungen
  • Live-Modus zur Annahme von Zahlungen

Die Benachrichtigungs-URL muss in zwei Abschnitten der Zahlungssystemeinstellungen angegeben werden:

  • Im Tab Formulareinstellungen für einmalige Zahlungen
  • Im Tab Abonnements für Abonnementzahlungen

Benachrichtigungs-URL:
https://chatter.mavibot.ai/prodamus_callback/result

Um Abonnementzahlungen zu konfigurieren, öffnen Sie den Tab Abonnements und geben Sie die Benachrichtigungs-URL ein:

https://chatter.mavibot.ai/prodamus_callback/result

Wichtig: Klicken Sie nach der Eingabe der URL unbedingt auf Speichern.

Um Prodamus in Mavibot zu verbinden, öffnen Sie den Bereich Acquiring.

Geben Sie dann die URL des Zahlungsformulars und den geheimen Schlüssel in die entsprechenden Felder ein.

Wichtig: Fügen Sie bei der Eingabe der URL des Zahlungsformulars kein https:// hinzu.

Die Verbindung ist nun abgeschlossen. Als Nächstes betrachten wir, wie diese Funktionalität genutzt wird.

Erstellen eines Zahlungslinks

Zahlungsbutton

Ein Zahlungslink kann mit einem Button mit der Funktion Zahlung erstellt werden.

Siehe die Anleitung zum Erstellen eines Zahlungsbuttons:
/docs/chatbot-builder-buttons-payment-button

Die folgenden Abschnitte beschreiben alle verfügbaren Button-Einstellungen.

Erforderliche Parameter

Um einen Zahlungslink zu erstellen, sind die folgenden Felder erforderlich:

  • Betrag
  • Produktname
  • Produkte für den Kassenbon (nur erforderlich, wenn Sie keine eigene Online-Kasse haben und möchten, dass Prodamus Steuerbelege erstellt)

Wenn der Kunde die Zahlungsseite öffnet, sind die Produktinformationen und der Preis bereits ausgefüllt. Der Kunde muss nur seine Kontaktdaten eingeben.

Wenn die E-Mail-Adresse und/oder Telefonnummer des Kunden in den Button-Einstellungen angegeben sind, werden diese ebenfalls auf der Zahlungsseite vorausgefüllt.

Button-Einstellungen

Text – Der Text, der auf dem Zahlungsbutton angezeigt wird.

Funktion – Wählen Sie Zahlung, um einen Zahlungslink zu erstellen.

Zahlungssystem – Zeigt die mit dem Projekt verbundenen Zahlungssysteme an.

Wenn kein Zahlungssystem verbunden ist, ist dieser Button-Typ nicht verfügbar.

Produktname (erforderlich) – Geben Sie den genauen Produktnamen an.

Zum Beispiel, anstatt:

Telefon

verwenden Sie:

Xiaomi Smartphone, Modell ...

Hinweis: Doppelte Anführungszeichen (") sind im Produktnamen nicht erlaubt. Entfernen Sie sie oder ersetzen Sie sie durch einfache Anführungszeichen.

Betrag (erforderlich) – Der Zahlungsbetrag.

Zusätzliche Parameter

Klicken Sie auf Zusätzliche Informationen, um optionale Felder zu konfigurieren:

  • Bestellbeschreibung
  • Rabatt (RUB)
  • Variable für Kunden-E-Mail
  • Variable für Kundentelefon
  • Ablaufdatum des Links
  • Abonnement-Produkt-ID
  • Produkte für den Kassenbon

Bei Klick benachrichtigen – Aktivieren Sie diese Option, wenn Sie eine Benachrichtigung im Kundengespräch erhalten möchten, wenn der Kunde auf den Zahlungsbutton klickt.

Diese Benachrichtigung kann verwendet werden, um zusätzliche Chatbot-Logik zu erstellen.

Viele Zahlungsanbieter unterstützen Cloud-Kassen, die für die Steuerkonformität erforderlich sind. Überprüfen Sie die Dokumentation Ihres Zahlungsanbieters, um Informationen zur Kassenbonerstellung und Fiskalisierung zu erhalten.

Die vom Button geöffnete Zahlungsseite sieht wie folgt aus:

Bestellbeschreibung – Der in dieses Feld eingegebene Text wird auf der Zahlungsseite im Abschnitt Zusätzliche Informationen angezeigt.

Rabatt – Geben Sie den Rabattbetrag in RUB an. Dezimalwerte werden mit einem Punkt als Trennzeichen unterstützt (z. B. 50.99).

Auf der Zahlungsseite wird der Rabatt automatisch angewendet. Der ursprüngliche Preis wird durchgestrichen, und der rabattierte Betrag wird als Gesamtzahlung angezeigt.

Variable für Kunden-E-Mail (optional, wenn eine Telefonnummer angegeben ist) – Die E-Mail-Adresse des Kunden oder eine Variable, die diese enthält, zum Beispiel:

#{email}

Variable für Kundentelefon (optional, wenn eine E-Mail-Adresse angegeben ist) – Eine Variable, die die Telefonnummer des Kunden im Format enthält:

79000000000

Zum Beispiel:

#{phone}

Es muss entweder eine E-Mail-Adresse oder eine Telefonnummer angegeben werden.

Ablaufdatum des Links – Geben Sie das Ablaufdatum im Format an:

dd.MM.yyyy HH:mm

Beispiel:

25.01.2021 11:00

Sie können auch eine Variable verwenden, zum Beispiel:

#{link_expired}

Abonnement-Produkt-ID – Geben Sie die Abonnement-Produkt-ID ein, um eine wiederkehrende Zahlung zu erstellen.

Informationen zum Erstellen von Abonnementprodukten finden Sie in der Prodamus-Dokumentation.

Wenn eine Abonnement-Produkt-ID angegeben ist:

  • wird der Zahlungsbetrag ignoriert;
  • werden die Produktinformationen aus dem Abonnementprodukt in Prodamus geladen;
  • ist die Telefonnummer des Kunden für die Abonnementverwaltung erforderlich;
  • enthält der Callback die Abonnement-Produkt-ID nach einer erfolgreichen Zahlung.

Produkte für den Kassenbon (bedingt erforderlich) – Erforderlich für die Zahlungsfiskalisierung über Prodamus, wenn Sie keine eigene Online-Kasse verwenden.

Geben Sie die Produktbeschreibung, den Preis und einen Link zum gekauften Inhalt an.

Beispiel:

Kurs "Fortgeschrittene Fotografie", Preis 3000 RUB,
https://example.com/course

Wenn Sie ein Ablaufdatum für den Link angeben, verhält sich der Zahlungsbutton je nachdem, ob der Link noch gültig ist, unterschiedlich.

Wenn der Kunde den Zahlungslink nach Ablauf öffnet, kann die Zahlung nicht abgeschlossen werden, und er sieht die folgende Meldung:

Hinweis: Das Ablaufdatum muss später als das aktuelle Datum sein. Andernfalls kann der Kunde die Zahlung nicht abschließen.

Inaktiver Zahlungsbutton

Wenn der Kunde den Zahlungsbutton anfordert, nachdem der Link bereits abgelaufen ist, wird der Button nicht angezeigt.

Stattdessen wird die folgende Kunden-Variable erstellt:

error_payment_button

Wert:

Fehler: Das Ablaufdatum des Links muss später als das aktuelle Datum sein.

Wir empfehlen, diese Situation in Ihrem Chatbot-Ablauf zu behandeln.

Erstellen Sie eine Bedingung, die prüft:

error_payment_button == "Fehler: Das Ablaufdatum des Links muss später als das aktuelle Datum sein."

Wenn die Bedingung erfüllt ist, senden Sie eine Nachricht wie:

Entschuldigung, Sie konnten die Zahlung nicht rechtzeitig abschließen. Der Zahlungslink ist abgelaufen.

Vom Zahlungsbutton erstellte Kunden-Variablen

Wenn ein Kunde eine Nachricht mit einem Zahlungs-Button erhält, erstellt Mavibot automatisch die folgenden Variablen.

__payments

Eine Systemvariable, die den Zahlungsbetrag und die Kennung des erstellten Zahlungslinks speichert. Sie wird verwendet, um Callbacks vom Zahlungssystem zuzuordnen.

Wichtig: Ändern oder löschen Sie die Systemvariable __payments nicht.

error_payment_button

Diese Variable wird automatisch erstellt, wenn beim Erstellen des Zahlungsbuttons ein Fehler auftritt.

Sie enthält entweder die von Mavibot erstellte Fehlermeldung oder den vom Zahlungssystem zurückgegebenen Fehler.

Variablenwerte werden verfügbar, nachdem der Chatbot zum nächsten Block gewechselt ist.


Verarbeitung von Zahlungsergebnissen

Erfolgreiche Zahlung

Nach einer erfolgreichen Zahlung empfängt Mavibot automatisch den folgenden Callback:

<erste_10_Zeichen_des_geheimen_Schlüssels>_success <Zahlungsbetrag>

Beispiel:

ovg58keefc_success 44

Wobei:

  • ovg58keefc — die ersten 10 Zeichen des Prodamus-Geheimschlüssels.
  • _success — zeigt eine erfolgreiche Zahlung an.
  • 44 — der Zahlungsbetrag.

Kunden sehen Zahlungs-Callbacks nie. Sie sind nur im Bereich Kunden sichtbar und können verwendet werden, um Chatbot-Logik zu erstellen.

Beispiel

Schritt 1

Erstellen Sie einen Block, der den Zahlungs-Button enthält.

Schritt 2

Erstellen Sie einen Trigger-Block oder konfigurieren Sie einen Pfeil, der zum nächsten Block führt.

Fügen Sie den Zahlungs-Callback in den Trigger oder die Übereinstimmungsbedingung ein.

Derselbe Callback kann auch im Startbedingung-Block konfiguriert werden, wenn Ihr Chatbot eine globale Zahlungsverarbeitung erfordert.

Wichtig: Verwenden Sie als Übereinstimmungstyp entweder Exakte Übereinstimmung oder Enthält Schlüsselwörter.

Hinweis: Wenn Sie Callbacks auf einem bestimmten Pfeil verarbeiten, stellen Sie sicher, dass sich der Kunde noch in dem Block mit diesem Pfeil befindet, wenn der Callback eintrifft. Andernfalls findet der Übergang nicht statt. Für Chatbot-Abläufe, bei denen Kunden zwischen Blöcken wechseln können, wird empfohlen, Callbacks stattdessen im Startbedingung-Block zu verarbeiten.


Erfolgreiche Abonnementzahlung

Für Abonnementprodukte lautet das Callback-Format:

<erste_10_Zeichen_des_geheimen_Schlüssels>_success <Abonnement-Produkt-ID>

Beispiel:

214009eefc_success 618117

Wobei:

  • 214009eefc — die ersten 10 Zeichen des geheimen Schlüssels.
  • _success — erfolgreiche Zahlung.
  • 618117 — die Abonnement-Produkt-ID.


Fehlgeschlagene Zahlung

Wenn die Zahlung fehlschlägt, empfängt Mavibot den folgenden Callback:

<erste_10_Zeichen_des_geheimen_Schlüssels>_fail <Zahlungsbetrag>

Beispiel:

ovg58keefc_fail 44

Wobei:

  • ovg58keefc — die ersten 10 Zeichen des geheimen Schlüssels.
  • _fail — Zahlung fehlgeschlagen.
  • 44 — der Zahlungsbetrag.

Hinweis: Nicht alle Zahlungsanbieter senden Callbacks für fehlgeschlagene Zahlungen.


Abweichung des Zahlungsbetrags

Wenn der gezahlte Betrag vom im Zahlungsbutton angegebenen Betrag abweicht, empfängt Mavibot den folgenden Callback:

<erste_10_Zeichen_des_geheimen_Schlüssels>_different_amounts <Zahlungs-ID>

Beispiel:

ovg58keefc_different_amounts 123456

Wobei:

  • ovg58keefc — die ersten 10 Zeichen des geheimen Schlüssels.
  • _different_amounts — zeigt an, dass der gezahlte Betrag vom erwarteten Betrag abweicht.
  • 123456 — die eindeutige Zahlungs-ID.

get_prodamus_payment_url-Rechnerfunktion

Sie können einen Zahlungslink mit der Funktion get_prodamus_payment_url im Rechner-Block erstellen.

Weisen Sie das Funktionsergebnis einer beliebigen Variable zu.

Sie können jeden Variablennamen wählen. Die Screenshots unten verwenden beispielhafte Variablennamen.

Der erstellte Zahlungslink wird in der Variable gespeichert und kann in einer Nachricht oder an einem Button verwendet werden.

Beispiel-Zahlungslink:

https://payform.ru/7p3JR8/

Beispiel

Funktionssyntax

your_variable = get_prodamus_payment_url(
    amount,
    product_name,
    expired,
    customer_phone,
    customer_email,
    discount,
    description,
    extra_params,
    products_for_receipt
)

Parameter

Parameter Beschreibung
amount Erforderlich. Zahlungsbetrag. Akzeptiert ganze Zahlen oder Dezimalwerte (z. B. 25 oder 52.5).
product_name Erforderlich. Produktname.
expired Ablaufdatum des Zahlungslinks. Unterstützte Formate: dd.MM.yyyy oder dd.MM.yyyy HH:mm. Sie können auch Variablen oder Ausdrücke wie current_date + 2 verwenden. Übergeben Sie '', "" oder None, um diesen Parameter zu überspringen.
customer_phone Telefonnummer des Kunden. Optional, wenn customer_email angegeben ist. Übergeben Sie '' oder "", um zu überspringen.
customer_email E-Mail-Adresse des Kunden. Optional, wenn customer_phone angegeben ist. Übergeben Sie '' oder "", um zu überspringen.
discount Rabattbetrag. Akzeptiert ganze Zahlen oder Dezimalwerte (z. B. 25 oder 63.5). Übergeben Sie '' oder "", um zu überspringen.
description Produktbeschreibung. Wenn nicht angegeben, verwendet Prodamus automatisch Zahlung für Bestellung order_id. Übergeben Sie '' oder "", um zu überspringen.
extra_params Zusätzliche Prodamus-API-Parameter, die nicht in den Funktionsargumenten enthalten sind. Übergeben Sie '', "" oder None, um zu überspringen.
products_for_receipt Belegdaten im Format "Produktbeschreibung - Preis - URL des gekauften Inhalts". Erforderlich, wenn Sie die Prodamus-Fiskalisierung ohne eigene Online-Registrierkasse verwenden.

Beispiele für Ablaufdaten

Ablauf nach zwei Tagen:

expired = current_date + 2

Ablauf in 30 Minuten:

time = current_time + 30
expired = "#{current_date} #{time}"

Beispiel extra_params

extra_params = {
    "payments_limit": "3",
    "payment_method": "vsegdada_installment_0_0_6"
}

Die vollständige Liste der unterstützten Parameter finden Sie in der Prodamus-REST-API-Dokumentation.


Beispiel

extra_params = {
    "payments_limit": "3"
}

products_for_receipt = "Fotografie-Kurs, Preis 4999 RUB, https://example.com/course"

payment_link = get_prodamus_payment_url(4999, "Fotografie-Kurs", "27.03.2023 17:00", "79167777771", "[email protected]", 20, "Der beste Fotografie-Kurs", extra_params, products_for_receipt)

In diesem Beispiel:

  • extra_params enthält zusätzliche Zahlungsparameter.
  • products_for_receipt enthält Informationen zum Fiskalbeleg.
  • payment_link speichert die generierte Zahlungs-URL.

Wenn im selben Calculator-Block mehrere Zahlungslink-Funktionen verwendet werden und eine davon fehlschlägt, wird der Fehler in der Variablen error_payment_func gespeichert. Nur der letzte Funktionsfehler wird gespeichert.

Generieren eines Zahlungslinks mit payment_sum

Hinweis: Der Wert von payment_sum wird nach allen optionalen Variablen wie payment_description, product_name und anderen angewendet.

Anstatt get_prodamus_payment_url() aufzurufen, können Sie einen Zahlungslink generieren, indem Sie einfach der Variablen payment_sum im Calculator-Block einen Wert zuweisen.

Nachdem payment_sum zugewiesen wurde, erstellt Mavibot automatisch die Variable prodamus_pay_url, die den Zahlungslink enthält.

Beispiel:

https://payform.ru/7p3JR8/

Sie können diese Variable in einer Nachricht anzeigen oder als URL einer Schaltfläche verwenden.

Optionale Variablen

Die folgenden Variablen können vor der Zuweisung von payment_sum definiert werden.

Variable Beschreibung
product_name Produktname. Wenn nicht angegeben, lautet der Standardwert Zahlung für Bestellung order_id.
payment_description Produktbeschreibung, die auf der Zahlungsseite angezeigt wird.
discount_value Rabattbetrag. Beispiel: 25 oder 50.25.
customer_phone Telefonnummer des Kunden.
customer_email E-Mail-Adresse des Kunden.
link_expired Ablaufdatum des Zahlungslinks.
currency Zahlungswährung. Unterstützte Werte: rub, usd, eur, kzt. Muss in Kleinbuchstaben sein.
payment_title Zahlungstitel (maximal 127 Zeichen). Standardmäßig Zahlung payment_id.
locale Sprache der Zahlungsseite (z. B. ru-RU, en-US, fr-FR).
products_for_receipt Beleginformationen. Erforderlich, wenn Sie die Prodamus-Fiskalisierung ohne eigene Online-Registrierkasse verwenden.
payment_sum Erforderlich. Zahlungsbetrag.

Sie können das Ablaufdatum auf verschiedene Arten angeben.

Bestimmtes Datum:

25.01.2021

Bestimmtes Datum und Uhrzeit:

25.01.2021 12:23

Verwendung von Variablen:

time = current_time + 30
link_expired = "#{current_date} #{time}"

Oder:

link_expired = current_date + 2

Beispiel

Legen Sie zuerst den Zahlungsbetrag fest.

Verwenden Sie dann die generierte Variable prodamus_pay_url überall dort, wo Sie den Zahlungslink senden müssen.

Verfügbare Zahlungsmethoden

Die Variable prodamus_available_payment_methods muss vor payment_sum definiert werden.

Unterstützte Werte sind:

Wert Beschreibung
AC Russische Bankkarten
ACkz Kasachische Bankkarten
ACf GUS-Bankkarten (außer Russland)
ACEURNMBX EUR-Karten (außer Russland und Weißrussland)
SBP Schnelleres Zahlungssystem (Russland)
QW QIWI Wallet
PC YooMoney
GP Zahlungsterminal
sbol Sberbank Online
invoice Rechnungszahlung
installment Prodamus-Ratenzahlung
credit T-Bank-Kredit
monetaworld Internationale Karten (außer Russland)

Mehrere Zahlungsmethoden können durch einen senkrechten Strich (|) getrennt angegeben werden.

Beispiel:

prodamus_available_payment_methods = "AC|PC|QW"

Währung

Sie können die Zahlungswährung mit der Variablen prodamus_currency angeben.

Unterstützte Werte:

  • kzt
  • usd
  • eur

Die generierte Zahlungsseite zeigt den Betrag in der ausgewählten Währung an.

Achten Sie bei der Verarbeitung des payment_callback-Callbacks auf die folgenden Felder:

  • currency
  • currency_sum

Diese enthalten die Zahlungswährung und den bezahlten Betrag.

Wenn keine Zahlungsmethoden angegeben sind, zeigt die Zahlungsseite keine verfügbaren Zahlungsmethoden an. Aktivieren Sie zuerst die erforderlichen Zahlungsmethoden in Ihrem Prodamus-Konto.

Verarbeitung von Zahlungsergebnissen

Zahlungs-Callbacks

Nach einer erfolgreichen oder fehlgeschlagenen Zahlung empfängt Mavibot Callbacks, die zur Bestimmung des Zahlungsstatus verwendet werden können.

Callbacks erscheinen im Gespräch als Systemnachrichten. Kunden sehen oder senden diese Nachrichten nie.

Beispiele:

Erfolgreiche Zahlung:

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success

Fehlgeschlagene Zahlung:

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail

Nach einer erfolgreichen Zahlung wird automatisch die folgende Kunden-Variable erstellt:

prodamus_payment_completed = True

Hinweis: Callbacks werden mit einer leichten Verzögerung empfangen. Nach dem Senden des Zahlungslinks wird empfohlen, den Kunden darauf hinzuweisen, dass die Zahlungsbestätigung einen Moment dauern kann.

Beispielnachricht:

Bitte warten Sie nach Abschluss der Zahlung auf die Zahlungsbestätigung.


Callback-Format

Zahlungslinks, die entweder über die Schaltfläche Zahlung oder die Funktion get_prodamus_payment_url() generiert wurden, geben nach einer erfolgreichen Zahlung den folgenden Callback zurück:

<secret_key>_success

Beispiel:

ovg58keefc_success

Wo:

  • <secret_key> Ihr Prodamus-Geheimschlüssel ist.
  • _success eine erfolgreiche Zahlung anzeigt.

Beispiel

Erstellen Sie einen Trigger oder einen Bedingungsblock, der auf den Callback wartet und dann den Chatbot-Fluss fortsetzt.

Wichtig: Verwenden Sie Exakte Übereinstimmung als Übereinstimmungstyp.

Wenn Sie nach einer erfolgreichen Zahlung einen weiteren Zahlungslink generieren möchten, setzen Sie zuerst die vorhandenen Zahlungsinformationen zurück.

Setzen Sie:

payment_sum = 0

Weisen Sie dann payment_sum einen neuen Wert zu, um einen neuen Zahlungslink zu generieren.


Abonnement-Callbacks

Prodamus sendet auch Callbacks zum Abonnementstatus.

Beispiele sind:

  • Vom Kunden gekündigtes Abonnement
  • Vom Kunden reaktiviertes Abonnement
  • Nach mehreren fehlgeschlagenen Zahlungsversuchen deaktiviertes Abonnement

Abonnement gekündigt

Wird gesendet, wenn der Kunde sein Abonnement manuell kündigt.

Der aktuelle bezahlte Abrechnungszeitraum kann weiterhin aktiv bleiben.

Sie können diesen Callback verwenden, um:

  • das Ereignis zu ignorieren;
  • Ihr Team zu benachrichtigen;
  • eine Kundenrückgewinnungsnachricht zu senden.

Abonnement reaktiviert

Wird gesendet, wenn der Kunde ein zuvor gekündigtes Abonnement wiederherstellt.

Abhängig von Ihrer Geschäftslogik können Sie diesen Callback ignorieren oder den Kunden aus einem Kundenrückgewinnungs-Workflow entfernen.

Abonnement deaktiviert

Wird nach mehreren erfolglosen wiederkehrenden Zahlungsversuchen gesendet.


Speichern von Callback-Daten

Nach einer erfolgreichen Zahlung wird die vollständige Callback-Nutzlast in der folgenden Variablen gespeichert:

payment_callback

Sie enthält alle von Prodamus zurückgegebenen Zahlungsinformationen.

Beispiel:

{
  "date": "2021-03-30T11:44:43+03:00",
  "order_id": "757679",
  "sum": "14.50",
  "customer_phone": "+77777777777",
  "customer_extra": "Produkt",
  "payment_status": "success"
}

Wenn Sie beim Generieren des Zahlungslinks product_name und payment_description angegeben haben, können Sie diese aus dem Callback abrufen.

Beispiel:

product = get(payment_callback, "products[0][name]")
description = get(payment_callback, "customer_extra")

Den Zahlungsbetrag abrufen:

amount = get(payment_callback, "sum")

Hinweis: Der Wert von payment_sum wird immer nach optionalen Variablen wie payment_description und product_name zugewiesen.

Verfügbare Callbacks

Zusätzlich zu den Callbacks für erfolgreiche Zahlungen sendet Prodamus verschiedene System-Callbacks, die zur Automatisierung Ihres Chatbots verwendet werden können.

Abonnement-Ereignisse

  • Vom Kunden gekündigtes Abonnement
  • Vom Kunden reaktiviertes Abonnement
  • Abgelaufenes Abonnement

Zahlungsfehler-Ereignisse

Abhängig vom Zahlungsanbieter können Sie Callbacks mit dem Fehlergrund erhalten, zum Beispiel:

  • Zahlung fehlgeschlagen – Nicht ausreichende Deckung
  • Zahlung fehlgeschlagen – Karte abgelaufen
  • Zahlung fehlgeschlagen – Kartenlimit überschritten
  • Zahlung fehlgeschlagen – Karte als verloren gemeldet
  • Zahlung fehlgeschlagen – Systemfehler
  • Zahlung fehlgeschlagen – Transaktion von der ausstellenden Bank abgelehnt
  • Zahlung fehlgeschlagen – Transaktion von der Bank abgelehnt

Andere Ereignisse

  • Benachrichtigung über anstehende wiederkehrende Zahlung
  • Ratenzahlungsantrag genehmigt
  • Ratenzahlungsantrag storniert
  • Ratenzahlungsantrag abgelehnt

Sie können Chatbot-Flows erstellen, die auf jeden dieser Callbacks reagieren.

Sie können Kunden beispielsweise automatisch benachrichtigen, wenn eine wiederkehrende Zahlung fehlschlägt.

Um einen bestimmten Fehlergrund zu verarbeiten, erstellen Sie einen Trigger, der dem entsprechenden Callback entspricht.

Um alle fehlgeschlagenen Zahlungen unabhängig vom Grund zu verarbeiten, verwenden Sie eine Bedingung, die prüft, ob der Callback Folgendes enthält:

Zahlung fehlgeschlagen

Jeder Callback, der den Text Zahlung fehlgeschlagen enthält, löst die konfigurierte Chatbot-Aktion aus.


Abonnementzahlungen

Erstellen eines Abonnements

Bevor Sie Abonnementzahlungen akzeptieren, erstellen Sie ein Abonnementprodukt in Ihrem Prodamus-Konto.

Ausführliche Anweisungen finden Sie in der Prodamus-Dokumentation.

Nachdem Sie das Abonnementprodukt erstellt haben, kopieren Sie dessen Abonnement-Produkt-ID.

Weisen Sie die Abonnement-Produkt-ID der folgenden Variable zu:

prodamus_subscription

Mavibot generiert automatisch die folgende Variable:

prodamus_pay_url

Die generierte URL kann in einer Nachricht angezeigt oder an einen Button angehängt werden.

Beispiel:

https://payform.kz/7p3JR8/

Abonnementzahlungen werden genauso verarbeitet wie einmalige Zahlungen.

Nach einer erfolgreichen Abonnementzahlung wird die Telefonnummer des Kunden automatisch in der Variable customer_phone gespeichert.

Wenn customer_email nicht angegeben ist, ist customer_phone für die Abonnementverwaltung erforderlich.


get_prodamus_subscription_url

Sie können auch Abonnement-Zahlungslinks mit dem Rechner generieren.

Funktion:

get_prodamus_subscription_url(
    subscription_id,
    product_name,
    expired,
    customer_phone,
    customer_email,
    discount,
    description,
    extra_params,
    products_for_receipt
)

Beispiel

Parameter

Parameter Beschreibung
subscription_id Erforderlich. Abonnement-Produkt-ID aus Ihrem Prodamus-Konto.
product_name Erforderlich. Produktname.
expired Ablaufdatum des Zahlungslinks. Unterstützt dd.MM.yyyy oder dd.MM.yyyy HH:mm. Variablen werden ebenfalls unterstützt.
customer_phone Telefonnummer des Kunden. Optional, wenn customer_email angegeben ist.
customer_email E-Mail-Adresse des Kunden. Optional, wenn customer_phone angegeben ist.
discount Rabattbetrag.
description Produktbeschreibung.
extra_params Zusätzliche Prodamus-API-Parameter.
products_for_receipt Beleginformationen. Erforderlich bei Verwendung der Prodamus-Fiskalisierung ohne eigene Online-Registrierkasse.

Beispiel

extra_params = {
    "payments_limit": "3"
}

products_for_receipt = "Fotografiekurs-Abonnement, 2000 RUB/Monat, https://example.com/course"

subscription_link = get_prodamus_subscription_url(618988, "Fotografiekurs", "27.03.2023 17:02", "79167777771", "[email protected]", 20, "Premium-Abonnement", extra_params, products_for_receipt)

Wenn im selben Rechnerblock mehrere Zahlungslink-Funktionen ausgeführt werden und eine davon fehlschlägt, wird der Fehler in der Variable error_payment_func gespeichert.

Verwaltung des Abonnementstatus

Die Abonnementverwaltung ist nur für aktive Abonnements verfügbar. Sie wird im Demo-Modus nicht unterstützt, da keine Zahlungskarte hinterlegt ist.

Um ein Abonnement zu verwalten, muss mindestens einer der folgenden Parameter verfügbar sein:

  • customer_phone
  • customer_email

Um ein Abonnement zu kündigen oder zu reaktivieren, verwenden Sie die folgende Funktion:

delete_subscription_prodamus

Beispielparameter:

{
  "customer_phone": "#{customer_phone}",
  "id_subscription": "#{prodamus_subscription}",
  "url": "https://demo.payform.ru/",
  "secret_key": "453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",
  "switcher": "0",
  "profile_id": "12345"
}

Parameter

Parameter Beschreibung
url In Mavibot konfigurierte Zahlungsformular-URL.
secret_key Ihr Prodamus-Geheimschlüssel.
id_subscription Abonnement-Produkt-ID.
customer_phone Telefonnummer des Abonnenten.
switcher Abonnementaktion: 0 – deaktivieren, 1 – reaktivieren.
profile_id Kundenprofil-ID in Prodamus.

Wenn eine Profil-ID von Prodamus zurückgegeben wird, wird sie automatisch in der Variable profile_id gespeichert. Sie können diese Variable anstelle von customer_phone oder customer_email bei der Verwaltung von Abonnements verwenden.

Beispiel:

Die Funktion gibt einen Statuswert zurück.

Bei erfolgreichem Vorgang:

status = ok

prodamus_subscription_switch_status

Sie können Abonnements auch mit dem Rechner verwalten.

prodamus_subscription_switch_status(
    subscription_id,
    switcher,
    customer_phone,
    customer_email,
    profile_id
)

Parameter

Parameter Beschreibung
subscription_id Abonnement-Produkt-ID.
switcher 0 – Abonnement deaktivieren, 1 – Abonnement reaktivieren.
customer_phone Telefonnummer des Kunden. Optional, wenn customer_email angegeben ist.
customer_email E-Mail-Adresse des Kunden. Optional, wenn customer_phone angegeben ist.
profile_id Kundenprofil-ID in Prodamus.

Beispiel 1

Deaktivieren Sie ein Abonnement mit der Telefonnummer des Kunden.

status = prodamus_subscription_switch_status(
    "618117",
    "0",
    "75431312321"
)

Beispiel 2

Deaktivieren Sie ein Abonnement mit der E-Mail-Adresse des Kunden.

status = prodamus_subscription_switch_status(
    "618117",
    "0",
    "",
    "[email protected]"
)

Die Funktion gibt ok zurück, wenn der Vorgang erfolgreich ist. Andernfalls wird eine Fehlermeldung zurückgegeben.


Verwaltung von Abonnementrabatten

Verwenden Sie die folgende Funktion, um einen Rabatt auf zukünftige wiederkehrende Zahlungen anzuwenden.

Der Rabatt kann für eine begrenzte Anzahl von Zahlungen oder unbegrenzt angewendet werden.

prodamus_subscription_discount(
    subscription_id,
    discount,
    customer_phone,
    num,
    profile_id
)

Parameter

Parameter Beschreibung
subscription_id Abonnement-ID.
discount Rabattbetrag. Muss größer als Null sein und darf den Abonnementpreis nicht überschreiten.
customer_phone Telefonnummer des Kunden. Optional, wenn aus customer_phone verfügbar.
num Anzahl der zukünftigen Zahlungen, auf die der Rabatt angewendet werden soll. Wenn nicht angegeben, ist der Rabatt dauerhaft.
profile_id Kundenprofil-ID in Prodamus.

Bei Erfolg gibt die Funktion Folgendes zurück:

ok

Andernfalls wird eine Fehlerbeschreibung zurückgegeben.

Das Aktualisieren des Rabatts oder der Anzahl der Zahlungen erfordert einen erneuten Aufruf der Funktion mit den neuen Werten.

Beispiele

Dauerhafter Rabatt

Wenden Sie einen Rabatt von 1 auf alle zukünftigen Abonnementzahlungen an.

result = prodamus_subscription_discount(
    "624034",
    "1"
)

Rabatt für die nächsten drei Zahlungen

result = prodamus_subscription_discount(
    "624034",
    "2",
    "",
    "3"
)

Dezimaler Rabatt

result = prodamus_subscription_discount(
    #{prodamus_subscription},
    10.25,
    #{customer_phone},
    3
)

Ändern des nächsten Abonnementzahlungsdatums

Sie können die nächste wiederkehrende Zahlung verschieben, indem Sie deren geplantes Datum ändern.

Das neue Zahlungsdatum muss immer später als das aktuell geplante Zahlungsdatum sein.

Diese Funktion kann beispielsweise verwendet werden, um den Abonnementzeitraum eines Kunden als Bonus zu verlängern.

Verwenden Sie die folgende Funktion:

prodamus_subscription_payment_date(
    subscription_id,
    date,
    customer_phone,
    profile_id
)

Parameter

Parameter Beschreibung
subscription_id Abonnement-ID.
date Neues Zahlungsdatum im Format dd.MM.yyyy oder dd.MM.yyyy HH:mm. Wenn keine Uhrzeit angegeben ist, wird 00:00 verwendet.
customer_phone Telefonnummer des Kunden. Optional. Wenn nicht angegeben, wird der Wert aus der Variable customer_phone übernommen.
profile_id Kundenprofil-ID in Prodamus.

Übergeben zusätzlicher Parameter an Prodamus

Sie können zusätzliche Parameter, die von Prodamus unterstützt werden (z. B. Abonnement-Startdaten oder Ratenzahlungseinstellungen), beim Generieren eines Zahlungslinks senden.

Erstellen Sie einfach eine Variable, deren Name mit dem Präfix prodamus_ beginnt.

Beispiel:

prodamus_some_parameter

Wenn ein Zahlungslink generiert wird, werden alle Variablen mit dem Präfix prodamus_ automatisch in die an Prodamus gesendete Anfrage aufgenommen.


Testen von Zahlungen

Nur der Zahlungsvorgang wird simuliert.

Während der Konfiguration Ihrer Integration und Chatbot-Abläufe können Sie Prodamus-Testkarten verwenden, um die Belastung echter Gelder zu vermeiden.

Schalten Sie zunächst Ihre Zahlungsseite in den Demo-Modus.

Vergessen Sie nicht, nach dem Ändern des Modus auf Speichern zu klicken.

Testkarten

MIR

Feld Wert
Kartennummer 2202 2050 0001 2424
Ablaufdatum 05/35
CVV 669

Mastercard

Feld Wert
Kartennummer 5469 9801 0004 8525
Ablaufdatum 05/26
CVV 041
3-D Secure Code 111111

Visa

Feld Wert
Kartennummer 4006 8009 0096 2514
Ablaufdatum 05/26
CVV 941
3-D Secure Code 111111

Wichtig: Testkarten lösen dieselbe Chatbot-Logik, Callbacks, Automatisierungen und Integrationen aus wie echte Zahlungen.

Sobald die Tests abgeschlossen sind, schalten Sie die Zahlungsseite zurück in den Live-Modus, um mit der Annahme echter Zahlungen zu beginnen.

Der Demo-Modus-Schalter muss ausgeschaltet sein (roter Schalter deaktiviert).