So fügen Sie Prodamus hinzu

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

Die URL des Zahlungsformulars wird nach der Registrierung bereitgestellt, ein Beispiel: demo.payform.ru.

Den geheimen Schlüssel erhalten Sie in Ihrem persönlichen Konto, wo Sie auch die URL angeben müssen, an die Benachrichtigungen gesendet werden.

Ausführliche Anleitung dazu

Adresse für Benachrichtigungen:
https://chatter.mavibot.ai/prodamus\_callback/result

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

Auf der Hauptseite der Einstellungen können Sie den Betriebsmodus des Zahlungsformulars wählen: Demo-Modus ohne Zahlung oder Modus zur Annahme von Zahlungen.

Die Adresse für Benachrichtigungen muss an zwei Stellen in den Einstellungen des Zahlungssystems angegeben werden: im Tab „Formular konfigurieren“ – für einmalige (reguläre) Zahlungen und im Tab „Abonnements“ – für Zahlungen per Abonnement.

Adresse für Benachrichtigungen:
https://chatter.mavibot.ai/prodamus\_callback/result

Um die Arbeit mit Abonnementzahlungen zu konfigurieren, gehen Sie zum Tab „Abonnements“ und geben Sie die Adresse für Benachrichtigungen an:

https://chatter.mavibot.ai/prodamus\_callback/result

Achtung! Nachdem Sie die URL eingegeben haben, klicken Sie unbedingt auf die Schaltfläche „Speichern“.

Um Prodamus hinzuzufügen, müssen Sie zum Bereich „Acquiring“ gehen.

Anschließend genügt es, die oben genannten Daten in das Formular einzugeben:

Wichtig! Fügen Sie bei der Angabe der URL des Zahlungsformulars https:// nicht hinzu.

Damit ist das Hinzufügen abgeschlossen. Betrachten wir nun, wie diese Funktionalität genutzt wird.

Schaltfläche mit der Funktion „Bezahlen“

Ein Link zur Zahlung kann über eine Schaltfläche mit der Funktion „Bezahlen“ erstellt werden.

Wie man eine solche Schaltfläche erstellt, wird in diesem Artikel beschrieben.

Betrachten wir nun alle möglichen Parameter dieser Schaltfläche.

Erforderliche Parameter der Schaltfläche „Bezahlen“ für Prodamus

Um einen Link zur Zahlung zu erstellen, müssen in den Einstellungen der Schaltfläche die erforderlichen Parameter angegeben werden:
„Betrag“, „Produktname“ sowie der Parameter „Bezahlter Inhalt“ – falls Sie keine eigene Online-Kasse haben und einen Kassenbon von Prodamus erhalten möchten.

Beim Aufrufen der Bestellseite werden die Informationen über das Produkt und seinen Preis vorab angezeigt, und der Kunde gibt nur seine Kontaktdaten ein.

Wenn in den Einstellungen der Schaltfläche die E-Mail und/oder Telefonnummer des Benutzers angegeben sind, werden auf der Bestellseite die Kontaktdaten des Zahlers sowie die Informationen über das Produkt und seinen Preis angezeigt.

Feld „Text“ – dieser Text wird auf der Schaltfläche mit dem Link zur Zahlung in der Nachricht angezeigt.

Feld „Funktion“ – wählen Sie die Funktion „Bezahlen“, um eine Schaltfläche zu erstellen, die einen Link zur Zahlung bereitstellt.

Feld „Zahlungssystem“ – die mit dem Projekt verbundenen Zahlungssysteme werden in der Liste angezeigt.
Wenn kein Zahlungssystem mit dem Projekt verbunden ist, ist dieser Schaltflächentyp nicht verfügbar.

Feld „Produktname“ (erforderlich) – geben Sie den genauen Namen des Produkts an. Zum Beispiel: nicht „Telefon“, sondern „Xiaomi-Smartphone, Modell …“.
Hinweis: Verwenden Sie keine doppelten Anführungszeichen im Produktnamen; entfernen Sie diese oder ersetzen Sie sie durch einfache Anführungszeichen.

Feld „Betrag“ (erforderlich) – geben Sie den Preis des Produkts an.

Menü „Zusätzliche Informationen“ – öffnet zusätzliche Felder zum Erstellen eines Links beim Klicken auf diese Schaltfläche:

  • Beschreibung der Bestellung
  • Rabatt in Rubel
  • Variable für die E-Mail des Käufers
  • Variable für die Telefonnummer des Käufers
  • Gültigkeitsdauer des Links
  • Produkt-ID für das Abonnement (für automatische Zahlungen)
  • Bezahlter Inhalt

Kontrollkästchen „Benachrichtigung bei Klick“ – kann aktiviert werden, um den Aufruf des Zahlungslinks zu verfolgen. In diesem Fall wird beim Klicken auf die Schaltfläche eine Nachricht im Client-Dialog im Salebot gesendet, dass der Link aufgerufen wurde.

Basierend auf dieser Nachricht kann die weitere Arbeitslogik des Bots konfiguriert werden.
Viele Zahlungssysteme unterstützen Cloud-Online-Kassen, die gemäß den Anforderungen des 54-FZ erforderlich sind.

Lesen Sie die Besonderheiten der Kassenbonerstellung auf der Website des ausgewählten Zahlungssystems, um keine Probleme mit der Steuerinspektion zu bekommen.

So sieht die Zahlungsseite aus, die beim Aufrufen des Links in der Schaltfläche „Bezahlen“ geöffnet wird:

Feld „Beschreibung der Bestellung“ – die in dieses Feld eingegebenen Informationen werden auf der Zahlungsseite im Feld Zusätzliche Daten angezeigt.

Feld „Rabatt“ – hier können Sie die Höhe des Rabatts in Rubel oder in Rubel und Kopeken angeben. Verwenden Sie zur Angabe in Kopeken einen Punkt als Trennzeichen: 50.99.
Auf der Zahlungsseite wird im Feld Zu zahlender Betrag der Rabatt berücksichtigt, und der ursprüngliche Produktpreis wird durchgestrichen.

