So richten Sie Robokassa ein

Sehen wir uns an, wie Sie Zahlungen in Ihrem Bot über den Dienst Robokassa realisieren.

  1. Erstellen Sie einen Online-Shop in Ihrem persönlichen Konto des Robokassa-Dienstes und geben Sie die folgenden technischen Einstellungen an:

Erstellen Sie Testpasswörter und führen Sie die Ersteinrichtung im Testmodus durch.

Wie verbinde ich Robokassa mit MaviBot?

Gehen Sie zum Bereich "Acquiring" und klicken Sie auf "Verbinden" auf der Robokassa-Kachel:

und füllen Sie das sich öffnende Formular aus:

  1. Feld Shop-ID – die Shop-ID, die Sie in den Shop-Einstellungen in Ihrem Robokassa-Konto finden.
  2. Passwort #1, Passwort #2 – eindeutige generierte Folgen aus Ziffern und Buchstaben.
  3. Feld Mehrwertsteuersatz. Geben Sie den passenden Code für die Übergabe des Mehrwertsteuerwerts an. Dieses Feld legt den Steuersatz im Kassenbon fest. Er wird für jede Produktart einzeln festgelegt, jedoch für alle Einheiten eines bestimmten Produkts zusammen.

Angewendet mit den Werten:

  • Ohne MwSt.
  • MwSt. 0%.
  • MwSt. 5%.
  • MwSt. zum errechneten Satz von 12%.
  • MwSt. zum errechneten Satz von 16%.

Der Zahlungslink kann im Block auf EINE der verfügbaren Arten erstellt werden:

Schaltfläche mit der Funktion Zahlung

Der Zahlungslink kann in einer Schaltfläche mit der Funktion "Zahlung" erstellt werden.

Wie Sie eine Schaltfläche mit der Funktion "Zahlung" erstellen, haben wir hier erklärt

Betrachten wir alle möglichen Parameter dieser Schaltfläche. Wie Sie eine Schaltfläche mit der Funktion Zahlung erstellen, wird in diesem Artikel erklärt:

Erforderliche Parameter der Zahlungsschaltfläche

Um einen Zahlungslink zu erstellen, müssen Sie in den Schaltflächeneinstellungen die erforderlichen Parameter angeben: Betrag und Produktname.

Feld Betrag. In diesem Feld geben Sie den Produktpreis in Rubel an.

Feld Produktname. In diesem Feld dürfen nur Zeichen des englischen oder russischen Alphabets, Ziffern und Satzzeichen verwendet werden. Maximale Länge: 100 Zeichen. Diese Information wird in der Robokassa-Oberfläche und in der elektronischen Quittung angezeigt, die der Kunde nach erfolgreicher Zahlung erhält.

VERWENDEN Sie keine doppelten Anführungszeichen im Produktnamen: Entfernen Sie sie oder ersetzen Sie sie durch einfache Anführungszeichen.

Kontrollkästchen Automatische Zahlung. Zum Aktivieren der automatischen Zahlung.

Kontrollkästchen Mit Klickbenachrichtigung. Um den Klick auf den Zahlungslink zu verfolgen, können Sie ein Häkchen setzen. In diesem Fall wird beim Klicken auf die Schaltfläche im Dialog mit dem Kunden im Salebot eine Benachrichtigung gesendet, dass ein Klick auf den Link erfolgt ist.

Auf diese Benachrichtigung können Sie die weitere Bot-Logik aufbauen.

Viele Zahlungssysteme unterstützen Cloud-Online-Kassen, die nach 54-FZ erforderlich sind.
Lesen Sie die Besonderheiten der Quittungserstellung auf der Website des gewählten Zahlungssystems, um keine unangenehme Situation mit der Steuerinspektion zu erleben.

Zur Erstellung einer Quittung

Menü Daten zur Quittungserstellung. Beim Klicken öffnet sich ein Dropdown-Menü mit Parametern zur Quittungserstellung:

Feld Produktname. Erforderlich für die Quittungserstellung.

VERWENDEN Sie keine doppelten Anführungszeichen im Produktnamen: Entfernen Sie sie oder ersetzen Sie sie durch einfache Anführungszeichen.

Feld Gesamtbetrag in Rubel. In diesem Feld müssen Sie den zu zahlenden Betrag unter Berücksichtigung der Produktmenge angeben. Wenn die Menge 1 ist, ist der Gesamtbetrag in Rubel gleich dem Wert im Feld Betrag in den erforderlichen Schaltflächeneinstellungen.

Feld Menge. Menge oder Gewicht des Produkts. Kann als ganze oder als Dezimalzahl mit Punkt übergeben werden. Beispiel: 5 oder 10.3

Kunden-Variablen, die bei Verwendung der Schaltfläche mit der Funktion Zahlung automatisch erstellt werden

