Interfejs API doładowania pakietu APK na Androida

Doładowanie może nastąpić w 3 różnych środowiskach:

  • Aplikacja integratora płatności na Androida
  • Witryna mobilna integratora płatności
  • Witryna integratora płatności na komputery

Niezależnie od procesu płatności Google przekazuje interakcję użytkownika z płatnością. z oprogramowania integratora. Integrator płatności wdraża interfejs, który jest dobrze znany. ale cały proces musi być specjalnie ukierunkowany na dodatkowe saldo użytkownika, co oznacza, że powinien on być skierowany przez proces doładowania a nie w interfejsie ogólnego przeznaczenia, przejdź do procedury doładowania.

Wszystkie przepływy powodują, że integrator generuje TopUpRedirectResponse. Ta odpowiedź została podpisana i wysłana z powrotem do Google.

Witryny w wersji na komórki i komputery muszą spełniać wymagania Specyfikacja interfejsu Web Top Up API, a proces w aplikacji na Androida musi być zgodny ze specyfikacją interfejsu API doładowywania Androida.

Integrator powinien wdrożyć rozwiązanie APK na Androida, aby uwierzytelnić użytkownika i kieruj ich przez proces, w którym mogą doładować saldo. Ten doładowanie ma inny sposób, ale ten sam cel co doładowanie Doładowanie przez stronę.

Użytkownik rozpoczyna proces w aplikacji integratora płatności przez Aktywność na Androidzie. Intencję doładowania można wywołać bezpośrednio z aplikacji w Google Play, w której którzy mają zamiar dokonać zakupu. Aby zapobiec zamknięciu Google Play przez Androida podczas doładowywania, integrator musi w polu temat aktywności.

<item name="android:windowIsTranslucent">true</item>

Definicja metody

Intencja musi mieć te właściwości:

Właściwości metody
Działanie com.google.android.payments.standard.TOPUP_V1
Kategoria android.intent.category.DEFAULT

Żądanie

Pola
gspTopUpRequest TopUpRedirectRequest

Prośba o doładowanie.

gspAssociationId string

Zawiera identyfikator używany przez integratora do wyszukiwania danych logowania na koncie doładowywanym przez użytkownika. To jest identyfikator powiązania wysyłany podczas łączenia kont w żądaniu AssociateAccountRequest.

Odpowiedź

Gdy użytkownik zakończy doładowanie, aplikacja musi wysłać do Google. Jeśli doładowanie się powiedzie, utwórz intencję i dodaj zaszyfrowane, zakodowane wartości gspTopUpResponse i redirectRequestId jako dodatki. Następnie skonfiguruj aktywność do odpowiedniego kodu wyniku.

...
result.setExtra("gspTopUpResponse", gspTopUpResponse);
result.setExtra("redirectRequestId", redirectRequestId);
setResult(Activity.RESULT_OK, result);
...
finish();

Wynik

Pola
wynik int

Activity.RESULT_OK
Doładowanie powiodło się.
Activity.RESULT_CANCELED Użytkownik ręcznie anulował przepływ i powinien zostać przerwany.
Activity.RESULT_FIRST_USER Doładowanie nie powiodło się z powodu krytycznego – przepływ powinien być Przerwano. Serwer IE podczas logowania zwrócił odpowiedź HTTP 500.

Dodatkowe treści

Pola
gspTopUpResponse TopUpRedirectResponse

WYMAGANE: odpowiedź na doładowanie. Ta zakodowana wartość nie może przekraczać 1 KB.
redirectRequestId string

WYMAGANE: kwota requestId wysłana w pierwotnym lub inicjowanym żądaniu płatności za przekierowanie. Google zweryfikuje zgodność z wysłanym requestId. Jeśli adres nie będzie zgodny, proces Pełnego przekierowania zakończy się niepowodzeniem.

Inne wymagania dotyczące aktywności

Działanie obsługujące powyższe działanie TOPUP_V1 musi obsługiwać działanie wymienione powyżej. sprawdź też, czy elementy wywołujące interfejs API pochodzą wyłącznie z aplikacji podpisanych przez Google. Dzięki temu inne aplikacje nie będą próbowały wywoływać Twojej aktywności i pobierania danych użytkownika. Można to zrobić za pomocą dołączonego StandardPaymentUtils.verifyCallingActivityIsGoogleSigned zaraz za super.onCreate w Aktywność implementacji.

Oto przykład:


@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);

  ....
}

Wszystkie działania wywoływane w ramach procesu doładowywania muszą dostarczać działanie motyw z windowIsTranslucent=true. Należy to zrobić za pomocą atrybutu AndroidManifest android:theme bez użycia komponentu Context.setTheme(). Automatyczne ustawienie motywu nie działa prawidłowo w przypadku okna przezroczystość. Google będzie egzekwować, że pierwsze uruchomienie działania będzie odbywać się po tym ale wszystkie uruchomione działania podrzędne również muszą być z nim zgodne wzorcem. W przeciwnym razie zakupy od zewnętrznych deweloperów mogą nie działać.