Overview

This guide covers Apple Pay integration for Bolt Embeddable Checkout. The Bolt React Native SDK provides an ApplePay component that renders a native PKPaymentButton on iOS. On Android, the component renders nothing. Apple Pay supports two modes:

WebView Mode (Default)

WebView mode is the simplest way to get started: no Apple Pay entitlement or merchant certificate setup is required. Bolt handles merchant validation and tokenization server-side.
The referrer prop is required in WebView mode. This must be the merchant website URL registered with both Bolt and Apple for merchant validation to succeed.

Native Mode

If you need the native PassKit payment sheet, set mode="native". This requires your app to have the Apple Pay entitlement configured with your Apple-registered merchant identifier.
The merchantId in native mode is not your Bolt publishable key: it is the identifier you register in the Apple Developer portal.

Xcode Setup

Open your app target in Xcode:
  1. Go to Signing & Capabilities.
  2. Click + Capability.
  3. Select Apple Pay.
  4. Check your merchant ID.

Expo Setup

Add the following to your app.json:
Then re-run expo prebuild and rebuild your app.

Usage

Props Reference

ApplePayButtonType Values

'plain', 'buy', 'checkout', 'book', 'subscribe', 'donate', 'order', 'setUp', 'inStore', 'reload', 'addMoney', 'topUp', 'rent', 'support', 'contribute', 'tip'

ApplePayResult