Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[iOS] Apple Pay is not accessible when being reviewed for App Store #1273

Closed
jsindos opened this issue Jan 25, 2023 · 7 comments
Closed

[iOS] Apple Pay is not accessible when being reviewed for App Store #1273

jsindos opened this issue Jan 25, 2023 · 7 comments
Labels
question Further information is requested

Comments

@jsindos
Copy link

jsindos commented Jan 25, 2023

Describe the bug

Hi guys, I'm not sure if this is the right place to post this, but I thought I would give it a shot to see if anyone else has had a similar issue.

I've had Apple Pay working for many months now through this SDK while I've been developing an app. I've finally submitted the app to the App Store for review, however, Apple Pay appears to not be working on the device used for review.

My device

image

Device used for review

image

I have submitted a Technical Support Incident with Apple to see if I can get additional diagnostic information, and will post any additional information here once they respond. In the meantime, I was wondering if anyone has had a similar issue, or could point me in a direction to help debug this issue?

My config for initPaymentSheet

stripe.initPaymentSheet({
  customerId: customer,
  customerEphemeralKeySecret: ephemeralKey,
  paymentIntentClientSecret: paymentIntent.client_secret,
  customFlow: true,
  merchantDisplayName: 'Pop',
  applePay: {
    merchantCountryCode: 'AU'
  },
  merchantCountryCode: 'AU',
  style: 'automatic',
  googlePay: {
    merchantCountryCode: 'AU',
    testEnv: true // use test environment
  },
  testEnv: true,
  // primaryButtonColor: theme.colors.primary,
  returnURL: 'stripe-example://stripe-redirect',
  defaultBillingDetails: {
    address: {
      country: 'AU'
    }
  }
})

The device I use is an iPhone 7, and I've also successfully tested on an iPhone 11 simulator. I'm planning to test on additional devices later today.

@charliecruzan-stripe
Copy link
Collaborator

Hey @jsindos ! When testing on your device, are you testing with the TestFlight build that's being reviewed? Or a local build? One thing I'm wondering is if you provide different values for things like Bundle ID when building for release vs local dev?

I would double-check that you've gone through steps 1-4 on this docs page https://stripe.com/docs/apple-pay?platform=react-native

@charliecruzan-stripe charliecruzan-stripe added the question Further information is requested label Jan 25, 2023
@jsindos
Copy link
Author

jsindos commented Jan 26, 2023

Hey @charliecruzan-stripe, thanks so much for replying.

Yeah, I am using the latest TestFlight build when testing on my iPhone 7, which is the same build that I submitted for the review. So this should be the same Bundle ID on both devices.

I've just tested on an additional device (iPhone 11 Pro) using TestFlight, and Apple Pay also works.

One thing I'm thinking, is perhaps Apple Pay is configured to only work from within Australia (where I am located). Do you know if this is a possibility? I have a friend in Germany who is going to test it on his phone and get back to me.

I can also send diagnostic information from the reviewer's device the next time they test the app. I can use hooks from this library and other pieces of info and log it to my server (such as that one below). Hopefully this will give enough information to debug the issue. I'll post more here when I get more info.

const { isApplePaySupported } = useApplePay();

edit

Unfortunately, my friend in Germany doesn't have Apple Pay enabled on his iPhone, so I am unable to confirm this theory. I'll keep requesting clarification from Apple.

@jsindos
Copy link
Author

jsindos commented Jan 28, 2023

This was the response from Apple after I requested additional clarification:

Hello,

Thank you for your response. The app was reviewed on a device with a functioning Apple Pay.

We are unable to provide information regarding our review environment.

All apps submitted to the App Store must function correctly and provide access to all features and content at the time of review, regardless of network, device capability, location, etc.

Please refer to our previous messages for information about the issues we encountered during our initial review.

We look forward to reviewing your revised app.

Best regards,

App Store Review

Seems like I'm going to have to debug this issue without any additional diagnostic information.

@charliecruzan-stripe, I'm wondering (from your knowledge) if it is possible for Apple Pay to work differently depending on the country of a device? I'm thinking this is the best bet for me to double check moving forward.

@charliecruzan-stripe
Copy link
Collaborator

perhaps Apple Pay is configured to only work from within Australia

I don't believe this would be the case, unless you have something configured on your end on the server where you're generating the paymentIntentClientSecret?

@charliecruzan-stripe
Copy link
Collaborator

@jsindos just wanted to check back in here- have you been able to get through App Review yet?

@jsindos
Copy link
Author

jsindos commented Feb 10, 2023

Hey @charliecruzan-stripe, thanks again for your help.

I submitted the app for re-review without changing anything in the initPaymentSheet config, and it was successfully reviewed this time. Perhaps the Apple team were using an outdated version of my app, however unfortunately I won't be able to find this out as Apple don't provide much feedback.

For anyone else encountering a similar issue that can't get it to work, Apple Developer Technical Support said the following:

Thank you for contacting Apple Developer Technical Support (DTS).

App Review has found an issue with your app that requires a technical investigation. To initiate this investigation, request a rejection clarification using the "Contact the App Review Team” form:

https://developer.apple.com/appstore/contact/?topic=clarification.

Select 'appeal an app rejection or app removal' and request diagnostic information from the devices used (if it is available).

When completing the form above, please include the name of your app and its associated Apple ID.

Once App Review has completed its investigation they may request you contact DTS for assistance in resolving the identified issue. If you are unable to resolve the issue and need DTS assistance, respond to this email and include the "Follow-up:" line so it will be threaded to the proper conversation.

@charliecruzan-stripe
Copy link
Collaborator

Interesting, well I'm glad you're through App Review, and thanks for sharing that! Definitely let me know if you start seeing this behavior again or find out what the root cause was

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants