我正在嘗試使用Android Pay進行測試付款。到目前爲止,我已經配置了我的設備,基於此answer測試,我在我的設備配置在Android應用卡,並根據此代碼:「payMaskedWallet」中的Android Pay錯誤
Wallet.Payments.isReadyToPay(mGoogleApiClient, IsReadyToPayRequest.newBuilder()
.addAllowedCardNetwork(WalletConstants.CardNetwork.VISA)
.addAllowedCardNetwork(WalletConstants.CardNetwork.MASTERCARD)
.build())
.setResultCallback(
booleanResult -> {
if (booleanResult.getStatus().isSuccess()) { // says true
...
建立基於這些準則我的榜樣
private void initGoogleApi() {
mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
.addOnConnectionFailedListener(this)
.enableAutoManage(getActivity(),0, this)
.addApi(Wallet.API, new Wallet.WalletOptions.Builder()
.setEnvironment(WalletConstants.ENVIRONMENT_TEST)
.setTheme(WalletConstants.THEME_LIGHT)
.build())
.build();
}
然後:
private void initAndroidPayView() {
mWalletFragment = (SupportWalletFragment) getActivity().getSupportFragmentManager()
.findFragmentByTag(WALLET_FRAGMENT_ID);
if (mWalletFragment == null) {
// Wallet fragment style
WalletFragmentStyle walletFragmentStyle = new WalletFragmentStyle()
.setBuyButtonText(WalletFragmentStyle.BuyButtonText.BUY_WITH)
.setBuyButtonWidth(WalletFragmentStyle.Dimension.MATCH_PARENT);
// Wallet fragment options
WalletFragmentOptions walletFragmentOptions = WalletFragmentOptions.newBuilder()
.setEnvironment(WalletConstants.ENVIRONMENT_TEST)
.setFragmentStyle(walletFragmentStyle)
.setTheme(WalletConstants.THEME_DARK)
.setMode(WalletFragmentMode.BUY_BUTTON)
.build();
// Initialize the WalletFragment
WalletFragmentInitParams.Builder startParamsBuilder =
WalletFragmentInitParams.newBuilder()
.setMaskedWalletRequest(generateMaskedWalletRequest())
.setMaskedWalletRequestCode(MASKED_WALLET_REQUEST_CODE);
//.setAccountName("Google I/O Codelab");//https://developers.google.com/android/reference/com/google/android/gms/wallet/fragment/WalletFragmentInitParams.Builder
mWalletFragment = SupportWalletFragment.newInstance(walletFragmentOptions);
mWalletFragment.initialize(startParamsBuilder.build());
// Add the WalletFragment to the UI
getActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.androidPayContainer, mWalletFragment, WALLET_FRAGMENT_ID)
.commit();
}
}
我現在用的是
PaymentMethodTokenizationType.NETWORK_TOKEN
和我產生的公鑰寫在GitHub庫現在
,當我進行支付我得到的onActivityResult此錯誤代碼:10
在我看到的只是這個錯誤消息的設備:
Request Failed An unexpected error has occurred. Please try again later.
當我在錯誤對話框中按下OK我得到這個日誌:
06-01 12:18:05.739 11386 11386 W WalletMerchantError: Error in loadMaskedWallet: Did you forget the set Android Pay testing environment to PROD?
我也嘗試將變量更改爲生產但仍然是相同的錯誤。 有沒有人有任何解決方案,或者我真的需要嘗試以後?
是的,我已經做到了,也只是爲了確保我試圖谷歌的例子,我已經開了這個問題:https://github.com/android-pay/androidpay-quickstart/issues/31 –