Bestellstatus tracken
Nachdem ein Benutzer etwas gekauft hat, kann Ihre Anwendung die folgenden Aktionen durchführen:
- den Bestellstatus auf der Benutzeroberfläche anzeigen
- das Guthaben eines Benutzers nach einer erfolgreichen Zahlung belasten
- die gekauften Artikel nach erfolgreicher Zahlung gewähren
Wird die Logik dieser Aktionen mithilfe des SDK implementiert, können Sie den Bestellstatus auf einen der folgende Wege tracken:
Bestellstatusänderungen abonnieren
Übermitteln Sie der SDK-Methode getOrderStatus
aus der Store-Bibliothek die folgenden Parameter, um Bestellstatusänderungen zu abonnieren:
listener
– Listener-Objekt vom TypOrderStatusListener
.orderId
– Bestell-ID, die Sie beim Kauf über den Warenkorb, beim One-Click-Kauf oder beim Kauf gegen virtuelle Währung erhalten haben, als Parameter.
Beispielhafter Aufruf der Methode XStore.getOrderStatus:
- kotlin
XStore.getOrderStatus(object : OrderStatusListener() {
override fun onStatusUpdate(status: OrderResponse.Status) {
if(status == OrderResponse.Status.DONE) {
Log.d("MainActivity", "Success")
}
}
override fun onFailure() {
Log.d("MainActivity", "Failure")
}
}, orderId)
Wir empfehlen, die Methode XStore.getOrderStatus
beim Öffnen des Zahlungsportals aufzurufen.
Die Kaufmethoden kapseln mehrere Methoden zum Tracken des Bestellstatus. Das Tracking erfolgt nach dem folgenden Algorithmus:
- Eine Websocket-Verbindung wird hergestellt.
- Wenn eine Websocket-Verbindung erfolgreich hergestellt wurde und sich der Bestellstatus in
done
odercancel
ändert, endet das Tracking. Wenn eine Websocket-Verbindung fehlschlägt oder die Antwort falsche Daten enthält, wird der Bestellstatus per Short-polling getrackt. - Das Tracking des Bestellstatus wird per Short-polling fortgesetzt. Alle drei Sekunden wird eine einfache HTTP-Bestellstatusanfrage gesendet. Das Tracking endet, wenn sich der Bestellstatus in
done
odercancel
ändert.
Bestellstatus abfragen
Sie können auch den Bestellstatus abfragen, z. B. wenn der Nutzer vom Zahlungsportal zur Anwendung weitergeleitet wird. Verwenden Sie die von der Klasse XPayments
zurückgegebenen Statuswerte, um zu tracken, wann das Zahlungsportal geschlossen wird.
XPayments
-Klasse zurückgegebene Statuswerte signalisieren, ob der Nutzer einen Kaufvorgang im Zahlungsportal abgeschlossen hat, sie sind allerdings nicht identisch mit den Zahlungstransaktionsstatus.Die XPayments
-Klasse kann mit den folgenden Status antworten:
XPayments.Status.COMPLETED
– Der Nutzer hat die Zahlung abgeschlossen und ist zur Anwendung zurückgekehrt.XPayments.Status.CANCELLED
– Der Nutzer hat das Zahlungsportal geschlossen, ohne die Zahlung abzuschließen.XPayments.Status.UNKNOWN
– Bei der Zahlung ist ein Fehler aufgetreten, z. B. weil die Bank die Transaktion abgelehnt hat.
Nutzen Sie die Methode getOrder
aus der Store-Bibliothek, um den aktuellen Zahlungstransaktionsstatus abzurufen. Übermitteln Sie als Parameter die Bestell-ID, die Sie beim Kauf über den Warenkorb, beim One-Click-Kauf oder beim Kauf mit virtueller Währung erhalten haben.
War dieser Artikel hilfreich?
Diese Seite bewerten
Jetzt nicht
Vielen Dank für Ihr Feedback!
Nützliche Links
Letztmalig aktualisiert: 26. März 2024Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.