stripe-react-native icon indicating copy to clipboard operation
stripe-react-native copied to clipboard

Google Pay not working if the app is downloaded from Google Play Store?

Open samjayhk opened this issue 2 years ago • 4 comments

Hi all,

I can't sure if this question should be asked to Stripe, but would appreciate someone else help....

On August 4th, my app has been successfully approved by Google Pay API Teams and has shown as "active" in the app list, so when trying to run the production build (using stripe live publishable key and testEnv: false in initGooglePay()), all problems did not occur, the payment was successfully made by Google Pay.

Screenshot 2022-08-09 at 12 29 22 PM

But when testing the same behaviour, the app download and install from the Play Store had an error of [OR_BIBED_07], and it can be seen from the logcat that the related error originated from [dbl.b: Unexpected response code 500 for https:// payments-pa.googleapis.com/payments/apis-secure/ui2/buyflowservice/initialize].

If I recall correctly, the error was caused by the app not being approved or in the process of being approved by the Google Pay team. But obviously this may not be the only reason, because my app was approved on August 4th, and that why I can successfully test the production version of the APK.

I can be absolutely sure that the version available on Google Play is the same as the production version APK I used for testing, the only difference may be that the app signing is not the same, because the Play Store will re-sign the app before it is released on Google Play Store. This is the only difference I can think of....

Although the problem may be due to the different signing, I have not found the relevant configuration in the Google Pay Console ....Actually, the Google Pay Console never asks for the relevant SHA-1/SHA-256 data either.

I also have consulted with Google Pay Support on this issue, but they just replied that my app has been approved, no other suggestions....

<meta-data
            android:name="com.google.android.gms.wallet.api.enabled"
            android:value="true" />

Here is the initStripe(),

initStripe({
  publishableKey: STRIPE_PUBLISHABLE_KEY,
  merchantIdentifier: APPLE_PAY_MERCHAT_ID,
  urlScheme: APPLE_PAY_URL_SCHEME
});

Here is the initGooglePay(),

 initGooglePay({
            testEnv: false,
            merchantName: COMPANY_NAME,
            countryCode: COUNTRY_CODE,
            existingPaymentMethodRequired: false,
            isEmailRequired: true,
 })

and the presentGooglePay(),

presentGooglePay({
            clientSecret: response.info.paymentIntent,
            forSetupIntent: false,
})

I am wonder if anyone has experience with a similar problem? Thanks a lot!🧐

samjayhk avatar Aug 09 '22 04:08 samjayhk

In order to explain the problem more clearly, the following is the data in "App bundle explorer" (a function of Google Play Console), the green box is the APK file signed by Upload Key (aka signed by Production .keystore), the red box is the APK file signed by App Signing Key (aka signed by Play Store).

Only the APK file in the green box can successfully pop up the Google Pay payment sheet, while the red box shown the OR_BIBED_07 error. So the problem is most likely due to the different signing? But Google Pay never said that SHA-1/SHA-256 signing can be set there?

Screenshot 2022-08-09 at 3 14 50 PM

samjayhk avatar Aug 09 '22 07:08 samjayhk

@samjayhk this looks like a duplicate of https://github.com/stripe/stripe-react-native/issues/730 to me, it might make sense to ask there.

Are you sure the version of the app you are downloading from google pay is the correct one? Sometimes Google can take a few days to begin rolling out the new version. I believe asking Google for further clarification would be best here since that's where the error is originating from

charliecruzan-stripe avatar Aug 09 '22 21:08 charliecruzan-stripe

@samjayhk this looks like a duplicate of #730 to me, it might make sense to ask there.

Are you sure the version of the app you are downloading from google pay is the correct one? Sometimes Google can take a few days to begin rolling out the new version. I believe asking Google for further clarification would be best here since that's where the error is originating from

Hello,

I can be sure that all the codings are exactly the same except the signing is different, so the situation in #730 mention is not the only reason for the [OR_BIBED_07], as I mentioned above.

Also, I have contacted Google Pay Support Teams again regarding this issue and they said they have referred the issue to the internal team to follow up.

Let us see whats the problem going on.

samjayhk avatar Aug 11 '22 09:08 samjayhk

Great, thanks so much for the update! Hopefully the google pay support team sorts this out easily and it doesn't require any changes on your end

charliecruzan-stripe avatar Aug 11 '22 17:08 charliecruzan-stripe

Hi @samjayhk , any update from Google Play?

charliecruzan-stripe avatar Aug 22 '22 18:08 charliecruzan-stripe

Hi @samjayhk , any update from Google Play?

hello, we didn't got any response from Google, so we decided to give up Google Pay. It's seem they can't check the signature problem with Google Play :(

samjayhk avatar Aug 23 '22 06:08 samjayhk

@samjayhk

can you please tell me the steps for approving the app from Google Pay API Teams I'm stuck over there and not able to resolve it

like you can share reference links or you can guide me on how to resolve it.

c-info avatar Oct 14 '22 06:10 c-info

Hello @c-info ,

We didn't resolve this issue, so we removed the functionality of Google Pay.

But from what I can find, the problem is related to the apps signing authentication problem of Google Play and Google Pay, but the responsible teams of the two systems seem to be unable to confirm the problem with each other.

So it looks like it's going to be difficult to get help from Google Pay Support Team, and they're just blaming the issue on stripe-react-native.

Of course, I have no way of knowing whether the signing authentication problem is from stripe-react-native or Google Pay, in fact, as far as I know, apps (or libraries) will not be responsible for the operation of the signing key.

@charliecruzan-stripe , did you get any ideas from this issue? Thanks!

samjayhk avatar Oct 14 '22 07:10 samjayhk

The only correlation this could have to stripe-react-native is if you're using the wrong publishable key (a test key when in production, or vice versa), otherwise I'm not sure how any part of our implementation could cause this error. From other issues with the same error message, it was up to Google Play to unblock them. I'm sorry you're not getting a lot of information/guidance from Google Play, though. If you would like to loop me in on the thread you have with them, feel free to: [email protected]

charliecruzan-stripe avatar Oct 14 '22 17:10 charliecruzan-stripe