Die Authentifizierung 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 kann dem Nutzer eine oder sofort zurückkehren, wenn sie bereits über die entsprechenden Daten verfügt. Alle Abläufe führen dazu, dass der Integrator eine AuthenticationResponse erzeugt. Dieses wird signiert und an Google zurückgesendet.
Die Mobil- und Desktop-Websites müssen der WebWeiterleitungs-Authentifizierungs-API entsprechen. Spezifikation, der Android-App-Ablauf muss jedoch den Authentication API-Spezifikation.
Integratoren sollten zur Authentifizierung der Nutzer eine Android-APK-Lösung implementieren. Diese Authentifizierung ist eine andere Modalität, aber der gleiche Zweck wie die Authentifizierung durch das Web Authentifizierung.
Ein Nutzer authentifiziert sich über eine Android-App Aktivität: Der Authentifizierungs-Intent wird während der Kontoverknüpfung und für Herausforderungen der Nutzenden. Um zu verhindern, dass Android Play im Hintergrund während der Authentifizierung erklärt werden muss, muss der Integrator im Aktivitätsthema folgen.
<item name="android:windowIsTranslucent">true</item>
Methodendefinition
Der Intent muss die folgenden Attribute haben:
Methodenattribute | |
---|---|
Aktion |
com.google.android.payments.standard.AUTHENTICATE_V1 |
Kategorie | android.intent.category.DEFAULT |
Anfrage
Felder | |
---|---|
gspAuthenticationRequest
|
AuthenticationRequest
Authentifizierungsanfrage. |
gspAssociationId
|
string
Falls vorhanden, enthält es eine Kennung, die der Integrator verwendet, um nachzusehen, Anmeldedaten für den angeforderten Nutzer eingeben. Ist dies nicht der Fall, Der Nutzer hat die Möglichkeit, die Kontoidentifikation zu ändern. |
Antwort
Nachdem der Nutzer die Authentifizierung abgeschlossen hat, muss Ihre Anwendung ein Ergebnis senden an Google zu senden. Wenn die Authentifizierung erfolgreich ist, erstellen Sie einen Intent und fügen Sie die verschlüsselte codierte gspAuthenticationResponse als Extrahierung an. Legen Sie als Nächstes für das Aktivitätsergebnis den entsprechenden Ergebniscode fest.
...
result.setExtra("gspAuthenticationResponse", gspAuthenticationResponse);
setResult(Activity.RESULT_OK, result);
...
finish();
Ergebnis
Felder | |||||||
---|---|---|---|---|---|---|---|
Ergebnis |
int
|
Extras
Felder | |
---|---|
gspAuthenticationResponse |
AuthenticationResponse
Authentifizierungsantwort. Dieser codierte Wert darf 1 KB nicht überschreiten. |
Sonstige Aktivitätsanforderungen
Die Aktivität, die die oben genannte AUTHENTICATE_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
Identitätstokens abrufen können. Dies erfolgt mithilfe der bereitgestellten
StandardPaymentUtils.verifyCallingActivityIsGoogleSigned
direkt nach super.onCreate
in Ihrem
Aktivität
Implementierung.
Beispiel:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);
....
}
Alle im authenticate
-Ablauf aufgerufenen Aktivitäten müssen eine Aktivität angeben
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.