Android APK Authentication API

驗證可在三種不同的環境中進行:

  • 付款整合商的 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 將包含整合商用來查詢 建立服務帳戶的憑證如果沒有這個標記 變更帳戶識別資訊。

回應

使用者完成驗證後,應用程式需要傳送結果 該要求傳回 Google。如果驗證成功,請建立意圖並新增 將已加密的 gspAuthenticationResponse 做為額外項目。 接著,將活動結果設為適當的結果代碼。

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

結果

欄位
個結果 int

Activity.RESULT_OK
驗證成功。
Activity.RESULT_CANCELED 使用者手動取消流程,應取消流程。
Activity.RESULT_FIRST_USER 驗證失敗因嚴重原因而失敗,流程應 已取消。IE 伺服器於登入時傳回 HTTP 500 回應。

額外內容

欄位
gspAuthenticationResponse AuthenticationResponse

驗證回應。這個編碼值不得超過 1 KB。

其他活動需求

支援上述 AUTHENTICATE_V1 動作的活動必須 也會檢查 API 的呼叫端是否只來自 Google 簽署的應用程式。 這可防止其他應用程式嘗試叫用您的活動, 擷取識別憑證只要使用我們提供的 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 將在收到要求後 模式,但同時啟動的所有子活動也必須符合此 。如果不正確,就可能無法使用第三方開發人員的購買交易。