[x] I have read an installation guide
[x] I have read a linking guide and checked that everything is OK like in manual linking guide
[x] I know that before using tipsi-stripe I need to set options for my app as described in usage guide
Trying to open Google Pay in release version fails with the message 'The merchant is not enabled for Google Pay'. In dev mode everything works fine.
I downloaded the release version directly from an apk file, NOT via the Play Store, so that might be the problem.
Otherwise, I guess I have to add the merchantId somewhere in my code, but the docs don't mention anything.
tipsi-stripe version: 7.5.0tipsi-stripe version where the issue was not reproduced (if applicable): N/Acom.google.firebase:firebase-core version: 16.0.6com.google.android.gms:play-services-base version: 16.0.1For Android, please provide the following sections from android/app/build.gradle:
Please remember that with sample code it's easier to reproduce the bug and it's much faster to fix it.
This is how I set stripe options:
stripe.setOptions({
publishableKey: AppConfig.STRIPE_PUBLIC_KEY,
merchantId: Platform.OS === 'ios' ? AppConfig.APPLE_PAY_MERCHANT_ID : AppConfig.GOOGLE_PAY_MERCHANT_ID,
androidPayMode: __DEV__ ? 'test' : 'production',
})
This is how I the function I use to request payment:
const requestPay = async () => {
try {
const items = [{
label: `Some item`,
amount: `10.00`,
}]
const options = Platform.select({
ios: {
currencyCode: 'EUR',
countryCode: 'de',
shippingType: 'store_pickup',
},
android: {
total_price: `${amountToPay}`,
currency_code: 'EUR',
line_items: [],
},
})
const token = await stripe.paymentRequestWithNativePay(options, items)
await stripe.completeNativePayRequest()
handleNativePayment({
...token,
paymentType: Platform.OS === 'ios' ? 'native-apple-pay' : 'native-google-pay',
})
} catch (error) {
console.log('Error requesting native pay:', error)
stripe.cancelNativePayRequest()
}
}
Did you manage to resolve this? Also having the same issue.
@tomrevansecho I haven't gotten it working yet but I think this message appears in release mode because Google hasn't approved our merchant ID for production yet.
If you go take a look at the very bottom of the integration checklist, there is a link to request production access. I submitted a request and am waiting for approval. I hope this will solve this issue.
Hi @tomrevansecho, @LaVielle is right, you need to get approval from Google team by submitting the form from integration checklist, they will contact email from your request and ask for required information, builds (test and then production builds) and then you will be able to start accepting production payments
Published more thorough doc for this process: https://tipsi.github.io/tipsi-stripe/docs/google-pay.html
The error goes away once the Google Payment API team accepted our request.
Thanks @cybergrind for better docs :)
Closing this issue.
@LaVielle How long did it take for them to respond after submitting the request?
@Marcusg62 I don't remember exactly but the whole exchange took a few days, maybe a week. (They replied, we needed to adjust something, then waiting...)
Quick question, for Android, you are using AppConfig.GOOGLE_PAY_MERCHANT_ID. However, when I asked for Gpay support staff, they told me GPay doesnt need any merchant ID to be provided.
Also, I'm in this topic since I'm facing same issue, The merchant is not enabled for Google Pay.
https://github.com/jonasbark/flutter_stripe_payment/issues/127
I had the same issue (8.0.0-beta10) running in test environment and realized I had put
<meta-data
android:name="com.google.android.gms.wallet.api.enabled"
android:value="true" />
into the manifest directly instead of _the application_ section of android/app/src/main/AndroidManifest.xml... See https://tipsi.github.io/tipsi-stripe/docs/google-pay.html
@zeromaro I had the same query, I checked this------> link, and focused on the part Check the returned error details for more information.
In my error Log, I found:- GPay payWithGpay error:----> loadPaymentData failed. Error code: 405
There are many reasons as to why this error can occur, to find them :-
Make sure that your device is connected to System and the system has adb installed. Then:-
in your terminal, type:- adb -d logcat -s WalletMerchantError, and then in the log search for Error in loadPaymentData
I got Signing key fingerprints {*******} do not match our records for this app. which means that i had to use the signed apk, not react-native run-android. you can find your error-----> here
@zeromaro I had the same query, I checked this------> link, and focused on the part
Check the returned error details for more information.
In my error Log, I found:-GPay payWithGpay error:----> loadPaymentData failed. Error code: 405
There are many reasons as to why this error can occur, to find them :-
Make sure that your device is connected to System and the system has adb installed. Then:-
in your terminal, type:-adb -d logcat -s WalletMerchantError, and then in the log search forError in loadPaymentData
I gotSigning key fingerprints {*******} do not match our records for this app.which means that i had to use the signed apk, notreact-native run-android. you can find your error-----> here
Alternatively, Opening LogCat from the visual studio while debugging and searching for WalletMerchantError showed the error too.

@LaVielle and @cybergrind I'm also getting "The merchant is not enabled for google pay" issue in production environment .Can you give me a link to production setup to google pay.
In Test mode is working fine, But "production" mode getting that issue. So can you help to resolve this
@LaVielle and @cybergrind I'm also getting "The merchant is not enabled for google pay" issue in production environment .Can you give me a link to production setup to google pay.
In Test mode is working fine, But "production" mode getting that issue. So can you help to resolve this
I had to do this for production which took weeks:
https://developers.google.com/pay/api/web/guides/test-and-deploy/request-prod-access
@suresh1502067 you can follow this guide https://tipsi.github.io/tipsi-stripe/docs/google-pay.html
The error goes away once the Google Payment API team accepted our request.
Thanks @cybergrind for better docs :)
Closing this issue.
@cybergrind , Can you please tell that how we make request to google payment api team ?
After that, you need to submit a production request form from the bottom of the page.
Most helpful comment
@zeromaro I had the same query, I checked this------> link, and focused on the part
Check the returned error details for more information.In my error Log, I found:-
GPay payWithGpay error:----> loadPaymentData failed. Error code: 405There are many reasons as to why this error can occur, to find them :-
Make sure that your device is connected to System and the system has adb installed. Then:-
in your terminal, type:-
adb -d logcat -s WalletMerchantError, and then in the log search forError in loadPaymentDataI got
Signing key fingerprints {*******} do not match our records for this app.which means that i had to use the signed apk, notreact-native run-android. you can find your error-----> here