Interfejs Google Play Voided Purchases API przedstawia listę zamówień, które są powiązane z zakupami unieważnionymi przez użytkownika. Informacje, które można wykorzystać z tej listy, aby wdrożyć system unieważniania, który uniemożliwia użytkownikowi na dostęp do produktów z tych zamówień.
Ten interfejs API dotyczy jednorazowych zamówień w aplikacji i subskrypcji aplikacji.
Zakup można unieważnić na kilka sposobów:
- Użytkownik prosi o zwrot środków za zamówienie.
- Użytkownik anuluje zamówienie.
- Opłata za zamówienie jest zwracana.
Deweloper anuluje zamówienie lub zwróci środki.
Google anuluje zamówienie lub zwróci środki.
Korzystając z tego interfejsu API, pomagasz wszystkim użytkownikom użytkowników aplikacji, zwłaszcza jeśli jest to gra.
Uzyskiwanie dostępu
Aby korzystać z interfejsu Voided Purchases API, musisz mieć uprawnienia do wyświetlania informacje finansowe. Przeprowadzasz autoryzację za pomocą klienta OAuth lub konta usługi. Jeśli używasz konta usługi, włącz opcję „Wyświetl dane finansowe raportów” na tym koncie.
Więcej informacji o uzyskiwaniu autoryzowanego dostępu do interfejsów Google Play Developer API znajdziesz tutaj: następujące przewodniki:
- Konfigurowanie klientów dostępu do interfejsu API
- Dodaj użytkowników konta dewelopera zarządzaj uprawnieniami
Wyświetlanie unieważnionych zakupów
Aby poprosić o listę unieważnionych zakupów, użyj metody GET
. W swojej prośbie
zawierają pełną nazwę pakietu aplikacji, np.
com.google.android.apps.maps
– oraz token autoryzacji,
otrzymane przy uzyskaniu dostępu do interfejsu API.
GET https://www.googleapis.com/androidpublisher/v3/applications/ your_package_name/purchases/voidedpurchases?access_token=your_auth_token
W żądaniu możesz też umieścić następujące parametry, z których każdy jest opcjonalnie:
- startTime
Czas (w milisekundach) od epoki uniksowej, od najstarszej unieważniony zakup, który chcesz widzieć w odpowiedzi. Domyślnie
startTime
jest ustawiony na 30 dni temu.Interfejs API może wyświetlać tylko unieważnione zakupy, które miały miejsce w przeszłości 30 dni. Starsze unieważnione zakupy nie są uwzględnione w odpowiedzi, podanej wartości w polu
startTime
.- endTime
Czas w milisekundach od epoki uniksowej unieważniony zakup, który ma być widoczny w odpowiedzi. Domyślnie
endTime
jest ustawiony na bieżący czas.- maxResults
- Maksymalna liczba unieważnionych zakupów, które pojawiają się w każdej odpowiedzi. Według domyślna wartość to 1000. Pamiętaj, że maksymalna wartość tego parametru to również 1000.
- token
- token kontynuacji z poprzedniej odpowiedzi, który pozwala zobaczyć więcej wyników.
- typ
Typ unieważnionych zakupów, które pojawiają się w poszczególnych odpowiedziach. Jeśli ustawisz wartość 0, zwracane są tylko unieważnione zakupy w aplikacji. Jeśli ma wartość 1, oba te elementy zostaną unieważnione w aplikacji. zakupy i unieważnione subskrypcje zostaną zwrócone. Wartość domyślna to 0.
- includeQuantityBasedPartialRefund
Czy uwzględniać unieważnione zakupy częściowych zwrotów środków za określoną liczbę produktów, które mają zastosowanie tylko w przypadku zakupu wielu sztuk tego samego produktu. Jeśli
true
, dodatkowe unieważnione zakupy mogą zostać zwrócone w drodzevoidedQuantity
który wskazuje kwotę częściowego zwrotu środków za określoną liczbę produktów. wartość domyślna tofalse
.
Odpowiedź to ciąg tekstowy JSON zawierający listę unieważnionych zakupów. Jeśli
są większą liczbą wyników niż liczba określona w parametrze żądania maxResults
, odpowiedź zawiera wartość nextPageToken
, którą można przekazać do
o wyświetlenie kolejnych wyników. Pierwszy wynik na liście wskazuje
najstarszy unieważniony zakup.
{ "tokenPagination": { "nextPageToken": "next_page_token" }, "voidedPurchases": [ { "kind": "androidpublisher#voidedPurchase", "purchaseToken": "some_purchase_token", "purchaseTimeMillis": "1468825200000", "voidedTimeMillis": "1469430000000", "orderId": "some_order_id", "voidedSource": "0", "voidedReason": "4" }, { "kind": "androidpublisher#voidedPurchase", "purchaseToken": "some_other_purchase_token", "purchaseTimeMillis": "1468825100000", "voidedTimeMillis": "1470034800000", "orderId": "some_other_order_id", "voidedSource": "2", "voidedReason": "5" }, ] }
Limity
Interfejs Voided Purchases API ustala następujące limity na poziomie pakietu:
- 6000 zapytań dziennie. (dzień zaczyna się i kończy o północy czasu pacyficznego).
- 30 zapytań w dowolnym 30-sekundowym okresie.
Wytyczne dotyczące żądań wstępnych
Podczas początkowego żądania do interfejsu API możesz zechcieć pobrać wszystkie dostępne dane dotyczące do aplikacji. Chociaż jest to mało prawdopodobne, ten proces może spowodować wykorzystanie Twojego dziennego limitu. Do uzyskać dane o unieważnionych zakupach w bezpieczniejszy, bardziej spójny sposób, sprawdzone metody:
- Użyj wartości domyślnej parametru
maxResults
. Dzięki temu, jeśli używasz całego limitu zapytań na dzień, możesz pobrać szczegóły 6 000 000 unieważnionych zakupów. - Jeśli odpowiedź zawiera wartość w polu
nextPageToken
, przypisz ją do parametrutoken
przy następnym żądaniu.
Sprawdzone metody
Korzystając z tego interfejsu API w swojej aplikacji, pamiętaj, że powodów do unieważnienia zakupu i nie ma jednego rozwiązania, które sprawdzi się we wszystkich przypadkach. Podczas projektowania unieważnienia musisz pamiętać o użytkownikach zasadami i strategiami. W tym celu możesz zastosować te zalecane metody:
- Wykorzystaj ten interfejs API jako jeden z wielu elementów kompleksowej strategii niepożądane zachowanie. Anulowanie dostępu do produktów w aplikacji jest zwykle skuteczniejsze w połączeniu z aplikacją, która ma rozsądne ceny za zakupy w aplikacji, projektowanie aplikacji zniechęcające do niepożądanego zachowania, liczne grono użytkowników, kultura odrzuca takie zachowania, a pomoc szybko i efektywnie kanałów.
- Konfiguruj zasady unieważniania w sposób jednolity, aby zapewnić sprawiedliwe traktowanie wszystkich użytkowników.
- Rozważ utworzenie etapowych zasad na wypadek niepożądanych zachowań. Dla: np. zacząć od ostrzeżeń w aplikacji za wczesne naruszenia, a następnie przekazać jest kontynuacja niepożądanego zachowania użytkownika. W ostateczności możesz całkowicie uniemożliwić użytkownikowi interakcję z aplikacją.
- Przy każdej aktualizacji zasad unieważniania użyj swojego kanał komunikacji, aby poinformować użytkowników o zmianach. Udostępnij użytkownikom na dokładne zrozumienie tych zmian, zanim wpłyną one w Twojej aplikacji.
- Należy udzielać użytkownikom szczerości i informować ich o wszelkich działaniach, takich jak odebranie im dostępu do produktu w aplikacji. Użytkownicy powinni mieć możliwość kwestionować swoje decyzje i powinny one być traktowane uczciwie.
- Monitoruj formularze opinii i fora społeczności, aby dowiedzieć się, co skłania użytkowników do podjęcia decyzji nieodpowiednie zachowanie i sposoby ich prowadzenia. Wykonaj te czynności jako pierwszej linii obrony.