Feld „Variable für die E-Mail des Käufers“ (optional, wenn die Telefonnummer angegeben ist) – hier wird die E-Mail des Benutzers (Kunden) angegeben. Sie können auch eine Variable verwenden, in der die E-Mail gespeichert ist, z. B.: #{email}

Feld „Variable für die Telefonnummer des Käufers“ (optional, wenn die E-Mail angegeben ist) – hier können Sie eine Variable verwenden, die die Telefonnummer des Käufers enthält, Format: 79000000000, z. B.: #{phone}.
Es muss zwingend eine E-Mail und/oder Telefonnummer vorhanden sein.

Feld „Gültigkeitsdauer des Links“ – Sie können das Datum im Format TT.MM.JJJJ SS:MM angeben (z. B. 25.01.2021 11:00) oder die Ablaufzeit des Links über eine Variable festlegen. Z. B.: #{link_expired}

Feld „Produkt-ID für das Abonnement“ – geben Sie die Produkt-ID für automatische Zahlungen an. Um ein Abonnement zu erstellen, müssen Sie ein Abonnementprodukt erstellen.
Vollständige Anleitung: Erstellen und Konfigurieren von Prodamus-Abonnements
Wenn eine Produkt-ID für das Abonnement angegeben ist, wird der Zahlungsbetrag nicht berücksichtigt. Die Produktinformationen werden aus der Produktkarte im Prodamus-Konto übernommen.
Die bei der Zahlung angegebene Telefonnummer wird zur Verwaltung des Abonnements benötigt.
Wenn eine Produkt-ID für das Abonnement angegeben ist, wird bei erfolgreicher Zahlung im Callback die ID dieses Produkts übermittelt.

Feld „Bezahlter Inhalt“ (bedingt erforderlich) – diese Daten werden zur Fiskalisierung der Zahlung über Prodamus benötigt, falls Sie keine eigene Online-Kasse haben. In dieses Feld werden die Beschreibung des Kaufs, der Preis und ein Link zum Inhalt eingetragen.
Beispiel: Kurs 'Flechtfrisuren', Preis 3000 Rubel, Link zur Kursseite: https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911

Schaltfläche mit der Funktion „Bezahlen“

Wenn Sie die Gültigkeitsdauer des Links angeben, tritt folgender Fall ein:
Wenn der Benutzer den Zahlungslink innerhalb seiner Gültigkeitsdauer (d. h. die Zeit des Links ist noch nicht abgelaufen) anfordert und sich im Dialog befindet, ist die Zahlung nicht möglich, und ihm wird die folgende Nachricht angezeigt:

Die Gültigkeitsdauer des Links muss nach dem aktuellen Datum liegen, sonst kann der Kunde mit diesem Link keine Zahlung vornehmen.

2. Wenn der Benutzer den Link anfordert, aber derzeit nicht aktiv ist
In diesem Fall wird die Schaltfläche einfach nicht angezeigt. In den Client-Variablen erscheint die Variable "error_payment_button", deren Wert wie folgt lautet:
&#xNAN;"Fehler: Die Gültigkeitsdauer des Links muss nach dem aktuellen Datum liegen".

Es wird empfohlen, einen solchen Fall zusätzlich zu behandeln, damit der Benutzer die Zahlung korrekt durchführen kann.

Erstellen Sie einen solchen Bedingungsblock:
Wenn die folgende Nachricht eintrifft:
error_payment_button == "Fehler: Die Gültigkeitsdauer des Links muss nach dem aktuellen Datum liegen"

Dann zeigen Sie den folgenden Text an:
&#xNAN;"Entschuldigung, Sie konnten die Zahlung nicht rechtzeitig durchführen, der Zahlungslink ist ungültig geworden".

Automatisch erstellte Client-Variablen bei Verwendung der Schaltfläche mit der Funktion „Bezahlen“

In dem Moment, in dem der Benutzer einen Block mit der Schaltfläche „Bezahlen“ erhält, werden automatisch Variablen für den Client erstellt:

Dienst-Client-Variable __payments – diese Variable speichert den Betrag und die ID des erstellten Links und wird benötigt, um den vom Zahlungssystem eingehenden Hook zu identifizieren.

Die Dienst-Client-Variable __payments darf nicht gelöscht oder geändert werden!

Client-Variable error_payment_button wird automatisch erstellt, wenn beim Erstellen der Schaltfläche ein Fehler auftritt.
In diese Variable wird der Fehlertext oder die Fehlerantwort des Zahlungssystems geschrieben.

Die Werte der Variablen werden beim Übergang zum nächsten Block aktuell.

So verarbeiten Sie das Ergebnis

Erfolgreiche Zahlung
Nach einer erfolgreichen Zahlung wird dem Bot AUTOMATISCH EIN CALLBACK gesendet, der aus den ersten 10 Zeichen des geheimen Schlüssels des Zahlungssystems, dem Wort _success und dem Zahlungsbetrag besteht.
Um es in der Schema-Konfiguration zu verwenden, kopieren Sie es einfach.

Beispiel: ovg58keefc_success 44, wobei:

  • ovg58keefc – die ersten 10 Zeichen des geheimen Schlüssels des Zahlungssystems
  • _success – das Ergebnis der Anfrageverarbeitung (erfolgreiche Zahlung)
  • 44 – der Zahlungsbetrag

Der Benutzer sieht die Callbacks (Nachrichten) vom Zahlungssystem NICHT. Sie werden nur im Tab „Kunden“ angezeigt und sind für den Operator sichtbar.

Anwendungsbeispiel:
Schritt 1. Fügen Sie dem Block „Mit Zahlungsschaltfläche“ Schaltflächen mit der Funktion „Bezahlen“ hinzu.
Schritt 2. Geben Sie im Feld Verbindungsbedingung den Callback an, der von diesem Block zum Block „Erfolgreiche Zahlung“ führt.
Analog dazu funktioniert die Arbeit, wenn der Callback der erfolgreichen Zahlung in der Bedingung des Blocks „Anfangsbedingung“ angegeben wird.

Wichtig: Wählen Sie die Option „Vollständige Übereinstimmung“ oder „Nach Vorhandensein von Schlüsselwörtern“.