Sobald der Benutzer einen Block mit der Schaltfläche "Zahlung" erhält, werden automatisch Kunden-Variablen erstellt:

Die interne Kunden-Variable __payments, die den Betrag und die ID des erstellten Links speichert, wird zur Identifizierung des Webhooks vom Zahlungssystem benötigt.

Die interne Kunden-Variable __payments darf NICHT gelöscht oder geändert werden!

Die Kunden-Variable error_payment_button wird erstellt, wenn bei der Schaltflächenerstellung ein Fehler auftritt.

In den Wert der Variable error_payment_button wird entweder der Fehlertext oder die Antwort des Zahlungssystems mit einem Fehler geschrieben.

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

Wie verarbeite ich das Ergebnis

Bitte beachten Sie!

Robokassa sendet nur bei erfolgreichen Transaktionen eine Benachrichtigung über den Parameter Result URL. Es gibt keine Callbacks für fehlgeschlagene Zahlungen im Robokassa-Dienst.

Fail URL ist nur die Seite der fehlgeschlagenen Zahlung, auf die der Zahler umgeleitet wird, falls ein Codefehler auf der Zahlungsseite auftritt.

Erfolgreiche Zahlung.

Nachdem Sie die Zahlung korrekt eingerichtet und den Link zur Zahlungsdurchführung erstellt haben, testen Sie die erstellten Einstellungen. Wenn die Zahlung erfolgreich ist, wird im Kundendialog (Bereich "Kunden") AUTOMATISCH ein CALLBACK gesendet, der aus 10 Zeichen des geheimen Schlüssels des Zahlungssystems, dem Wort _success und, durch ein Leerzeichen getrennt, dem Zahlungsbetrag besteht. Der Callback wird automatisch generiert, Sie müssen ihn nicht selbst erstellen oder beim Support des Zahlungssystems anfordern.

Zum Beispiel: ovg58keefc_success 2999, wobei:

ovg58keefc : 10 Zeichen des geheimen Schlüssels des Zahlungssystems

_success : Ergebnis der Anfrageverarbeitung (erfolgreiche Zahlung)

2999 : Zahlungsbetrag

Blockverarbeitung:

Callback:

Callbacks (Benachrichtigungen) vom Zahlungssystem sieht der Benutzer NICHT. Sie werden nur im Reiter "Kunden" angezeigt und sind für den Operator/Administrator sichtbar.

Beispiel für die Einrichtung einer Reaktion auf einen Callback

Im Bedingungsblock (dies kann sowohl ein Block "Startbedingung" als auch ein Block "Kein Zustand mit Bedingung" sein) müssen Sie den Callback angeben, der bei der Zahlung eingeht.

Wichtig: Auswahl der Übereinstimmung Vollständige Übereinstimmung oder Nach Vorhandensein von Schlüsselwörtern

Anschließend erhält der Kunde bei der Zahlung eine Nachricht aus dem Block, in dem die Reaktion auf den Callback eingerichtet ist:

Zahlung mit Fehler

Wenn der in den Schaltflächeneinstellungen angegebene Betrag vom vom Kunden gezahlten Betrag abweicht, wird dem Bot AUTOMATISCH ein CALLBACK gesendet, der aus 10 Zeichen des geheimen Schlüssels des Zahlungssystems, dem Wort _different_amounts und, durch ein Leerzeichen getrennt, der eindeutigen Zahlungs-ID besteht.

Zum Beispiel: ovg58keefc_different_amounts 123456, wobei:

ovg58keefc : 10 Zeichen des geheimen Schlüssels des Zahlungssystems

_different_amounts : Ergebnis der Anfrageverarbeitung (der gezahlte Betrag weicht vom Betrag im Link ab)

123456 : eindeutige Zahlungs-ID

Funktion get_robokassa_payment_url im Rechner

Um einen Zahlungslink zu erstellen, können Sie die Funktion get_robokassa_payment_url im Rechnerblock verwenden.

Im Feld Rechner weisen wir einer Variable den Wert der Funktion get_robokassa_payment_url zu.

Den Namen der Variable legen Sie selbst fest. Auf den Screenshots sind Beispiele für Variablennamen.

In diese Variable wird der Zahlungslink geschrieben. Die Variable kann als Link in einer Nachricht auf dem Bildschirm angezeigt oder in einer Schaltfläche mit dem Text "Bezahlen" platziert werden.

BEISPIEL für einen Zahlungslink: https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=test_salebot&OutSum=800&InvId=1412&IsTest=1&SignatureValue=0427369c3bd068bae30935f896060dda

Viele Zahlungssysteme unterstützen Cloud-Online-Kassen, die nach 54-FZ erforderlich sind.
Lesen Sie die Besonderheiten der Quittungserstellung auf der Website des gewählten Zahlungssystems, um keine unangenehme Situation mit der Steuerinspektion zu erleben.

Rechner

Beispiel 1:

Parameterbeschreibung

get_robokassa_payment_url(amount, description, products_for_receipt, recurrent, currency)

Parameter der Funktion:

Parameter Wert des Parameters
amount

**Zu zahlender Betrag.** In diesem Feld geben Sie den Produktpreis in Rubel an.

(Erforderlicher Parameter)

description **Produktname.** In diesem Feld dürfen nur Zeichen des englischen oder russischen Alphabets, Ziffern und Satzzeichen verwendet werden. Maximale Länge: 100 Zeichen. Diese Information wird in der Robokassa-Oberfläche und in der elektronischen Quittung angezeigt, die der Kunde nach erfolgreicher Zahlung erhält.
(Erforderlicher Parameter)

products_for_

receipt

**Parameter zur Quittungserstellung.**

Lesen Sie mehr hier.

recurrent **Aktivierung der automatischen Zahlung.** Wenn die automatische Zahlung aktiviert ist, übergeben Sie den Wert 1, wenn deaktiviert, übergeben Sie den Wert None.
currency

**Dreibuchstabiger Währungscode.**

Der Wert muss streng nach den vom Robokassa-Dienst akzeptierten Parametern übergeben werden.
USD - Dollar;
EUR - Euro;
KZT - Tenge.

Beispielcode zum Kopieren
Beispiel 1: Zahlungslink ohne Quittung

res = get_robokassa_payment_url(100, 'Kauf mich')

Beispiel 2: Zahlungslink mit Quittung

receipt = [{"name":"DDDDDDDD","amount":"44","quantity":"1","vat_code":"5","method":"full_payment","object":"commodity"}]

res = get_robokassa_payment_url(100, 'Kauf mich', receipt, '3', 1, 1)

Die Variable kann als Link in einer Nachricht auf dem Bildschirm angezeigt oder in einer Schaltfläche mit Text, z. B. "Kaufen", platziert werden.

Wenn es im Block mehrere Funktionen zum Erhalten eines Links gibt und ein Fehler auftritt, wird der Fehlerwert in der Variable error_payment_func gespeichert.


Der Fehler wird nach der letzten Funktion im Rechner gespeichert.

Nachdem Sie die Zahlung korrekt eingerichtet und den Link zur Zahlungsdurchführung erstellt haben, testen Sie die erstellten Einstellungen.

Wie füge ich eine Zahlungsbeschreibung hinzu

Sie können dem Zahlungsvorgang eine Beschreibung hinzufügen, indem Sie die Variable payment_description setzen.

Diese Beschreibung wird im Zahlungsformular sowie auf der Quittung angezeigt.

Wie verarbeite ich das Ergebnis

Wenn die Zahlung erfolgreich ist, wird im Kundendialog (Bereich "Kunden") AUTOMATISCH ein CALLBACK gesendet, der aus 10 Zeichen des geheimen Schlüssels des Zahlungssystems, dem Wort _success und, durch ein Leerzeichen getrennt, dem Zahlungsbetrag besteht. Der Callback wird automatisch generiert, Sie müssen ihn nicht selbst erstellen oder beim Support des Zahlungssystems anfordern.

Zum Beispiel: ovg58keefc_success 1500, wobei:

ovg58keefc : 10 Zeichen des geheimen Schlüssels des Zahlungssystems

_success : Ergebnis der Anfrageverarbeitung (erfolgreiche Zahlung)

1500 : Zahlungsbetrag

Wir machen Sie darauf aufmerksam!

Der Callback ist nur für Sie im Dialog mit dem Kunden sichtbar.

Der Kunde sieht den Callback nicht, aber Sie können eine Reaktion auf die erfolgreiche Zahlungsabwicklung einrichten.

Beispiel

Einstellungen des Blocks mit der Funktion get_robokassa_payment_url:

  1. Wenn Sie den Link im Text ausgeben:

Wichtig!

Der Zahlungslink ist eindeutig: Er kann nicht kopiert und später an andere Kunden weitergeleitet werden!

Leiten Sie den Zahlungslink über eine Variable im Bot weiter (siehe Abb. 17).

Callback bei erfolgreicher Zahlung:

  1. Link in einer Schaltfläche:

Ausführung des Blocks:

Callback bei erfolgreicher Zahlung:

Sie können Zahlungen auch entgegennehmen, indem Sie einen Link mit der Variable payment_sum generieren, in der Sie lediglich den Zahlungsbetrag angeben müssen.

Hinweis: Der Variable payment_sum wird der Wert zuletzt zugewiesen, nach den optionalen Variablen payment_description, product_name usw.

Um einen Zahlungslink zu generieren, müssen Sie den Wert der Variable payment_sum festlegen. Unmittelbar danach erscheint die Variable robokassa_pay_url. Diese Variable kann als Link auf dem Bildschirm angezeigt oder auf einer Schaltfläche mit dem Text "Bezahlen" platziert werden.

BEISPIEL für die Ausführung eines Blocks (Zahlungslink):

Wichtig!

Der Zahlungslink ist eindeutig: Er kann nicht kopiert und später an andere Kunden weitergeleitet werden!

Leiten Sie den Zahlungslink über eine Variable im Bot weiter

Um den Link in einer Schaltfläche zu übergeben, geben Sie die Variable in der Schaltfläche im Feld url an:

Nach erfolgreicher Zahlung wird ein Callback an den Bot gesendet. Dieser Callback wird im System als Nachricht vom Benutzer angezeigt. Damit der Benutzer ihn nicht senden kann, besteht er aus dem ersten Passwort des Robokassa-Dienstes und dem Zusatz des Status success, z. B.: qxgZ7zkNX4HHnG8UpZ61_success.

Außerdem wird nach erfolgreicher Zahlung die Variable robokassa_payment_completed auf True gesetzt.

Dieser Callback wird NICHT vom Benutzer gesehen, er wird nur dem Operator angezeigt

Der Vergleichstyp muss "Vollständige Übereinstimmung" sein

Für eine erneute Zahlung muss payment_sum sowie der zuvor erstellte Link unbedingt zurückgesetzt werden. Erst danach kann die Variable payment_sum neu zugewiesen werden, um einen neuen Link zu erhalten.

Beispiel für das Zurücksetzen der Variablen:
robokassa_pay_url=''
payment_sum=0

Nach Abschluss der Zahlung wird dem Kunden die Variable robokassa_callback_data hinzugefügt, die die Antwortdaten des Zahlungssystems zur durchgeführten Transaktion enthält. Aus dem erhaltenen Wörterbuch können mit der Methode get die erforderlichen Daten extrahiert werden.

So erstellen Sie ein Testschema

Beispiel eines Schemas, mit dem Sie den Robokassa-Dienst testen und schnell mit der Arbeit beginnen können:

Die Abbildung zeigt ein Beispiel des ersten Blocks, in dem der Benutzer gefragt wird, wie viel er bezahlen möchteь.

In der Abbildung unten sind die Einstellungen des Pfeils dargestellt. Darin muss der Schalter "Benutzer gibt Daten ein" aktiviert sein und im Feld muss die Variable payment_sum eingetragen sein:

Fügen Sie anschließend im nächsten Zahlungsblock eine Schaltfläche hinzu und setzen Sie in die URL-Zeile die Variable robokassa_pay_url:

Das Schema funktioniert wie folgt:

Beim Klicken auf die Schaltfläche wird der vom Kunden eingegebene Betrag zur Zahlung verfügbar.

Nach der Zahlung kommt ein Callback, auf den ebenfalls eine Reaktion eingerichtet werden kann.

Wichtig!

Einen Callback für eine nicht erfolgreiche Zahlung gibt es bei Robokassa nicht.

Fügen Sie dazu einen weiteren Block mit einer Bedingung hinzu und schreiben Sie in die Bedingungszeile einen Callback der Form "qxgZ7zkNX4HHnG8UpZ61_success":

Der Prüftyp muss unbedingt auf "Vollständige Übereinstimmung" gesetzt werden

Das Schema wird wie folgt ausgeführt:

So erstellen Sie eine Anfrage zur Fiskalisierung

In einer Schaltfläche mit der Funktion "Zahlung"

Füllen Sie beim Erstellen einer Schaltfläche im Dropdown-Menü "Daten zur Kassenbonerstellung" die Felder "Produktname", "Gesamtbetrag in Rubel", "Menge", "Mehrwertsteuersatz", "Steuersystem" aus.

Weitere Details finden Sie im Abschnitt "Zur Kassenbonerstellung".

Mit der Variable payment_sum

Da die Linkgenerierung in dem Moment erfolgt, in dem Sie den Wert der Variable payment_sum festgelegt haben, müssen Sie die Variablen products_for_receipt und robokassa_sno definieren.

Wichtig:

  • Bei der Linkerstellung über die Variable payment_sum wird das Steuersystem in der Variable robokassa_sno festgelegt.
  • payment_sum muss dem Gesamtwert aller Produkte entsprechen (Summe aller Parameter sum).

Beispiel:

session_timeout = 7200

product_name = Erste Zahlung

robokassa_sno = osn

products_for_receipt = [{"name": "Produktname", "quantity": 2, "sum": 2, "tax": "none"}, {"name": "Produktname 2", "quantity": 1, "sum": 6, "tax": "none"}]

payment_sum = 10

Für die Funktionen get_robokassa_payment_url und robokassa_recurrent_payment

Übergeben Sie beim Aufruf der Funktionen get_robokassa_payment_url oder der Funktion robokassa_recurrent_payment die Variablen taxation und products_for_receipt gemäß der nachstehenden Beschreibung als Argumentе.

