Voided Purchases API

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:

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 drodze voidedQuantity który wskazuje kwotę częściowego zwrotu środków za określoną liczbę produktów. wartość domyślna to false.

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 parametru token 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.