❗️Wenn Sie sich entscheiden, die Zahlung genau an dem im Pfeil angegebenen Bedingung zu überprüfen, überlegen Sie sich die Logik Ihres Schemas sorgfältig. Wenn der Client den Block verlässt, der durch die Bedingung mit dem Callback führt, erfolgt kein Übergang zum Block. Es ist besser, diese Überprüfungsmethode nur zu verwenden, wenn der Client seine Position im Trichter nicht ändert.

In Schemata, in denen sich der Client zwischen Blöcken bewegt, ist es effektiver, die Option zu verwenden, den Callback im Block „Anfangsbedingung“ anzugeben.

Erfolgreiche Zahlung für Produkte mit automatischem Abonnement

Nach einer erfolgreichen Zahlung wird dem Bot AUTOMATISCH EIN CALLBACK gesendet, der aus den ersten 10 Zeichen des geheimen Schlüssels des Zahlungssystems, dem Wort _success und der ID des Abonnementprodukts besteht.

Beispiel: 214009eefc_success 618117, wobei:

  • 009eefc – die ersten 10 Zeichen des geheimen Schlüssels des Zahlungssystems
  • _success – das Ergebnis der Anfrageverarbeitung (erfolgreiche Zahlung)
  • 618117 – die ID des Abonnementprodukts

Fehlgeschlagene Zahlung
Im Falle eines Fehlers bei der Zahlungsabwicklung wird dem Bot AUTOMATISCH EIN CALLBACK gesendet, der aus den ersten 10 Zeichen des geheimen Schlüssels des Zahlungssystems, dem Wort _fail und dem Zahlungsbetrag besteht.

Beispiel: ovg58keefc_fail 44, wobei:

  • ovg58keefc – die ersten 10 Zeichen des geheimen Schlüssels des Zahlungssystems
  • _fail – das Ergebnis der Anfrageverarbeitung (Zahlung fehlgeschlagen oder Fehler)
  • 44 – der Zahlungsbetrag

Dies hängt vom Zahlungssystem ab. Nicht alle Zahlungssysteme senden einen Callback über einen Zahlungsfehler.

Wenn der in den Einstellungen der Schaltfläche angegebene Betrag von dem vom Kunden gezahlten Betrag abweicht, wird dem Bot AUTOMATISCH EIN CALLBACK gesendet. Er besteht aus den ersten 10 Zeichen des geheimen Schlüssels des Zahlungssystems, dem Wort _different_amounts und der eindeutigen ID der Zahlung.

Beispiel: ovg58keefc_different_amounts 123456, wobei:

  • ovg58keefc – die ersten 10 Zeichen des geheimen Schlüssels des Zahlungssystems
  • _different_amounts – das Ergebnis der Verarbeitung der Anfrage (der Zahlungsbetrag weicht vom Betrag im Link ab)
  • 123456 – die eindeutige ID der Zahlung

Die Funktion get_prodamus_payment_url im Rechner

Um einen Zahlungslink zu erstellen, kann die Funktion get_prodamus_payment_url im Rechnerblock verwendet werden.
Im Rechnerfeld weisen wir einer Variablen den Wert dieser Funktion zu: get_prodamus_payment_url.

Den Namen der Variablen wählen Sie selbst. In den Screenshots sind Beispiele für die Vergabe von Variablennamen dargestellt.

In diese Variable wird der Link zur Zahlung geschrieben. Die Variable kann in einer Nachricht als Link angezeigt oder in einen Button mit dem Text „Bezahlen“ eingefügt werden.

Beispiel für einen Zahlungslink: https://payform.kz/7p3JR8/

Rechner

Beispiel 1:

Beschreibung der Parameter

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

Parameter der Funktion:

Parameter Wert des Parameters
amount Zahlungsbetrag – kann als ganze Zahl oder als durch einen Punkt getrennte Zahl angegeben werden. Beispiel: 25 oder 52.5. (erforderlicher Parameter)
product_name Produktname (erforderlicher Parameter)
expired

Gültigkeitsdauer des Zahlungslinks – im Format TT.MM.JJJJ (z. B. 25.01.2021).
Im Rechner-Feld kann auch Folgendes angegeben werden:
expired = current_date + 2 (der Link ist 2 Tage lang bis 00:00 Uhr gültig).

Es ist auch möglich, eine genaue Uhrzeit anzugeben: TT.MM.JJJJ SS:MM (z. B. 25.01.2021 12:23).

Es können auch Standardvariablen verwendet werden, z. B. um die Gültigkeit des Links auf 30 Minuten zu setzen:

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

Wenn Sie diesen Parameter auslassen möchten, können Sie stattdessen einfache Anführungszeichen, doppelte Anführungszeichen oder den Wert None übergeben.

customer_phone Telefonnummer des Käufers – optional, wenn der Parameter customer_email angegeben ist.
Wenn Sie diesen Parameter auslassen möchten, können Sie stattdessen einfache oder doppelte Anführungszeichen übergeben.
customer_email E-Mail-Adresse des Käufers – optional, wenn der Parameter customer_phone angegeben ist.
Wenn Sie diesen Parameter auslassen möchten, können Sie stattdessen einfache oder doppelte Anführungszeichen übergeben.
discount Rabatthöhe – der Parameter kann als ganze Zahl oder als Zahl mit Punkt angegeben werden: 25 oder 63.5.
Wenn Sie diesen Parameter auslassen möchten, können Sie stattdessen einfache oder doppelte Anführungszeichen übergeben.
description Produktbeschreibung (wenn nicht angegeben, wird automatisch 'Оплата счета order_id' eingetragen).
Wenn Sie diesen Parameter auslassen möchten, können Sie stattdessen einfache oder doppelte Anführungszeichen übergeben.
extra_params

Zusätzliche Parameter, Parameter, die in dieser Funktion nicht vorhanden sind.
Die verfügbaren zusätzlichen Parameter können in der Dokumentation zur Arbeit mit der API des Zahlungssystems eingesehen werden: Prodamus REST API

Beispiel:

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

Wenn Sie diesen Parameter auslassen möchten, können Sie stattdessen einfache/doppelte Anführungszeichen oder den Wert None übergeben.

products_for_receipt

Eine Zeichenfolge von 50 bis 4000 Zeichen im Format "Bestellbeschreibung - Preis - Link zur gekauften Ressource".
Beispiel:
“Kurs 'Brachsenangeln', Preis 4999 Rubel, Link zur Kursseite: https://www.lovilescha.ru/courses/poimai_kilogram/"

Dieser Parameter ist erforderlich, wenn Sie keine eigene Online-Kasse haben und die Zahlung über Prodamus fiscalisieren müssen.

Beispiel

extra_params = {"payments_limit": "3"}

products_for_receipt = "Kurs 'Brachsenangeln', Preis 4999 Tenge, Link zur Kursseite: <https://www.lovilescha.ru/courses/poimai\_kilogram/" ;

link_prodamus_url = get_prodamus_payment_url( 4999, 'Kurs 'Brachsenangeln'', '27.03.2023 17:00', '79167777771', '[email protected]', 20, 'Der beste Kurs auf dem Markt', extra_params, products_for_receipt

In diesem Beispiel:

  • extra_params – zusätzliche Parameter (z. B. Zahlungslimit).
  • products_for_receipt – Informationen über das Produkt, das auf dem Kassenbon erscheint.
  • Mit der Funktion get_prodamus_payment_url wird ein Link zur Zahlung erstellt.

Wenn es im Block mehrere Funktionen zum Abrufen von Links gibt und ein Fehler auftritt, wird der Fehlerwert in die Variable error_payment_func geschrieben.

Der Fehler wird im Rechner für die letzte Funktion protokolliert.

Achtung: Der Variable payment_sum wird der Wert von der letzten Variable zugewiesen, d. h. nach den optionalen Variablen: payment_description, product_name usw.

Um einen Zahlungslink zu erstellen, reicht es aus, den Wert der Variable payment_sum im Rechnerfeld zu setzen.
Danach wird automatisch die Variable prodamus_pay_url erstellt.

Beispiel für einen Zahlungslink: https://payform.ru/7p3JR8/

Diese Variable kann in einer Nachricht als Link angezeigt oder in einen Button mit dem Text „Bezahlen“ eingefügt werden.

Vor der Deklaration der Variable payment_sum können die folgenden optionalen Variablen angegeben werden:

Parameter der Funktion Beschreibung des Parameters
product_name Produktname (wenn nicht angegeben, wird automatisch "Rechnung bezahlen order_id" eingetragen) – im Screenshot unten ist gezeigt, wo er angezeigt wird.
payment_description Produktbeschreibung (wenn nicht angegeben, wird automatisch 'Оплата счета order_id' eingetragen) – im Screenshot unten ist gezeigt, wo sie angezeigt wird.
discount_value Rabatthöhe (z. B. discount_value = 25 oder discount_value = 50.25)
customer_phone Telefonnummer des Käufers – optional, wenn ein anderer Parameter angegeben ist.
customer_email E-Mail-Adresse des Käufers
link_expired

Gültigkeitsdauer des Zahlungslinks – im Format TT.MM.JJJJ (z. B. 25.01.2021).
Im Rechner-Feld kann auch Folgendes angegeben werden:
link_expired = current_date + 2 (der Link ist 2 Tage lang bis 00:00 Uhr gültig).

link_expired

Es kann auch eine genaue Uhrzeit angegeben werden, Format: TT.MM.JJJJ SS:MM (z. B. 25.01.2021 12:23).
Es können auch Standardvariablen verwendet werden, z. B. um die Gültigkeitsdauer des Links auf 30 Minuten zu setzen:
time = current_time + 30 link_expired = "#{current_date} #{time}"

currency

Zahlungswährung, standardmäßig "rub".
Vollständige Liste der Argumente:

  • rub
  • usd
  • eur
  • kzt

Dieser Parameter muss in Kleinbuchstaben übergeben werden.

payment_title

Zahlungstitel (bis zu 127 Zeichen). Wenn nicht angegeben, wird automatisch der folgende Text eingetragen:
Rechnung bezahlen payment_id” (payment_id – die Bestell-ID in MaviBot).

payment_description Kurzbeschreibung der Zahlung (bis zu 127 Zeichen)
locale

Sprache der Zahlungsseite – wird im Format en-US, fr-XC usw. angegeben. Standardwert ist ru-RU.
Die vollständige Liste kann unter diesem Link eingesehen werden

products_for_receipt

Eine Zeichenfolge von 50 bis 4000 Zeichen im Format "Bestellbeschreibung - Preis - Link zur gekauften Ressource".
Beispiel:
“Kurs 'Brachsenangeln', Preis 4999 Tenge, Link zur Kursseite: https://www.lovilescha.ru/courses/poimai_kilogram/"

Dies ist ein erforderlicher Parameter, wenn Sie keine eigene Online-Kasse haben und die Zahlung über Prodamus fiscalisieren müssen.

payment_sum (erforderlich) Zahlungsbetrag

Die Variablen discount_value, customer_phone, customer_email und link_expired sind auch für Abonnements relevant.

Implementierungsbeispiel.
Im ersten Block setzen wir den Zahlungsbetrag:

Im nächsten Schritt geben wir an der erforderlichen Stelle den Link prodamus_pay_url aus:

Die Variable prodamus_available_payment_methods wird vor der Deklaration von payment_sum definiert.
Mögliche Werte:

AC Zahlung per Karte, ausgestellt in der Russischen Föderation
ACkz Zahlung per kasachischer Karte
ACf Zahlung per Karten der GUS-Staaten, außer der Russischen Föderation
ACEURNMBX Zahlung per EUR-Karte aller Länder, außer Russland und Weißrussland
SBP Schnellzahlung, ohne Eingabe von Kartendaten. Für russische Karten
QW Qiwi Wallet
PC YooMoney
GP Zahlungsterminal
sbol Sberbank Online
invoice Zahlung per Rechnung
installment Ratenzahlung über Prodamus
installment_5_21 Ratenzahlung über Prodamus für 3 Monate
installment_6_28 Ratenzahlung über Prodamus für 6 Monate
installment_10_28 Ratenzahlung über Prodamus für 10 Monate
installment_12_28 Ratenzahlung über Prodamus für 12 Monate
installment_0_0_3 Ratenzahlung über Tinkoff für 3 Monate
installment_0_0_4 Ratenzahlung über Tinkoff für 4 Monate
installment_0_0_6 Ratenzahlung über Tinkoff für 6 Monate
installment_0_0_10 Ratenzahlung über Tinkoff für 10 Monate
installment_0_0_12 Ratenzahlung über Tinkoff für 12 Monate
installment_0_0_24 Ratenzahlung über Tinkoff für 24 Monate
installment_0_0_36 Ratenzahlung über Tinkoff für 36 Monate
credit Kredit über Tinkoff
vsegdada_installment_0_0_4 Ratenzahlung über "VsegdaDa" für 4 Monate (funktioniert nicht mit available_payment_methods)
vsegdada_installment_0_0_6 Ratenzahlung über "VsegdaDa" für 6 Monate
vsegdada_installment_0_0_10 Ratenzahlung über "VsegdaDa" für 10 Monate
vsegdada_installment_0_0_12 Ratenzahlung über "VsegdaDa" für 12 Monate
vsegdada_installment_0_0_24 Ratenzahlung über "VsegdaDa" für 24 Monate
vsegdada_installment_0_0_36 Ratenzahlung über "VsegdaDa" für 36 Monate
sbrf_installment_0_0_6 Ratenzahlung über die Sberbank für 6 Monate
sbrf_installment_0_0_10 Ratenzahlung über die Sberbank für 10 Monate
sbrf_installment_0_0_12 Ratenzahlung über die Sberbank für 12 Monate
sbrf_installment_0_0_24 Ratenzahlung über die Sberbank für 24 Monate
sbrf_installment_0_0_36 Ratenzahlung über die Sberbank für 36 Monate
otp_installment_0_0_6 Ratenzahlung über die "OTP Bank" für 6 Monate
otp_installment_0_0_10 Ratenzahlung über die "OTP Bank" für 10 Monate
otp_installment_0_0_12 Ratenzahlung über die "OTP Bank" für 12 Monate
otp_installment_0_0_24 Ratenzahlung über die "OTP Bank" für 24 Monate
otp_installment_0_0_36 Ratenzahlung über die "OTP Bank" für 36 Monate
mts_installment_0_0_6 Ratenzahlung über die "MTS Bank" für 6 Monate
mts_installment_0_0_10 Ratenzahlung über die "MTS Bank" für 10 Monate
mts_installment_0_0_12 Ratenzahlung über die "MTS Bank" für 12 Monate
mts_installment_0_0_24 Ratenzahlung über die "MTS Bank" für 24 Monate
mts_installment_0_0_36 Ratenzahlung über die "MTS Bank" für 36 Monate
monetaworld Karten internationaler Banken, außer Russland
sbrf_bnpl Ratenzahlung über die Sberbank

Es ist erlaubt, mehrere Werte durch einen senkrechten Strich getrennt anzugeben.
Zum Beispiel:

prodamus_available_payment_methods = "AC|PC|QW"

prodamus_currency – dies ist ein weiterer optionaler Parameter, der es ermöglicht, den Betrag in einer bestimmten Währung anzuzeigen.

Mögliche Währungen:

  • kzt – für Tenge
  • eur – für Euro
  • usd – für Dollar

Auf diese Weise wird der im Link angegebene Betrag in der ausgewählten Währung angezeigt.

Beim Erhalt des Callbacks payment_callback müssen die Parameter currency und currency_sum beachtet werden, die die Währung und den Betrag angeben.

Wenn nicht angegeben, wird die Seite ohne Zahlungsmethoden aufgerufen.
Zahlungsmethoden können über den Support aktiviert werden. Die aktivierten Methoden können in den Seiteneinstellungen oder durch Testen des Zahlungslinks überprüft werden.

Wie das Ergebnis verarbeitet werden soll

Erfolgreiche Zahlung

Wichtig: Nach einer erfolgreichen oder fehlgeschlagenen Zahlung erhält der Bot Callbacks, mit deren Hilfe Sie feststellen können, ob die Zahlung erfolgreich war.

Callbacks erscheinen im System wie Nachrichten vom Benutzer, können aber nicht vom Benutzer gesendet werden. Sie bestehen aus einer Kombination von geheimem Schlüssel und Status. Zum Beispiel:

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success

oder

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail

Nach einer erfolgreichen Zahlung nimmt die Variable prodamus_payment_completed automatisch den Wert True an.

Hinweis: Callbacks kommen mit einer leichten Verzögerung, daher ist es ratsam, dem Benutzer nach dem Senden des Links eine Nachricht zu senden:

"Bitte warten Sie nach der Zahlung auf die Bestätigung des erfolgreichen Zahlungsabschlusses."


Callback-Struktur

Für Links, die über den Button "Bezahlen" oder die Funktion im Rechner erstellt wurden, erhält der Bot nach der Zahlung automatisch einen Callback. Er besteht aus:

<geheimer_schlüssel>_success <zahlungsbetrag>

Zum Beispiel:

ovg58keefc_success
  • ovg58keefc – der vollständige geheime Schlüssel des Zahlungssystems
  • _success – das Ergebnis der Anfrageverarbeitung (erfolgreiche Zahlung)

Praktische Anwendung

Eine erfolgreiche Zahlung kann über einen Bedingungsblock verarbeitet und dem Benutzer eine entsprechende Nachricht angezeigt werden.

Der Vergleichstyp muss "Full match" / "Vollständige Übereinstimmung" sein.

Für eine erneute Zahlung muss die Variable payment_sum unbedingt auf Null gesetzt und der zuvor erstellte Link gelöscht werden. Erst dann kann der Variable payment_sum ein neuer Wert zugewiesen und der aktualisierte Link abgerufen werden.

Deaktivierung/Reaktivierung eines Abonnements

Darüber hinaus gibt es in Prodamus Benachrichtigungen darüber, ob ein Abonnement aktiviert oder deaktiviert wurde:

"Abonnement vom Benutzer deaktiviert" – wenn das Abonnement manuell beendet wurde (z. B. bei Kündigung des Abonnements).
Diese Nachricht kann vor Ablauf des aktuellen bezahlten Zeitraums eintreffen. Die Aktion hängt von Ihrer Entscheidung ab: ignorieren, überwachen oder versuchen, den Benutzer zurückzugewinnen.

"Abonnement vom Benutzer reaktiviert" – das Abonnement wurde wiederhergestellt.
Diese Nachricht kann eintreffen, wenn der Benutzer das Abonnement vor Ablauf des aktuellen bezahlten Zeitraums wiederherstellt. Die Aktion hängt von Ihrer Entscheidung ab: ignorieren oder aus der Überwachungsliste entfernen.

"Abonnement deaktivieren" – wenn das Abonnement nach mehreren fehlgeschlagenen Zahlungen beendet wurde.

Werte aus dem Callback speichern

Nach Eingang der Nachricht über eine erfolgreiche Zahlung wird in die Variable payment_callback der Callback von Prodamus geschrieben, der alle Zahlungsdaten enthält. Diese Daten können gespeichert und nach Ihren Wünschen verwendet werden.

Beispiel eines Callbacks:

{
  "date": "2021-03-30T11:44:43+03:00",
  "order_id": "757679",
  "order_num": "",
  "domain": "demo.payform.ru",
  "sum": "14.50",
  "customer_phone": "+77777777777",
  "customer_extra": "Товар",
  "payment_type": "Пластиковая карта Visa, MasterCard, МИР",
  "commission": "3.5",
  "commission_sum": "0.51",
  "attempt": "1",
  "discount_value": "10.5",
  "products[0][name]": "Доступ к обучающим материалам",
  "products[0][price]": "14.50",
  "products[0][quantity]": "1",
  "products[0][sum]": "14.50",
  "payment_status": "success",
  "payment_status_description": "Успешная оплата",
  "payment_init": "manual"
}

Beim Erstellen des Links können die Variablen product_name und payment_description angegeben werden. Wenn der Callback eintrifft, können sie wie folgt abgerufen werden:

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

Beachten Sie: Der Variable payment_sum wird der letzte Wert zugewiesen, der nach den optionalen Variablen steht: payment_description, product_name.

Der Betrag kann wie folgt abgerufen werden:

summa = get(payment_callback, 'sum')

Verfügbare Callbacks

Neben den wichtigsten Callbacks für erfolgreiche Zahlungen erscheinen im Chat Nachrichten, die der Benutzer nicht sieht, wie folgt:

Callbacks
  • Abonnent hat das Abonnement deaktiviert (Details hier)
  • Abonnent hat das Abonnement reaktiviert (Details hier)
  • Abonnement beendet
  • Nicht erfolgreiche Zahlung - Hinweis mit Erläuterung (im Screenshot oben)
  • Benachrichtigung über bevorstehende Abbuchung - Datum und Uhrzeit der bevorstehenden Abbuchung
  • Ratenzahlungsantrag mit Status
Beispiele für Callbacks im Dialog mit dem Kunden
  • Abonnent hat das Abonnement deaktiviert
  • Abonnent hat das Abonnement reaktiviert
  • Abonnement beendet
  • Nicht erfolgreiche Zahlung - Nicht ausreichend Guthaben.
  • Nicht erfolgreiche Zahlung - Karte abgelaufen.
  • Nicht erfolgreiche Zahlung - Kartenlimit überschritten.
  • Nicht erfolgreiche Zahlung - Karte verloren
  • Nicht erfolgreiche Zahlung - Systemfehler
  • Nicht erfolgreiche Zahlung - Transaktion abgelehnt. Bitte wenden Sie sich an Ihre Bank.
  • Nicht erfolgreiche Zahlung - Ablehnung der Transaktion durch die ausstellende Bank.
  • Nicht erfolgreiche Zahlung - Ablehnung der Transaktion durch die Bank.
  • Benachrichtigung über bevorstehende Abbuchung - TT.MM.JJJJ hh:mm
  • Ratenzahlungsantrag genehmigt
  • Ratenzahlungsantrag storniert
  • Ratenzahlungsantrag abgelehnt

Nach Ihren Wünschen können Sie das Senden einer beliebigen Nachricht an den Benutzer konfigurieren. Zum Beispiel das Senden einer Nachricht bei fehlgeschlagener automatischer Zahlung.

Antwortblöcke auf Nachrichten mit einem bestimmten Grund für eine fehlgeschlagene Zahlung können wie folgt konfiguriert werden:

Um bei allen fehlgeschlagenen Zahlungen, unabhängig vom Grund, eine Nachricht zu senden, kann wie folgt konfiguriert werden:

Bei allen Callbacks wird, wenn der Text „Zahlung fehlgeschlagen“ enthält, dem Benutzer eine Nachricht mit dem von Ihnen festgelegten Text gesendet.

Wie man eine Zahlung für ein Abonnement durchführt

Wie man ein Abonnement erstellt

Um ein Abonnement zu erstellen, muss zunächst ein Abonnementprodukt erstellt werden.
Vollständige Anleitung: Wie man ein Abonnement erstellt und konfiguriert

Anschließend kopieren wir die ID des Abonnementprodukts. Unten ist beispielsweise dargestellt, wo diese zu finden ist:

Erstellung eines Abonnementprodukts

Um einen Link zur Zahlung des Abonnements zu erstellen, muss der Variablen prodamus_subscription die ID des Abonnementprodukts zugewiesen werden. Danach erscheint automatisch die Variable prodamus_pay_url.

Die Variable prodamus_pay_url kann als Link auf dem Bildschirm ausgegeben oder in einen Button mit dem Text „Bezahlen“ eingefügt werden. Beispiel für einen Link: https://payform.kz/7p3JR8/

Die Verarbeitung des Ergebnisses erfolgt wie bei einer einmaligen Zahlung (wie oben beschrieben).

Nach einem erfolgreichen Abonnement wird dem Benutzer die bei der Zahlung eingegebene Variable customer_phone hinzugefügt. Die Telefonnummer wird für die Verwaltung des Abonnements benötigt.

Wenn customer_email nicht angegeben wird, ist customer_phone für die Verwaltung des Abonnements erforderlich.

Betrachten wir eine andere Methode zur Erstellung eines Links zur Zahlung eines Abonnements für ein Produkt.

  1. Im Prodamus-Konto wird ein Abonnementprodukt erstellt.
    Die vollständige Anleitung finden Sie unter folgendem Link:
    Wie man ein Abonnement erstellt und konfiguriert
  2. Anschließend kopieren wir die ID des Abonnementprodukts. Unten ist beispielsweise dargestellt, wo diese zu finden ist:
Erstellung eines Abonnementprodukts

Um einen Link zur Zahlung eines Produkts im Abonnement zu erhalten, geben Sie im Rechner die Funktion an:

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

Rechner

Beispiel 1: Zahlungslink für ein Produkt im Abonnement

Parameterbeschreibung

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

Parameter der Funktion:

Parameter Parameterwert
subscription_id ID des Abonnementprodukts – kann aus dem Prodamus-Konto kopiert werden (erforderlicher Parameter).
product_name Name des Produkts (erforderlicher Parameter).
expired

Gültigkeitsdauer des Zahlungslinks – im Format TT.MM.JJJJ (z. B. 25.01.2021).

Kann auch im Feld „Rechner“ angegeben werden:

expired = current_date + 2  # Der Link ist 2 Tage gültig, bis 00:00 Uhr

Der Parameter expired kann auch mit einer genauen Uhrzeit angegeben werden, Format: TT.MM.JJJJ hh:mm (z. B. 25.01.2021 12:23).

Es können auch Standardvariablen verwendet werden, z. B. um die Gültigkeitsdauer des Links auf 30 Minuten festzulegen:

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

Wenn Sie diesen Parameter auslassen möchten, können Sie stattdessen einfache oder doppelte Anführungszeichen oder den Wert None übergeben.

customer_phone

Telefonnummer des Zahlenden – optional, wenn der Parameter customer_email angegeben wird.

Wenn Sie diesen Parameter auslassen möchten, geben Sie stattdessen einfache oder doppelte Anführungszeichen ein.

customer_email

E-Mail des Zahlenden – optional, wenn der Parameter customer_phone angegeben wird.

Wenn Sie diesen Parameter auslassen möchten, geben Sie stattdessen einfache oder doppelte Anführungszeichen ein.

discount

Rabatthöhe – der Parameter kann als ganze Zahl oder Dezimalzahl übergeben werden: 25 oder 63.5.

Wenn Sie diesen Parameter auslassen möchten, geben Sie stattdessen einfache oder doppelte Anführungszeichen ein.

description

Beschreibung des Produkts – wenn nicht angegeben, wird standardmäßig 'Zahlung der Rechnung order_id' ausgefüllt.

Wenn Sie diesen Parameter auslassen möchten, geben Sie stattdessen einfache oder doppelte Anführungszeichen ein.

extra_params

Zusätzliche Parameter, die in dieser Funktion nicht vorhanden sind.
Mögliche zusätzliche Parameter können in der API-Dokumentation des Zahlungssystems eingesehen werden:
Prodamus REST API Anleitung

Beispiel:

extra_params = {"payments_limit": "3"}

Wenn Sie diesen Parameter auslassen möchten, können Sie stattdessen einfache/doppelte Anführungszeichen oder den Wert None übergeben.

products_for_receipt

Eine Zeichenfolge von 50–4000 Zeichen, Format: "Bestellbeschreibung - Preis - Link zur gekauften Ressource"

Beispiel:
Kurs „Brassekurs“, Preis 4999 Tenge, Link zur Kursseite: https://www.lovilescha.ru/courses/poimai_kilogram/.

Dieser Parameter ist erforderlich, wenn Sie keine eigene Online-Kasse haben und Zahlungen über Prodamus fiscalisieren müssen.

Codebeispiel zum Kopieren

extra_params = {"payments_limit": "3"} \

products_for_receipt = "Kurs 'Brassekurs', monatliches Abonnement Preis 2000 Tenge, Link zur Kursseite: https://www.lovilescha.ru/courses/poimai\_kilogram/" \

link_prodamus_sub = get_prodamus_subscription_url(618988, 'Kurs 'Brassekurs'', '27.03.2023 17:02', '79167777771', '[email protected]', 20, 'Der beste Kurs auf dem Markt', extra_params, products_for_receipt)

Wenn beim Abrufen eines Links über mehrere Funktionen in einem Block ein Fehler auftritt, wird der Fehlerwert in der Variablen error_payment_func gespeichert.

Der Fehler wird im Rechner für die letzte Funktion protokolliert.

Wie man den Abonnementstatus verwaltet

Diese Methode gilt nur für echte Abonnements, im Demo-Modus gibt es keine Kartenbindung.

Für die Verwaltung des Abonnements muss zwingend entweder der Parameter customer_phone oder customer_email angegeben werden.

Um einen Benutzer aus dem Abonnement zu entfernen, muss ein Block erstellt und die folgende Funktion aufgerufen werden:
delete_subscription_prodamus

Beispiel für Parameter:

{
  "customer_phone": "#{customer_phone}",
  "id_subscription":"#{prodamus_subscription}",
  "url":"https://demo.payform.ru/",
  "secret_key":"453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",
  "switcher":"0",
  "profile_id":"12345"
}
  • url – URL des Zahlungsformulars, aus den Einstellungen im Konstruktor
  • secret_key – geheimer Schlüssel aus den Einstellungen
  • id_subscription – ID des Abonnementprodukts
  • customer_phone – Telefon des Abonnementinhabers
  • switcher – Abonnementverwaltung: 0 – Abonnement kündigen, 1 – Abonnement reaktivieren
  • profile_id – Profil-ID im Prodamus-System

Hinweis:
Wenn eine Profil-ID eingeht, wird sie in der Variablen profile_id gespeichert.
profile_id kann anstelle von customer_phone oder customer_email an die Funktion übergeben werden, um das Abonnement zu kündigen.

Beispiel: Konfiguration von Abonnement-Blöcken

Beachten Sie, dass die Funktion status zurückgibt, den Sie speichern und nach Ihren Wünschen verarbeiten können. Bei erfolgreicher Kündigung oder Reaktivierung des Abonnements ist status = ok.

Funktion zur Verwaltung des Abonnements

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

subscription_id – ID des Abonnementprodukts

switcher – Abonnementverwaltung: 0 – Abonnement kündigen, 1 – Abonnement reaktivieren

customer_phone – Telefon des Abonnementinhabers; optional, wenn customer_email angegeben ist

customer_email – E-Mail-Adresse des Abonnementinhabers; optional, wenn customer_phone angegeben ist

profile_id – Profil-ID im Prodamus-System

Beispiel 1: Parameter customer_phone angegeben, customer_email ausgelassen:

stat = prodamus_subscription_switch_status('618117', '0', '75431312321')

Beispiel 2: Parameter customer_email angegeben, customer_phone ausgelassen:

stat = prodamus_subscription_switch_status('618117', '0', '', '[email protected]')

Die Funktion gibt ok zurück, wenn alle Vorgänge erfolgreich abgeschlossen wurden, oder bei einem Fehler dessen Beschreibung.

Rabatte im Abonnement verwalten

Diese Funktion legt die Rabatthöhe für die folgenden Zahlungen im Abonnement fest. Der Rabatt kann für eine begrenzte oder unbegrenzte Anzahl von Zahlungen gewährt werden.

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

Parameter:

  • subscription_id – ID des Abonnements
  • discount – Dezimalzahl mit zwei Nachkommastellen; der Wert muss größer als Null und darf den Basispreis des Abonnements nicht überschreiten
  • customer_phone – Telefonnummer des Kunden, Format: +79999999999 (optional, wenn die Variable customer_email vorhanden ist; diese erscheint nach der ersten Zahlung)
  • num – Anzahl der Zahlungen, für die der Rabatt gilt (optional; wenn nicht angegeben, gilt der Rabatt für alle Zahlungen)
  • profile_id – Profil-ID im Prodamus-System

Bei erfolgreicher Ausführung der Anfrage gibt die Funktion 'ok' zurück; bei einem Fehler gibt die Funktion die Fehlerbeschreibung zurück.

Rabatthöhe und -intervall werden nur überschrieben, wenn die Funktion erneut mit neuen Werten aufgerufen wird!

Beispiele:

1. Gewährung eines Rabatts von 1₽ für alle folgenden automatischen Zahlungen (die Telefonnummer wird nicht angegeben, da sie automatisch aus der Variablen customer_phone übernommen wird; der Rabattbetrag gilt standardmäßig für die gesamte Laufzeit des Abonnements):

r = prodamus_subscription_discount('624034', '1')

2. Beispiel für die Gewährung eines Rabatts von 2₽ für die nächsten 3 Zahlungen (die Telefonnummer wird mit leeren Anführungszeichen übergeben, da sie automatisch aus der Variablen customer_phone übernommen wird):

r = prodamus_subscription_discount('624034', '2', '', '3')

3. Beispiel für die Angabe eines Rabatts mit Dezimalbruch (Trennzeichen ist der Punkt, Werte werden ohne Anführungszeichen angegeben), die Telefonnummer kann über eine Variable übergeben werden.

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

So legen Sie das Datum der nächsten Zahlung für ein Abonnement fest

Mit dieser Methode können Sie das Datum der nächsten Zahlung für ein Abonnement verschieben. Das Datum kann nur in die Zukunft verschoben werden, also auf einen späteren Zeitpunkt als das aktuell festgelegte nächste Zahlungsdatum, um die Mitgliedschaftsdauer im Club zu verlängern.

Beispielsweise kann dies als Bonus für Abonnenten verwendet werden.

Dazu muss die folgende Funktion verwendet werden:

prodamus_subscription_payment_date(subscription_id, date, customer_phone, profile_id)

Parameter:

  • subscription_id – die ID des Abonnements
  • date – Datum im Format TT.MM.JJJJ HH:MM oder TT.MM.JJJJ; wenn nur TT.MM.JJJJ angegeben wird, ist die Uhrzeit 00:00
  • customer_phone – optional; wenn nicht angegeben, wird es aus der Variable customer_phone übernommen; wenn nicht gefunden, funktioniert die Funktion nicht
  • profile_id – die ID des Profils im Prodamus-System

So senden Sie Parameter an Prodamus

Um die erforderlichen Parameter (z. B. Startdatum des Abonnements, Deaktivierung der Ratenzahlung usw.) an das Prodamus-System zu senden, fügen Sie dem Variablennamen das Präfix prodamus_ hinzu.

Wenn Sie dann den Zahlungslink erstellen, werden die Parameter in dieser Variable automatisch an das Zahlungssystem gesendet.

So testen Sie eine Zahlung

Wir testen nur die Zahlung!

Bei der Integration und Einrichtung von Zahlungstrichtern können Sie Testkarten verwenden, damit kein Geld von Ihrem Konto abgebucht wird.

Schalten Sie Ihre Zahlungsseite zuerst in den DEMO-Modus
Vergessen Sie nicht, die Schaltfläche „Speichern“ zu drücken.

Für Testzahlungen können Sie Testkonten verwenden.

Testkarten der Sberbank:

MIR
Kartennummer: 2202 2050 0001 2424
Gültigkeitsdatum: 05/35
Prüfziffer auf der Rückseite (CVV): 669

MasterCard
Kartennummer: 5469 9801 0004 8525
Gültigkeitsdatum: 05/26
Prüfziffer auf der Rückseite (CVV): 041
3‑D Secure Prüfcode: 111111

Visa
Kartennummer: 4006 8009 0096 2514
Gültigkeitsdatum: 05/26
Prüfziffer auf der Rückseite (CVV): 941
3‑D Secure Prüfcode: 111111

❗️Bei Zahlungen mit Testkonten funktionieren alle eingerichteten Trichter und Integrationen genauso wie bei einer normalen Zahlung❗️

Formular überprüft

Für die Annahme echter Zahlungen muss das Formular in den Arbeitsmodus versetzt werden. Das bedeutet, dass der Schalter für den Demo-Modus auf offen rot gestellt werden muss.