Die Funktionen bereiten einen Link unter Berücksichtigung der Produktnomenklatur vor und erstellen eine Anfrage zur Fiskalisierung.

Wichtig:

Die Variablen taxation und products_for_receipt müssen für jede einzelne Zahlung festgelegt werden.

Der Robokassa-Dienst speichert diese Parameter nicht und kann keine Fiskalisierung von Zahlungen durchführen, für die keine Nomenklatur übergeben wurde.

  1. products_for_receipt - ein Array, das die Produktnomenklatur enthält.

Jede Produkteinheit muss als Wörterbuch dargestellt werden, das die Parameter name, quantity, sum, tax, payment_method, payment_object und nomenclature_code enthält.


! products_for_receipt muss im folgenden Format angegeben werden:

[

{"name": "Produktname", "quantity": "Produktmenge", "sum": "Produktkosten", "tax": "Mehrwertsteuersatz"},

{"name": "Produktname 2", "quantity": "Produktmenge 2", "sum": "Produktkosten", "tax": "Mehrwertsteuersatz"}

]

wobei,

1) name - Produktname. Wenn Sie im Produktnamen Sonderzeichen wie Anführungszeichen verwenden, müssen diese unbedingt maskiert werden.

2) quantity - Menge oder Gewicht des Produkts (ganze oder Dezimalzahl mit Punkt)

3) sum oder amount (erforderlich, zwei Namensvarianten) - Gesamtbetrag in Rubel für die gesamte Menge dieses Produkts unter Berücksichtigung aller möglichen Rabatte, Boni und Sonderpreise.

4) tax oder vat_code - (erforderlich, zwei Namensvarianten, der Wert hängt vom Namen ab) - Mehrwertsteuersatz. Dieser Parameter legt den Steuersatz im Kassenmodul (KKT) fest.

**Werte für tax: **

Wert Beschreibung
none ohne MwSt.
vat0 MwSt. mit 0%
vat5 MwSt. mit 5%
vat12 MwSt. mit 12%
vat16 MwSt. mit 16%

Wert für vat_code:

Werte Beschreibung
'1' Ohne MwSt.
'2' MwSt. mit 0%
'8' MwSt. mit 5%
'15' MwSt. mit 12%
'14' MwSt. mit 16%

5) method oder payment_method - (zwei Namensvarianten, optionaler Parameter) Kennzeichen der Berechnungsmethode.

Mögliche Werte des Parameters: Was der Wert bedeutet:
full_prepayment Vorauszahlung 100%. Vollständige Vorauszahlung vor der Übergabe des Berechnungsobjekts
prepayment Vorauszahlung. Teilweise Vorauszahlung vor der Übergabe des Berechnungsobjekts
advance Anzahlung
full_payment Vollständige Abrechnung. Vollständige Zahlung, einschließlich unter Berücksichtigung einer Anzahlung (Vorauszahlung) zum Zeitpunkt der Übergabe des Berechnungsobjekts;
partial_payment Teilweise Abrechnung und Kredit. Teilweise Zahlung des Berechnungsobjekts zum Zeitpunkt seiner Übergabe mit anschließender Zahlung auf Kredit;
credit Übergabe auf Kredit. Übergabe des Berechnungsobjekts ohne dessen Bezahlung zum Zeitpunkt der Übergabe mit anschließender Zahlung auf Kredit;
credit_payment Kreditzahlung. Zahlung des Berechnungsobjekts nach dessen Übergabe mit Zahlung auf Kredit (Kreditzahlung).

6) object oder payment_object - (zwei Namensvarianten, optionaler Parameter) Berechnungsgegenstand (wenn nicht übergeben, wird commodity (Ware) angenommen)

