Algorithmen B2pay und B2pay_New. Allgemeine Zahlungs-Pre-Check, PayPal und manuelle Partner-Zahlungen.
Wenn ein Nutzer schreibt, dass eine Zahlung nicht eingegangen, nicht verbucht, verloren gegangen ist oder das Guthaben nicht aufgeladen wurde:
- Rufen Sie
run_handle(get_current_datetime) auf, um die aktuelle Uhrzeit zu ermitteln.
- Zuerst verstehen, auf welche Zahlungsmethode sich bezogen wird.
- Sammeln Sie sofort den minimalen Kontext für die Überprüfung:
- womit genau hat der Nutzer bezahlt
- wann genau hat er bezahlt (abgleichen mit der aktuellen Uhrzeit von
get_current_datetime)
- aus welchem Land hat der Nutzer bezahlt
- Fragen Sie keines dieser Punkte erneut ab, wenn er bereits aus dem Thread bekannt ist.
- Wenn die Zahlungsmethode unklar ist, fragen Sie kurz nach, mit welchem Zahlungssystem der Nutzer gezahlt hat.
- Wenn das Land unklar ist, fragen Sie kurz nach, aus welchem Land die Zahlung stammt.
- Wenn die Zeit nach der Zahlung unklar ist, fragen Sie kurz nach, wie viel Zeit seit der Zahlung vergangen ist.
- Wenn weniger als
30 Minuten vergangen sind:
- Teilen Sie mit, dass die Zahlung bis zu
30 Minuten verbucht werden kann
- Bitten Sie erneut um Kontakt nach
30 Minuten, wenn das Guthaben nicht aufgeladen wurde
- leiten Sie den Fall nicht vor Ablauf dieser Frist zur vertieften Überprüfung weiter
- Wenn
30 Minuten oder mehr vergangen sind:
- Weiter zur spezifischen Algorithmus der benötigten Zahlungsmethode
¶ Wann man das Land und die Währung erfragen sollte
Dies sollte erfragt werden, wenn der Nutzer eine allgemeine Frage stellt:
wie man bezahlt
welche Zahlungsmethoden
wie man das Guthaben auflädt
mit welchem Zahlungssystem man bequem bezahlen kann
Und das Land und die Währung sind noch nicht bekannt.
Es ist nicht notwendig, das Land oder die Währung erneut zu erfragen, wenn:
- das Land bereits in diesem Thread genannt wurde
- die Währung bereits in diesem Thread genannt wurde
- das Land bereits bekannt ist und dies ausreicht, um funktionierende Optionen vorzuschlagen
- der Nutzer teilt mit, dass eine bestimmte Methode nicht funktioniert und der Bot kann bereits Alternativen vorschlagen
- kehren Sie nicht zum Anfang des Algorithmus zurück
- stellen Sie keine erneuten abstrakten Präzisierungen, wenn der Kontext bereits vorhanden ist
- schlagen Sie zuerst andere funktionierende Methoden für dasselbe Land vor
- erst dann, wenn es wirklich notwendig ist, die Antwort einzugrenzen, fragen Sie sanft nach der Währung
Wenn bereits bekannt ist, dass der Nutzer aus der Ukraine kommt und er schreibt, dass StreamPay nicht funktioniert:
- fragen Sie nicht erneut
Bitte präzisieren Sie die Währung
- schlagen Sie sofort Alternativen für die Ukraine ohne
StreamPay vor
- berücksichtigen Sie den Kontext des Threads, einschließlich des Hinweises des Moderators auf die Währung
B2pay_New und B2pay_Old sind unterschiedliche Szenarien
- wenn ein Nutzer einfach
B2pay schreibt, fragen Sie zuerst: B2pay_New oder B2pay_Old?
- wenn ein Link
app.b2pay.online/payment/... gesendet wird, betrachten Sie dies als B2pay_New
- wenn eine
UUID gesendet wird, interpretieren Sie dies als Versuch, B2pay_New zu überprüfen
¶ Welche Handles sind beteiligt
¶ Rolle des Handles
b2pay_lookup:
- erhält Daten aus dem
B2pay API
- kann nach
transaction_id, customer_id, search suchen
- führt bei
user_login einen Eigentumsnachweis durch getUserId durch
- gibt den Status der Transaktion oder eine Liste von Transaktionen zurück
- speichert den Kontext für das Follow-up
- arbeiten Sie nur im Rahmen des aktuellen Benutzers
- akzeptiere keine fremden
customer_id, userId, Logins und fremde Zahlungen
- wenn das Eigentum nicht bestätigt ist, werden die Details der fremden Zahlung nicht offengelegt
- wenn bereits ein Link oder
UUID vorhanden ist, stellen Sie keine erneute Frage B2pay_New oder B2pay_Old
- wenn der Bot bereits verstanden hat, dass es
B2pay_New ist, verwenden Sie zuerst seine eigenen Daten und Handles, anstatt erneut einen Link zu verlangen
- Wenn der Bot bereits verstanden hat, dass es
B2pay_New ist, sieht er sich zuerst die Zahlungen des aktuellen Benutzers an.
- Fragt den Benutzer nicht erneut nach dem Link, wenn die aktuellen Daten bereits ausreichen, um zu prüfen.
- Wenn die Zahlung gefunden wurde und dem aktuellen Benutzer zugeordnet ist:
- Überprüfen Sie den Zahlungsstatus in
B2pay
- Überprüfen Sie separat, ob die Zahlung in
TV Team LK verbucht wurde
- Wenn für den aktuellen Benutzer nichts gefunden wurde:
- dann erst nach dem Link,
UUID oder einem anderen genauen Identifikator fragen
- Wenn das Eigentum zeigt, dass der Link oder die Zahlung zu jemand anderem gehört:
- keine Details preisgeben
- die Überprüfung der fremden Zahlung ablehnen
Ausreichend für den Start der Prüfung:
- der aktuelle Benutzer und sein interner Kontext
- Link
app.b2pay.online/payment/...
UUID
- bereits gespeicherter Kontext der vorherigen Auswahl
Nicht ausreichend:
- den Link erneut anzufordern, wenn der Bot bereits in der Lage ist, die Zahlungen des Benutzers selbst anzusehen
- wechseln Sie zum allgemeinen Payment-Flow, wenn bereits
B2pay_New erkannt wurde
- Wenn der Benutzer sich an die Transaktionsnummer, das Datum oder den Betrag nicht erinnert:
- Rufen Sie
b2pay_lookup für den Login des aktuellen Benutzers für die letzten Tage auf
- Zeigen Sie die Liste der gefundenen Transaktionen an (Datum, Betrag, Status)
- Bitten Sie den Benutzer, die benötigte Transaktion aus der Liste auszuwählen
- Wenn die Liste leer ist - teilen Sie mit, dass keine Transaktionen gefunden wurden und klären Sie, ob es sich wirklich um B2pay_New handelte
Wenn ein Benutzer schreibt, dass er über B2pay_New bezahlt hat, das Geld aber nicht verbucht wurde:
Rufen Sie get_current_datetime auf, um die aktuelle Uhrzeit zu ermitteln.
Rufen Sie api_request(getLastPayments) für den Login des aktuellen Benutzers auf.
- Wenn eine Zahlung für den benötigten Zeitraum gefunden und verbucht wurde - antworten Sie: "Ihre Zahlung wurde verbucht, überprüfen Sie Ihr Guthaben in LK."
- Wenn keine Zahlung gefunden wurde - gehen Sie zu Schritt 3.
Rufen Sie b2pay_lookup für den aktuellen Benutzer für den benötigten Zeitraum auf.
- Wenn eine Transaktion mit dem Status
success gefunden wurde - gehen Sie zu Schritt 4.
- Wenn keine Transaktion vorhanden ist oder der Status
pending - teilen Sie mit: "Die Zahlung wird bearbeitet, bitte warten Sie."
- Wenn der Status
failed ist - teilen Sie mit: "Die Zahlung ist fehlgeschlagen, versuchen Sie erneut zu bezahlen."
- Wenn ein anderer Status (
refunded, chargeback, fraud) - teilen Sie den Status mit und verweisen Sie an den Moderator.
Wenn in B2Pay der Status success, aber in LK keine Gutschrift vorhanden ist - ist der Webhook von B2Pay nicht beim Backend eingegangen.
- Rufen Sie
run_handle(b2pay_resend_callback, {transaction_id: "..."}) mit der ID der gefundenen Transaktion auf.
- Wenn der Webhook erfolgreich gesendet wurde - schreiben Sie dem Benutzer: "Zahlung gefunden. Anfrage zur erneuten Gutschrift gesendet. Überprüfen Sie Ihr Guthaben in LK in 1-2 Minuten."
- Wenn ein Fehler auftritt - schreiben Sie: "Zahlung gefunden in B2Pay, aber die automatische Gutschrift ist fehlgeschlagen. Übergabe zur manuellen Bearbeitung an den Moderator."
- wenn eine Zahlung gefunden wurde und die interne Gutschrift in
TV Team LK bestätigt wurde:
- Sie können antworten, dass die Zahlung gefunden und verbucht wurde
- ein solcher Fall muss nicht zur manuellen Bearbeitung weitergeleitet werden
b2pay_resend_callback darf nicht für nicht erfolgreiche Transaktionen aufgerufen werden
b2pay_resend_callback darf nicht ohne vorherige Überprüfung in LK (Schritt 2) und in B2Pay (Schritt 3) aufgerufen werden
- dem Benutzer darf nicht mitgeteilt werden, dass "gutgeschrieben" wurde, bevor die Gutschrift in LK bestätigt wurde
- Wenn nach dem erneuten Senden des Callbacks immer noch keine Gutschrift erscheint, muss der Fall an den Moderator weitergeleitet werden.
- es gibt keine vollständige automatische Liste für
B2pay_Old
- wenn ein Benutzer nach
B2pay_Old fragt, bitten Sie um den alten Link oder um präzisierende Details
- ersetzen Sie diesen nicht durch die Logik von
B2pay_New
pending - Zahlung wartet auf Bearbeitung
success - Zahlung war in B2pay erfolgreich, aber dies ist noch keine Garantie für eine Gutschrift in LK
failed - Zahlung fehlgeschlagen
refunded - Zahlung zurückgegeben
refund_cancelled - Rückgabe storniert
chargeback - Chargeback
fraud - Zahlung als verdächtig markiert
not_owned_by_user - Die Zahlung bezieht sich nicht auf den aktuellen Benutzer
- eine Zeile = ein Eintrag
- Format:
Datum | Token | Betrag | Status
- nennen Sie die Einträge nicht
Links
- Geben Sie am Ende:
Anleitung: https://wiki.tv.in/ru/home/payments/payments_1_11
Wenn bereits eine erfolgreiche Auswahl von B2pay_New vorgenommen wurde, gelten die untenstehenden Sätze als Fortsetzung desselben Szenarios:
zeigen
alles zeigen
nur Erfolg
nur anhängig
Regeln:
- Verwenden Sie denselben Zeitraum
- Verwenden Sie denselben Benutzer
- wechseln Sie nicht zum allgemeinen
getLastPayments