疑難排解

Android 疑難排解指南涵蓋下列主題的問題和疑問。

應用程式目前是在測試環境中執行

使用者從「付款詳細資料」對話方塊選擇付款卡片時,可能會看到以下訊息:

應用程式目前是在測試環境中執行,因此交易不會產生實際費用

這個錯誤指出應用程式使用 ENVIRONMENT_TEST,且沒有收到真實的付款憑證,但會在提出要求之後收到個人資訊,例如帳單地址、帳單地址電話號碼、運送地址和電子郵件地址。

要求失敗

最常見的錯誤訊息是 OR_BIBED_06。這個錯誤訊息也會在 UI 中顯示為具有下列文字的對話方塊:

要求失敗
商家 Google Pay 整合功能發生問題。請聯絡商家尋求協助,或改用其他付款方式。

如要深入瞭解這個錯誤,步驟如下:

  1. 確認電腦已安裝 Android Debug Bridge (ADB)
  2. 確保您的裝置已經啟用 USB 偵錯。如需詳細資訊,請參閱偵錯應用程式
  3. 將 Android 裝置連接到電腦,或啟動模擬器。
  4. 在電腦上的終端機或命令提示字元中執行下列指令:

    adb logcat -s WalletMerchantError

回應會指出錯誤原因。舉例來說,您可能會看到:

02-26 17:41:28.133 14593 14593 W WalletMerchantError: Error in loadPaymentData: This
merchant profile does not have access to this feature.

您需要採取來解決問題的動作取決於錯誤訊息。

閘道有效性

在整合過程中,您可能會遇到下列與閘道有效性相關的錯誤。如果發生這些錯誤,請參考下列疑難排解建議。

OR_BIBED_06 不明閘道 'yourgateway'
Google Pay API 目前不支援您在 tokenizationSpecification 中指定的 gateway 屬性值。如要進一步瞭解閘道 ID 和相關聯的欄位 (例如 gatewayMerchantId),請與閘道聯絡。
OR_BIBED_06 閘道「範例」無法在正式上線模式中使用。
範例閘道的屬性值僅供測試使用,無法與設定為 WalletConstants.ENVIRONMENT_PRODUCTIONWalletOptions 環境參數值搭配使用。如要進一步瞭解您需要搭配 Google Pay API 使用的 gateway 參數,請與您的閘道聯絡。

註冊與存取權

在整合過程中,您可能會遇到下列與註冊和存取權相關的錯誤。如果發生這些錯誤,請參考下列疑難排解建議。

OR_BIBED_07 這個 API 需要 Google Play 服務程式庫 8.4 以上版本
確認執行應用程式的裝置已更新 Google Play 服務。
OR_BIBED_07 找不到這個商家資料的金鑰
如要完成 DIRECT tokenizationSpecification type 的整合作業,請務必使用 Google Pay 和錢包主控台向 Google 註冊公開加密金鑰。
OR_BIBED_07 這個商家檔案無法使用這項功能。
您尚未完成 Google Pay API 應用程式註冊程序。詳情請參閱「申請正式版存取權」。
OR_BIBED_10 這個商家位於不接受 Google Pay 的區域。
Google Pay 服務尚未在該區域推出。如要瞭解詳情,請參閱 支援的國家/地區清單
OR_BIBED_11 這個商家尚未完成註冊,無法使用 Google Pay API。 請前往控制台 (https://pay.google.com/business/console) 進行驗證。
您尚未完成 Google Pay API 應用程式註冊程序。詳情請參閱「申請正式版存取權」。
OR_BIBED_12 這項 Google Pay API 整合功能已停用。如需詳細資訊,請與我們聯絡 (https://developers.google.com/pay/api/faq#how-to-get-support)。
如要進一步瞭解重新啟用帳戶的 Google Pay API 必須完成哪些步驟,請
與我們聯絡
OR_BIBED_13簽署金鑰指紋{11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:11:22:33:44:55}與我們為這個應用程式記錄的指紋不符。
只有在 APK 使用正確的簽署金鑰簽署時,Google Pay API 才能在正式版模式中使用。詳情請參閱「簽署應用程式」。

直接商家

在整合過程中,您可能會遇到下列與直接商家相關的錯誤。如果發生這些錯誤,請參考下列疑難排解建議。

驗證簽章
如果 merchantId 有誤,您可能會遇到簽名驗證錯誤。 當您在 TEST 環境中使用 Tink paymentmethodtoken 程式庫時,就可能會發生這種情況。如要避免發生這個問題,請將下列程式碼的 <您的商家 ID>YOUR_MERCHANT_ID替換成
.recipientId("merchant:YOUR_MERCHANT_ID")
無法解密代碼
如果您使用 Tink paymentmethodtoken 程式庫解密權杖,請注意下列事項:
  • 確認 Google Pay API 回應環境與 Tink 環境相對應。舉例來說,如果 Google Pay API 回應是由 ENVIRONMENT_TEST 傳回,則 Tink 會指向測試環境來進行解密。
  • 在系統將 Google Pay API 回應傳送至 Tink 之前,請勿修改相關內容。另外,請一併確保您傳送的是 Google Pay API 回應所傳回的完整代碼。詳情請參閱以下注意事項:
  • 確認您擁有的私密金鑰與您先前透過 Google 註冊的公開金鑰相關聯。
在 Windows 系統中產生公開和私密金鑰組
如果您使用 Windows 系統,並且希望根據 使用 OpenSSL 產生私密與公開金鑰組中提及的步驟操作,請確認您已經電腦上安裝 Cygwin,這樣您才能執行 Linux 指令。

Android WebView

OR_BIBED_15 由於這個應用程式使用 WebView,Google Pay 無法正確載入。 應用程式開發人員必須按照說明操作,Google Pay 才能在 Android WebView 中正常運作。
按照操作說明啟用 Android WebView 的 Google Pay API。

CardInfo

什麼是 CardInfo 功能?
Google Pay 會向消費者指出 Google Pay 付款按鈕連結了信用卡,並顯示發卡機構品牌和卡片末四碼。
為什麼我的實作項目沒有顯示 CardInfo 功能?

如要使用 CardInfo 功能,必須符合下列條件: