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
<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"}]]}')