Mögliche Werte des Parameters Was der Wert bedeutet
commodity Ware. Über die verkaufte Ware, mit Ausnahme verbrauchsteuerpflichtiger Ware (Name und andere Angaben, die die Ware beschreiben)
excise Verbrauchsteuerpflichtige Ware. Über die verkaufte verbrauchsteuerpflichtige Ware (Name und andere Angaben, die die Ware beschreiben)
job Arbeit. Über die ausgeführte Arbeit (Name und andere Angaben, die die Arbeit beschreiben)
service Dienstleistung. Über die erbrachte Dienstleistung (Name und andere Angaben, die die Dienstleistung beschreiben)
gambling_bet Glücksspieleinsatz. Über die Annahme von Einsätzen bei der Durchführung von Glücksspielen
gambling_prize Glücksspielgewinn. Über die Auszahlung von Geldbeträgen als Gewinn bei der Durchführung von Glücksspielen
lottery Lotterielos. Über die Annahme von Geldbeträgen beim Verkauf von Lotterielosen, elektronischen Lotterielosen, der Annahme von Lotterieeinsätzen bei der Durchführung von Lotterien
lottery_prize Lotteriegewinn. Über die Auszahlung von Geldbeträgen als Gewinn bei der Durchführung von Lotterien
intellectual_activity Bereitstellung von Ergebnissen geistiger Tätigkeit. Über die Gewährung von Rechten zur Nutzung von Ergebnissen geistiger Tätigkeit oder Individualisierungsmitteln
payment Zahlung. Über Anzahlung, Kaution, Vorauszahlung, Kredit, Beitrag zur Zahlung, Verzugszinsen, Geldstrafe, Vergütung, Bonus und andere ähnliche Berechnungsgegenstände
agent_commission Agentenvergütung. Über die Vergütung des Benutzers, der ein Zahlungsagent (Unteragent), Bankzahlungsagent (Unteragent), Kommissionär, Beauftragter oder anderer Agent ist;
composite Zusammengesetzter Berechnungsgegenstand. Über einen Berechnungsgegenstand, der aus Gegenständen besteht, denen jeweils einer der oben genannten Merkmale zugewiesen werden kann
another Anderer Berechnungsgegenstand. Über einen Berechnungsgegenstand, der nicht zu den oben genannten Berechnungsgegenständen gehört
property_right Eigentumsrecht
non-operating_gain Betriebsfremder Ertrag
insurance_premium Versicherungsprämien
sales_tax Handelssteuer
resort_fee Kurortgebühr
  1. nomenclature_code - (bedingt erforderlich) Produktkennzeichnung: wird so übermittelt, wie sie auf der Verpackung des Produkts aufgedruckt ist.

Der Parameter ist nur für diejenigen Geschäfte erforderlich, die Produkte verkaufen, die einer obligatorischen Kennzeichnung unterliegen.

Der Kennzeichnungscode befindet sich auf der Produktverpackung, neben dem Barcode oder als QR-Code.

Wichtig! Für die Fiskalisierung ist es wichtig, die Kassenbonparameter zu übermitteln.

Das korrekte Kassenbonformat wird wie folgt übermittelt:

rec = [{"name": "Paket 1 Monat", "quantity": 1, "sum": 4800, "tax": "none"}]

response = robokassa_recurrent_payment(4800, 'Schulung in der Flugschule Aviator', 'ru', rec, 'osn')

wobei die eigenen Daten eingesetzt werden müssen.

Erstellung eines Kassenbons bei Zahlungseingang in Kursen auf der Kursseite

Wählen Sie im Abschnitt "Zahlung" in den Kurseinstellungen das Zahlungssystem Robokassa aus:

Füllen Sie im Abschnitt "Acquiring" in den Einstellungen des Zahlungssystems (falls nicht bereits geschehen) das Feld "Mehrwertsteuersatz" aus.

Welche Fehler können auftreten

Fehlercode 40

„Erneute Zahlung einer Rechnung mit derselben Nummer nicht möglich.“

Nach erfolgreicher Zahlung muss der Dialog in den Block „Ende der Datenerfassung“ verschoben werden, damit eine neue Zahlungsnummer generiert wird.

Fehlercode 34

„Der Dienst für wiederkehrende Zahlungen ist für den Shop nicht freigegeben.“

Fehlercode 31

„Ungültiger Zahlungsbetrag.“

Dieser Fehler kann auftreten, wenn der Kunde zur Zahlungsseite zur Rechnungsstellung weitergeleitet wird. Er bedeutet, dass Sie uns den Betrag, für den die Zahlung durchgeführt werden soll, nicht übermitteln oder einen Betrag von Null übermitteln.

Fehlercode 29

„Ungültiger Parameter Signature“

Hier kann es mehrere Ursachen geben, die jedoch alle mit dem Skript zusammenhängen, das für die Zahlungsinitialisierung verantwortlich ist (genauer gesagt, mit dem Teil, der den Parameter Signature gemäß einer Formel aus Variablen bildet). Dieser Fehler tritt recht häufig auf, und hier sind 3 mögliche Ursachen:

  • Erste: Ungültige Shop-ID (MerchantLogin);
  • Zweite: Falsches Passwort 1 (MerchantPass1);
  • Dritte: Sie verwenden zusätzliche Parameter (shp_), die im Programmcode der Kasse hinzugefügt, aber nicht in die Berechnungsformel aufgenommen wurden – oder umgekehrt, sie sind in der Berechnungsformel angegeben, aber nicht im Code. Falls solche verwendet werden, übergeben Sie sie in alphabetischer Reihenfolge – sowohl in den Zahlungsparametern als auch in der Berechnungsformel für Signature.

Wichtiger Punkt! Wenn Sie im Testmodus arbeiten, indem Sie den Parameter IsTest=1 übergeben oder ihn in den Modul-/Bot-Einstellungen per Häkchen aktivieren, verwenden Sie nur das Testpaar der technischen Passwörter (Registerkarte „Technische Einstellungen“ der Karte Ihres Shops).

