So verbinden Sie das Zahlungssystem

Das Zahlungssystem ist in Telegram integriert.

Um Zahlungen innerhalb des Messengers durchzuführen, benötigen Sie:

  • Verbinden Sie das Zahlungssystem mit dem Bot im BotFather-Bot

  • Gehen Sie zu den gewünschten Bot-Einstellungen und wählen Sie im Menü „Zahlungen“

  • Folgen Sie den Anweisungen, um ein verfügbares Zahlungssystem zu verbinden, und kopieren Sie das ausgestellte Token

                                         ![](https://docs.mavibot.ai/files/1PhZiQDP4PjOrrnX1v6g)<br>
    

So stellen Sie einem Kunden eine Rechnung

Um eine Rechnung an Telegram zu senden, verwenden Sie die Methode

tg_send_invoice(provider_token, platform_id, title, description, currency, prices, photo_url, payload, protect_content, disable_notification, need_name, phone_number, need_email, reply_to_message_id, reply_markup, reply_id) – die erforderlichen Parameter sind fett hervorgehoben

provider_token – Token, das im BotFather nach dem Verbinden des Zahlungssystems erhalten wurde

platform_id – Empfänger – Kennung des Benutzers, der Gruppe oder des Kanals

title – Artikelname, 1–32 Zeichen

description – Beschreibung der Ware, 1–255 Zeichen

currency – Zahlungswährung (RUB, USD, UAH usw. https://core.telegram.org/bots/payments#supported-currencies)

payload – der erste Teil der Zahlungsinformationen, standardmäßig tg_payment

prices – Preisaufschlüsselung (Beschreibung unten)

photo_url – Link zum Produktbild

disable_notification – 1 – mit Benachrichtigung senden, 0 – ohne Benachrichtigung

protect_content – 1 – Kopier- und Screenshot-Schutz, 0 – ungeschützt

need_name – 1, wenn ein vollständiger Benutzername zur Abschließung der Bestellung erforderlich ist, 0 – ohne Namensabfrage

need_phone_number – 1, wenn eine Telefonnummer des Benutzers zur Abschließung der Bestellung erforderlich ist, 0 – ohne Nummernaufforderung

need_email – 1, wenn eine E-Mail-Adresse des Benutzers zur Abschließung der Bestellung erforderlich ist, 0 – ohne E-Mail-Aufforderung

reply_to_message_id – die Nachrichten-ID, auf die geantwortet wird, '' ist keine Antwort

reply_markup – Tastatur, der erste Button sollte ein Button vom Typ „Bezahlen“ sein

Wenn einer der Parameter need_name, need_phone_number oder need_email angegeben ist, fordert der Benutzer die Daten vor der Zahlung an und speichert sie bei erfolgreicher Zahlung in den Client-Variablen. Im Screenshot unten die Aufforderung zur Eingabe aller Daten:

prices – ein Array von Arrays mit Daten zu den Kosten der Ware und zusätzlichen Dienstleistungen (Lieferung, Verpackung usw.). Wird auf der Zahlungsseite angezeigt. Der Betrag muss entweder als Ganzzahl 125 oder als Bruch durch Punkt 120.25 angegeben werden. Beispiel: [["Ware", 2000], ["MwSt.", 20.75], ["Verpackung", 100]

Callback bei Zahlung

Nach erfolgreicher Zahlung wird im Chat mit dem Benutzer ein Callback wie folgt eingehen:

phone_best 4737685 2120.75 UAH 1955518436

wobei phone_best – payload – aus der Anfrage zur Rechnungserstellung 473737685 – eine Chat-ID, an die ursprünglich die Rechnung gesendet wurde 2120.75 – der vollständige Zahlungsbetrag UAH – Währung 1955518436 – Zahlungs-ID im Händlersystem

Wenn Sie außerdem einen Namen, eine Telefonnummer und/oder eine E-Mail angefordert haben, speichert der Client die Variablen:

tg_payment_name, tg_payment_phone und tg_payment_email

Im Erfolgsfall wird der Callback an die persönlichen Nachrichten des Benutzers gesendet. Dazu müssen der Client und der Bot vor der Zahlung zusammenarbeiten (der Client muss den Bot abonniert haben)!

Nach Erhalt des Hooks über die Zahlung wird die Zahlung automatisch bestätigt, durch answerPreCheckoutQuery https://core.telegram.org/bots/api#answerprecheckoutquery.

Beispiele

prices = [["Produkt", 2000], ["MwSt.", 20.75], ["Verpackung", 100]]
result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'phoneW-200', 'Bestes Modell auf dem Markt', 'UAH', prices, 'https://images11.popmeh.ru/cropped.jpg', 'phone_best', 0, 0, 1, 0, 1)

Beispiel mit minimalen Parametersätzen

prices = [["ein erstaunliches Produkt", 20000]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Der beste Bot aller Zeiten!',`` 'Ein erstaunlicher Kurs! Sei der Beste!', 'UAH', prices)

Beispiel mit einer Tastatur

prices = [["Produkt", 2000], ["MwSt.", 20.75], ["Verpackung", 100]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Telefon W-200', 'Bestes Modell auf dem Markt', 'UAH', prices, 'https://helpix.ru/news/200405/181746/gf200_2.jpg', 'phone_best', 0, 0, 1, 1, 1, '', '{"inline_keyboard": [[{"text":"Bezahlen", "pay":"True"}], [{"text":"Noch ein Button", "callback_data": "Noch ein Button"}]]}')