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