Skip to main content

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

  1. Open the Apple Developer Portal.
  2. Go to Certificates, Identifiers & Profiles.
  3. Create a Merchant ID, usually in this format:
merchant.com.yourcompany.yourapp
  1. 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:

  1. Select the app target.
  2. Open Signing & Capabilities.
  3. Add Apple Pay.
  4. Select your Merchant ID.
  5. 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:

  1. Install a development or TestFlight build.
  2. Confirm Wallet has a supported card.
  3. Start checkout.
  4. Confirm Apple Pay appears.
  5. Complete a test payment.
  6. Confirm the payment and order appear in Stripe and your backend.

Troubleshooting

ProblemFix
Apple Pay button does not appearTest on a real device, confirm Wallet card, Merchant ID, Stripe account, and iOS capability.
Merchant ID mismatchMake the Apple Developer Merchant ID, Xcode entitlement, and app config value identical.
Payment fails after Apple Pay confirmationCheck the payments backend, Stripe key mode, PaymentIntent creation, and webhook logs.
Works in test but not productionConfirm live Stripe keys, live Merchant ID capability, and store-ready provisioning profiles.

Next Steps