인증은 다음 세 가지 환경에서 진행할 수 있습니다.
- 결제 통합업체의 Android 앱
- 결제 통합업체의 모바일 웹사이트
- 결제 통합업체의 데스크톱 웹사이트
Google은 절차와 관계없이 사용자 상호작용을 결제팀에 넘겨줍니다. 소프트웨어입니다 결제 통합업체는 사용자에게 결제 수단에 액세스할 수 있는 인터페이스를 구현하거나 이미 적절한 데이터가 있으면 즉시 반환하세요. 모든 흐름에서 통합업체가 AuthenticationResponse를 생성합니다. 이 서명되어 Google로 다시 전송됩니다.
모바일 및 데스크톱 웹사이트는 WebRedirect Authentication API를 따라야 합니다. Android 앱 흐름은 Android Authentication API 사양.
통합자는 Android APK 솔루션을 구현하여 사용자를 인증해야 합니다. 이 인증은 다른 형식이지만 목적은 인증은 웹 인증 및 인증에 대해 자세히 알아보세요.
사용자가 Android 활동. 인증 인텐트는 계정 연결 도중 그리고 있습니다. 다음에서 Android가 Play를 종료하지 못하게 하려면 통합 업체는 인증 과정 중에 확인할 수 있습니다.
<item name="android:windowIsTranslucent">true</item>
메서드 정의
인텐트에는 다음 속성이 있어야 합니다.
메서드 속성 | |
---|---|
작업 |
com.google.android.payments.standard.AUTHENTICATE_V1 |
카테고리 | android.intent.category.DEFAULT |
요청
필드 | |
---|---|
gspAuthenticationRequest
|
AuthenticationRequest
인증 요청입니다. |
gspAssociationId
|
string
ID가 있는 경우 여기에는 통합업체가 데이터를 확인하는 데 사용하는 식별자가 포함됩니다. 사용자 인증 정보를 만들 수 있습니다 이것이 없는 경우, 사용자가 계정 ID를 변경할 수 있습니다. |
응답
사용자가 인증을 완료하면 애플리케이션이 결과를 전송해야 합니다. Google에 다시 보냅니다. 인증에 성공하면 인텐트를 만들고 추가로 인코딩한 gspAuthenticationResponse를 추가합니다. 다음으로, 활동 결과를 적절한 결과 코드로 설정합니다.
...
result.setExtra("gspAuthenticationResponse", gspAuthenticationResponse);
setResult(Activity.RESULT_OK, result);
...
finish();
결과
필드 | |||||||
---|---|---|---|---|---|---|---|
결과 |
int
|
추가
필드 | |
---|---|
gspAuthenticationResponse |
AuthenticationResponse
인증 응답입니다. 이 인코딩된 값은 1KB를 초과할 수 없습니다. |
기타 활동 요구사항
위에서 언급한 AUTHENTICATE_V1
작업을 지원하는 활동은
API 호출자가 Google이 서명한 애플리케이션에서만 온 것인지도 확인해야 합니다.
이렇게 하면 다른 앱이 활동을 호출하려고 하는 것을 방지하고
ID 토큰을 가져올 수 있습니다 이렇게 하려면 제공된
StandardPaymentUtils.verifyCallingActivityIsGoogleSigned
super.onCreate
바로 다음에
활동
있습니다.
다음은 샘플입니다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);
....
}
authenticate
흐름 내에서 호출된 모든 활동은 활동을 제공해야 합니다.
windowIsTranslucent=true
가 있는 테마입니다. 이 작업은
AndroidManifest android:theme 속성만 포함하고 Context.setTheme()
를 사용하지 않습니다.
프로그래매틱 방식으로 테마 설정이 창에 제대로 작동하지 않음
있습니다. Google은 첫 번째 활동이 실행될 때
패턴에 해당하며 동시에 실행되는 모든 하위 활동도
학습합니다. 그렇지 않은 경우 서드 파티 개발자의 구매가 작동하지 않을 수 있습니다.