Fehlercode 23

„Testzahlung kann nicht erstellt werden. Der Shop hat keine Einstellungen für Testparameter.“

Das bedeutet, dass Sie vor der Durchführung einer Testzahlung nicht alle erforderlichen Daten im Block „Parameter für die Durchführung von Testzahlungen“ der Registerkarte „Technische Einstellungen“ ausgefüllt haben.

Fehlercode 25

„Shop nicht aktiviert.“

Dieser Fehler tritt nicht selten auf, und hier kann es 2 Ursachen geben.

  • Erste: Es ist tatsächlich so – und der Shop muss aktiviert werden, bevor eine Rechnung ausgestellt wird.
  • Zweite: Sie haben die Shop-ID in den technischen Einstellungen auf der Website falsch angegeben. Die richtige ID finden Sie im Bereich „Meine Shops“ Ihres persönlichen Kontos. Gehen Sie zur Registerkarte „Technische Einstellungen“ und suchen Sie das Feld „Shop-ID“. Kopieren Sie die ID und geben Sie sie in den Website-Einstellungen ein.

So führen Sie automatische Zahlungen des Robokassa-Dienstes durch

Schritt-für-Schritt-Anleitung zur Einrichtung von automatischen Zahlungen für den Dienst Robokassa

Schritt 1. Automatische Zahlungen im Zahlungsbutton aktivieren

Gehen Sie zu den Einstellungen des Blocks, in dem Sie den Zahlungslink bereitstellen, und öffnen Sie die Button-Einstellungen:

Aktivieren Sie dann in den Button-Einstellungen das Kontrollkästchen „Automatische Zahlungen“:

Wenn Sie automatische Zahlungen in allen Zahlungsbuttons akzeptieren möchten, können Sie diese in den Einstellungen der Zahlungssystem-Anbindung aktivieren:

Schritt 2. Führen Sie eine normale Zahlung durch.

Als nächstes müssen Sie eine normale Zahlung durchführen (einen Zahlungslink erhalten und der Kunde muss ihn bezahlen), wie oben beschrieben. Nach erfolgreicher Zahlung erhält der Kunde die Variable robokassa_previous_invoice_id mit der Zahlungs-ID.

Die Variable robokassa_previous_invoice_id ist für nachfolgende Zahlungen erforderlich.

Wenn sie gelöscht wird, kann die nächste automatische Zahlung NICHT durchgeführt werden.

Bitte beachten Sie!

Deaktivieren Sie das Kontrollkästchen „Zahlungen im Testmodus“ (falls es aktiv ist), da sonst die Variable robokassa_previous_invoice_id mit der Zahlungs-ID nicht generiert wird!

Schritt 3. Planen Sie die automatische Abbuchung

Vom Block „Erfolgreiche Zahlung“ aus planen Sie einen Pfeil mit Timer zum Block mit der automatischen Zahlung. Planen Sie als Beispiel die nächste Zahlung in 30 Tagen.

Damit die automatische Zahlung im gewünschten Block im Feld „Rechner“ durchgeführt wird, müssen Sie den Funktionsaufruf robokassa_recurrent_payment hinzufügen und die Parameter in der angegebenen Reihenfolge übergeben:

  1. payment_amount - der zu zahlende Betrag (Produktpreis in Rubel)
  2. description - Produktname. In diesem Feld dürfen nur Zeichen des englischen oder russischen Alphabets, Ziffern und Satzzeichen verwendet werden. Maximale Länge: 100 Zeichen. Diese Informationen werden in der Robokassa-Oberfläche und in der elektronischen Quittung angezeigt, die der Kunde nach erfolgreicher Zahlung erhält.
  3. country - Domainzone (‚ru‘ oder ‚kz‘)
  4. products_for_receipt - Parameter für die Kassenbonerstellung.

Weitere Details im Abschnitt „So erstellen Sie eine Fiskalisierungsanfrage -> Für die Funktionen get_robokassa_payment_url und robokassa_recurrent_payment

  1. taxation - Steuersystem.

Weitere Details im Abschnitt „So erstellen Sie eine Fiskalisierungsanfrage -> Für die Funktionen get_robokassa_payment_url und robokassa_recurrent_payment

Beispiel für eine automatische Zahlungsanfrage:

Bei der Durchführung einer automatischen Zahlung darf es keinen Link zur Robokassa-Zahlungsseite und keine Variable payment_sum geben!

Schritt 4. Planen Sie regelmäßige Abbuchungen und richten Sie die Möglichkeit ein, automatische Zahlungen zu kündigen.

Für die regelmäßige Wiederholung von Zahlungen planen Sie eine Schleife – einen Pfeil mit Verzögerung, z. B. 30 Tage.

Wenn Sie eine Möglichkeit zur Kündigung automatischer Zahlungen vorsehen, muss die Variable robokassa_previous_invoice_id beim Kunden gelöscht werden, damit die nächste Zahlung nicht ausgeführt wird.

