Enable Apple Pay on iOS
Use this guide when your Instamobile app uses Stripe checkout and you want Apple Pay to appear on supported iOS devices.
Official Stripe reference: Apple Pay with Stripe
Quick Answer
Create an Apple Merchant ID, enable Apple Pay in your Apple Developer account and Xcode project, upload the Apple Pay certificate to Stripe if required by your Stripe flow, then set the same merchant identifier in the React Native app config.
Requirements
- Apple Developer Program membership
- Production iOS bundle identifier
- Stripe account
- Stripe publishable key configured in the app
- Secure payments backend configured with Stripe secret keys
- Real iOS device for final Apple Pay testing
Apple Pay cannot be fully validated on every simulator flow. Always test on a real device before release.
1. Create the Apple Merchant ID
- Open the Apple Developer Portal.
- Go to Certificates, Identifiers & Profiles.
- Create a Merchant ID, usually in this format:
merchant.com.yourcompany.yourapp
- Keep this value. It must match the app config and native iOS capability.
2. Configure Stripe
Follow Stripe's Apple Pay guide for your account and region:
- verify your Apple Pay setup in Stripe;
- upload or validate the required Apple Pay certificate if Stripe asks for it;
- confirm the payment method is enabled for your account.
3. Enable Apple Pay in Xcode
Open the iOS project in Xcode and:
- Select the app target.
- Open Signing & Capabilities.
- Add Apple Pay.
- Select your Merchant ID.
- Confirm the bundle identifier matches your production app.
Commit native entitlement changes only after you confirm they are for your final app identity.
4. Update the React Native Config
Find the Stripe config in your app, often in the app-specific config file under
src/ or in src/config.
STRIPE_CONFIG: {
PUBLISHABLE_KEY: 'pk_test_your_publishable_key',
MERCHANT_ID: 'merchant.com.yourcompany.yourapp',
ANDROID_PAYMENT_MODE: 'test',
},
If your app initializes StripeProvider directly, make sure the same merchant identifier is passed there.
5. Verify Apple Pay
Test on a real iOS device:
- Install a development or TestFlight build.
- Confirm Wallet has a supported card.
- Start checkout.
- Confirm Apple Pay appears.
- Complete a test payment.
- Confirm the payment and order appear in Stripe and your backend.
Troubleshooting
| Problem | Fix |
|---|---|
| Apple Pay button does not appear | Test on a real device, confirm Wallet card, Merchant ID, Stripe account, and iOS capability. |
| Merchant ID mismatch | Make the Apple Developer Merchant ID, Xcode entitlement, and app config value identical. |
| Payment fails after Apple Pay confirmation | Check the payments backend, Stripe key mode, PaymentIntent creation, and webhook logs. |
| Works in test but not production | Confirm live Stripe keys, live Merchant ID capability, and store-ready provisioning profiles. |