Android 疑難排解指南涵蓋下列主題的問題和疑問。
應用程式目前是在測試環境中執行
使用者從「付款詳細資料」對話方塊選擇付款卡片時,可能會看到以下訊息:
應用程式目前是在測試環境中執行,因此交易不會產生實際費用
這個錯誤指出應用程式使用 ENVIRONMENT_TEST,且沒有收到真實的付款憑證,但會在提出要求之後收到個人資訊,例如帳單地址、帳單地址電話號碼、運送地址和電子郵件地址。
要求失敗
最常見的錯誤訊息是 OR_BIBED_06。這個錯誤訊息也會在 UI 中顯示為具有下列文字的對話方塊:
要求失敗
商家 Google Pay 整合功能發生問題。請聯絡商家尋求協助,或改用其他付款方式。
如要深入瞭解這個錯誤,步驟如下:
- 確認電腦已安裝 Android Debug Bridge (ADB)。
- 確保您的裝置已經啟用 USB 偵錯。如需詳細資訊,請參閱偵錯應用程式。
- 將 Android 裝置連接到電腦,或啟動模擬器。
在電腦上的終端機或命令提示字元中執行下列指令:
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_PRODUCTION的WalletOptions環境參數值搭配使用。如要進一步瞭解您需要搭配 Google Pay API 使用的gateway參數,請與您的閘道聯絡。
註冊與存取權
在整合過程中,您可能會遇到下列與註冊和存取權相關的錯誤。如果發生這些錯誤,請參考下列疑難排解建議。
OR_BIBED_07這個 API 需要 Google Play 服務程式庫 8.4 以上版本- 確認執行應用程式的裝置已更新 Google Play 服務。
OR_BIBED_07找不到這個商家資料的金鑰- 如要完成
DIRECTtokenizationSpecificationtype的整合作業,請務必使用 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 功能,必須符合下列條件:
- 您必須實作
createButtonAPI。 - 您必須將
ButtonOptions.buttonType設為buy、long或pay。 - 使用者必須有可用的付款方式,如
CardParameters物件所定義。
- 您必須實作