Android APK Top Up API

Die Aufladung kann in drei verschiedenen Umgebungen erfolgen:

  • Android-App des Zahlungsintegrators
  • Mobile Website des Zahlungsintegrators
  • Desktop-Website des Zahlungsintegrators

Unabhängig vom Ablauf übergibt Google die Nutzerinteraktion an die Zahlung Integratorsoftware. Der Zahlungsintegrator implementiert eine vertraute Benutzeroberfläche aber der Ablauf muss speziell auf die Verbesserung der das Guthaben des Nutzers, d. h. der Nutzer muss durch einen Aufladevorgang geleitet werden. anstatt in eine allgemeine Benutzeroberfläche zu wechseln, weiter zu einem Aufladevorgang.

Alle Abläufe führen dazu, dass der Integrator einen TopUpRedirectResponse. Diese Antwort wurde signiert und gesendet zurück an Google.

Die mobile und die Desktop-Website müssen den Web Top Up API Specification Der Android-App-Ablauf muss der Android Top Up API-Spezifikation entsprechen.

Integratoren sollten zur Authentifizierung des Nutzers eine Android-APK-Lösung implementieren. und leite sie dann durch einen Ablauf, in dem sie ihr Guthaben aufladen können. Dieses Die Aufladung ist eine andere Modalität, aber der Zweck der Aufladung die Web-Guthaben erhöhen

Ein Nutzer startet den Vorgang in der Zahlungsintegrator-App über eine Android-Aktivitäten. Der Auflade-Intent kann direkt über eine Play-App aufgerufen werden, in der der Nutzer die einen Kauf tätigen möchten. Um zu verhindern, dass Android Play im Hintergrundwissen müssen, muss der Integrator Folgendes in die das Thema „Aktivität“.

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

Methodendefinition

Der Intent muss die folgenden Attribute haben:

Methodenattribute
Aktion com.google.android.payments.standard.TOPUP_V1
Kategorie android.intent.category.DEFAULT

Anfrage

Felder
gspTopUpRequest TopUpRedirectRequest

Aufladeanfrage.

gspAssociationId string

Enthält eine Kennung, mit der der Integrator nach Anmeldedaten sucht für das Konto, das der Nutzer aufstockt. Dies ist die Verknüpfungs-ID der bei der Kontoverknüpfung in AssociateAccountRequest gesendet wird.

Antwort

Nachdem der Nutzer den Aufladevorgang abgeschlossen hat, muss Ihre Anwendung eine an Google zurückgegeben werden. Wenn die Aufladung erfolgreich ist, erstellen Sie einen Intent und die verschlüsselten codierten gspTopUpResponse undredirectRequestId als Extras hinzufügen. Als Nächstes die Aktivität festlegen in den entsprechenden Ergebniscode ein.

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

Ergebnis

Felder
Ergebnis int

Activity.RESULT_OK
Aufladen erfolgreich.
Activity.RESULT_CANCELED Der Nutzer hat den Vorgang manuell abgebrochen und er sollte abgebrochen werden.
Activity.RESULT_FIRST_USER Das Aufladen ist aus einem schwerwiegenden Grund fehlgeschlagen und der Ablauf sollte wie folgt aussehen: abgebrochen Der IE-Server hat bei der Anmeldung eine HTTP 500-Antwort zurückgegeben.

Extras

Felder
gspTopUpResponse TopUpRedirectResponse

ERFORDERLICH: Antwort zur Nachzahlung. Dieser codierte Wert darf 1 KB nicht überschreiten.
redirectRequestId string

ERFORDERLICH: Die requestId, die in der ursprünglichen bzw. initiierenden Zahlungsanforderung gesendet wurde. Google überprüft, ob dies mit der gesendeten requestId übereinstimmt. Andernfalls schlägt der Vorgang für die vollständige Weiterleitung fehl.

Sonstige Aktivitätsanforderungen

Die Aktivität, die die oben genannte TOPUP_V1-Aktion unterstützt, muss Vergewissern Sie sich außerdem, dass die API-Aufrufer nur von Google-signierten Anwendungen stammen. So wird verhindert, dass andere Apps versuchen, Ihre Aktivitäten aufzurufen und Nutzerdaten abrufen können. Dies erfolgt mithilfe der bereitgestellten StandardPaymentUtils.verifyCallingActivityIsGoogleSigned direkt danach super.onCreate in deinem Aktivität Implementierung.

Beispiel:


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

  ....
}

Alle Aktivitäten, die im Aufladevorgang aufgerufen werden, müssen eine Aktivität bereitstellen. Design mit windowIsTranslucent=true. Dies muss mit dem Das AndroidManifest-Attribut „android:theme“ und nicht Context.setTheme(). Programmgesteuert funktioniert das Design für Fenster nicht Lichtdurchlässigkeit. Google erzwingt, dass die erste gestartete Aktivität nach dieser Muster angewendet werden. Alle Unteraktivitäten, die ebenfalls gestartet werden, müssen jedoch ebenfalls diesem Muster folgen, Muster zu ändern. Andernfalls funktionieren Käufe von Drittanbietern möglicherweise nicht.