3.3.7
0,59,8
Android
Wenn ich einen Kauf anfordere, validiere ich die Quittung auf meinem Server. Wenn die Validierung fehlgeschlagen ist, möchte ich den Kauf manuell abbrechen können, anstatt die Funktion purchaseUpdatedListener, die jedes Mal ausgelöst wird, wenn ich nicht bestätige Kauf oder Konsumkauf aufrufe.
Wenn ich den Kauf nicht abgeschlossen habe, kann ich den ausstehenden Kauf nicht stornieren. Auf Android muss ich warten, dass es automatisch abgebrochen wird.
Echtes Gerät
Machen Sie einen Kauf und rufen Sie nicht Bestätigungskauf oder Verbrauchskauf an.
Selbst wenn das Ergebnis fehlschlägt, sollten Sie für die abgeschlossene Transaktion immer noch acknowledgePurchase
und consumePurchase
aufrufen. Sie gehen nur nicht logisch vor, z. B. keine Belohnung für Ihre eigene Datenbank. Außerdem sollten Sie consmePurchase
damit es nicht in Ihrer App verbleibt.
@hyochan Wenn ich das tue, wird die Zahlung genehmigt und das Benutzerkonto wird belastet, ohne belohnt zu werden.
@tmjordan Oh, ich meintest . Was ist, wenn Sie logisch vorgehen und dann eine Belohnung geben?
@hyochan Wenn ein Nutzer ein Produkt kauft, wird die angegebene Quittung an Google Server gesendet, um die Quittung zu validieren und den Status des Kaufs
Angenommen, ich habe einen Fehler während des Validierungsprozesses, der nicht vom Google-Server (z. B. meinem Backend) stammt. Daher kann ich die Quittung nicht validieren und möchte den Kauf manuell stornieren, anstatt darauf zu warten, dass er von Google storniert wird ( Während dieser Zeit kann ich keinen weiteren Kauf tätigen, wenn ich nicht aknowledgepurchase oder Consumepurchase anrufe.
Ich weiß nicht, ob es möglich ist. Vielleicht funktioniert der Kaufprozess bei Google so.
Es wäre schön, wenn wir einen Kauf, der noch nicht bestätigt oder verbraucht wurde, manuell stornieren können. In diesem Szenario wird der Benutzer zurückerstattet, wenn die Zahlung genehmigt wurde.
Anstatt jedes Mal den gleichen Kauf auszulösen, bis er von Google storniert wird.
@tmjordan Danke für deine gute Sichtweise. Klingt sehr vernünftig, aber ich bin mir nicht ganz sicher, ob pending
Einkäufe tatsächlich berechnet werden. Ich denke, die pending
Einkäufe sollten nicht einmal berechnet werden, wenn acknowledged
sondern diese sollten entfernt werden. Ich hoffe, wir können weitere Details zu anderen Erfahrungen besprechen.
@hyochan , Gibt es eine finishTransactionIOS
aufrufen und diesen Kauf dann aus dem Kaufverlauf entfernen. Ich weiß nicht, ob es eine andere Möglichkeit gibt, zu überprüfen, ob ein Abonnement noch aktiv ist, aber jetzt überprüfe ich das Ablaufdatum für die letzte Transaktion im Belegverlauf. Wenn ein Kauf noch nicht abgeschlossen wurde, möchte ich nicht, dass er in der Kaufhistorie erfasst wird. Leider passiert im Moment genau das. Und im Gegensatz zu Android wird der unvollständige Kauf nach einiger Zeit nicht storniert und wird nie aufhören, von purchaseUpdateListener
ausgelöst zu werden.
Also habe ich das gleiche Problem auf iOS und Android, ich muss einen Kauf stornieren, der noch nicht abgeschlossen wurde. Und speziell auf ios, wenn dieser Kauf nicht in der Historie erfasst wird, es sei denn, es gibt eine effizientere Möglichkeit, die Gültigkeit eines Abonnements zu überprüfen.
Ich würde gerne ein ähnliches Szenario behandeln
purchaseUpdateListener
wird viele Male ausgelöst, bis finishTransactionIOS aufgerufen wird. Dies ist jedoch nicht das gewünschte Ergebnis. Die Transaktion sollte zu diesem Zeitpunkt abgebrochen werden.Gibt es eine Methode, um die Transaktion abzubrechen?
Hilfreichster Kommentar
@hyochan , Gibt es eine
finishTransactionIOS
aufrufen und diesen Kauf dann aus dem Kaufverlauf entfernen. Ich weiß nicht, ob es eine andere Möglichkeit gibt, zu überprüfen, ob ein Abonnement noch aktiv ist, aber jetzt überprüfe ich das Ablaufdatum für die letzte Transaktion im Belegverlauf. Wenn ein Kauf noch nicht abgeschlossen wurde, möchte ich nicht, dass er in der Kaufhistorie erfasst wird. Leider passiert im Moment genau das. Und im Gegensatz zu Android wird der unvollständige Kauf nach einiger Zeit nicht storniert und wird nie aufhören, vonpurchaseUpdateListener
ausgelöst zu werden.Also habe ich das gleiche Problem auf iOS und Android, ich muss einen Kauf stornieren, der noch nicht abgeschlossen wurde. Und speziell auf ios, wenn dieser Kauf nicht in der Historie erfasst wird, es sei denn, es gibt eine effizientere Möglichkeit, die Gültigkeit eines Abonnements zu überprüfen.