Dazu löschen Sie die Variable im Feld „Rechner“:

robokassa_previous_invoice_id = ""

Normale Zahlung bei aktivierten automatischen Zahlungen

Wenn automatische Zahlungen aktiviert sind, aber ein Link ohne Abonnement (ohne automatische Zahlungen) benötigt wird, muss vor der Linkerstellung die Variable robokassa_manual_recurrent_disable mit dem Wert 1 gesetzt werden.

Deklarieren Sie die Variable im Feld „Rechner“:
robokassa_manual_recurrent_disable = 1

Achtung!

Der Callback bei automatischen Zahlungen ist identisch mit dem Callback, der bei erfolgreichen Zahlungen eingeht.

Wie Sie eine Reaktion auf den Callback einrichten, haben wir im Abschnitt „So verarbeiten Sie das Ergebnis“ beschrieben.

Welche Anforderungen stellt der Robokassa-Dienst an Chat-Bots

Offizielle Antwort des Robokassa-Dienstes:

Sie können ein Produkt auf dem Marktplatz mit Beschreibung und Preis auszeichnen und Zahlungen im Bot akzeptieren, Sie können eine einseitige Website mit Beschreibung, Preis, Kontaktdaten und dem Hinweis erstellen, dass die Lieferung des Produkts/der Dienstleistung elektronisch erfolgt. Wir benötigen eine Verknüpfung zu einem Produkt auf dem Marktplatz oder zu einer Website, da wir nicht wissen können, was Sie in Ihrem Bot verkaufen und in welchem Bot wir uns befinden.

Einen Link zu einem Telegram-Kanal als URL akzeptieren wir nicht. Auch Anforderungen an den Inhalt der Website: „Die Website muss funktionsfähig sein, mit gefülltem Inhalt und funktionierenden internen Links.

Produkte und Dienstleistungen auf Ihrer Website müssen detailliert beschrieben sein: Die Beschreibung sollte die Eigenschaften der angebotenen Produkte und Dienstleistungen, ihre Verbrauchereigenschaften und den aktuellen Preis enthalten.

Auf Ihrer Website müssen unbedingt aktuelle Informationen platziert sein: Telefon, E-Mail, Regeln für die Bestellabwicklung und Lieferfristen, Zahlungs-, Liefer- und Rückgabebedingungen.

Jede Website wird individuell geprüft.

Robokassa in Telegram

Anbindung des Test-Bots RobokassaPaymentTestBot.

  1. Bei Auswahl von „Connect Robokassa Test“ wechselt der Benutzer zum Bot RobokassaPaymentTestBot.
  2. Der Benutzer drückt die Schaltfläche /start.
  3. Der Benutzer erhält die Antwort vom Bot „Shop-ID eingeben“.
  4. Die ID des Shops im Robokassa-Dienst muss eingegeben werden.
  5. Der Bot fordert eine Bestätigung an, die den Besitz des Shops durch das Senden einer SMS an die im Shop angegebene Nummer bestätigt: „SMS an Nummer *%%%% gesendet“, wobei %%%% die letzten 4 Ziffern der Telefonnummer sind.
  6. Der Benutzer gibt einen 6-stelligen Code ein.
  7. Bei Erfolg wird dem Benutzer die Nachricht angezeigt: „Sie haben den Bot @BotName erfolgreich mit Robokassa verbunden. @BotFather wird Ihnen einen neuen Token mitteilen.“
  8. Danach erscheint in BotFather der Zahlungstoken, mit dem die Zahlungen verbunden werden.

Anbindung des Live-Bots RobokassaPaymentBot.

  1. Bei Auswahl von „Connect Robokassa Live“ wechselt der Benutzer zum Bot RobokassaPaymentBot.
  2. Der Benutzer drückt die Schaltfläche /start.
  3. Der Benutzer erhält die Antwort vom Bot „Shop-ID eingeben“.
  4. Die ID des Shops im Robokassa-Dienst muss eingegeben werden.
  5. Der Bot fordert eine Bestätigung an, die den Besitz des Shops durch das Senden einer SMS an die im Shop angegebene Nummer bestätigt: „SMS an Nummer *%%%% gesendet“, wobei %%%% die letzten 4 Ziffern der Telefonnummer sind.
  6. Der Benutzer gibt einen 6-stelligen Code ein.
  7. Bei Erfolg wird dem Benutzer die Nachricht angezeigt: „Sie haben den Bot @BotName erfolgreich mit Robokassa verbunden. @BotFather wird Ihnen einen neuen Token mitteilen.“
  8. Danach erscheint in BotFather der Zahlungstoken, mit dem die Zahlungen verbunden werden.

Die Verarbeitung der Zahlungsergebnisse erfolgt analog zu hier beschrieben.