Prerequisites
- A working onramp integration — complete a quickstart first.
Configure Allowed Methods
Set the methods you want to offer in the fiat payment configuration:- React
- React Native
- Flutter
- Kotlin
- Swift
Apple Pay
- Web (React)
- iOS (Swift)
To display Apple Pay on your website (Safari on macOS and iOS), you must verify your domain with Apple through the Crossmint Console. This is a one-time setup per domain.
Prerequisites
- HTTPS hosting — your site must be served over HTTPS.
- Crossmint account — you need an active Crossmint developer account.
1
Download the Verification File
Go to the Apple Pay Domains page in the Crossmint Console and click Download file to get the Apple Developer Merchant ID Domain Association file.
2
Host the Verification File
Host the downloaded file on your server at the following path:
Example: Next.js App Router
Example: Next.js App Router
Option 1: Using the Public FolderReplace
- Create the
.well-knownfolder inside yourpublicdirectory. - Place the downloaded file in
public/.well-known/with the filenameapple-developer-merchantid-domain-association(no extension).
- Create a folder at
app/.well-known/apple-developer-merchantid-domain-association/ - Add a
route.tsfile with the following content:
route.ts
PASTE_FILE_CONTENT_HERE with the content of the downloaded verification file.Example: Next.js Page Router
Example: Next.js Page Router
- Create the
.well-knownfolder inside yourpublicdirectory. - Place the downloaded file in
public/.well-known/with the filenameapple-developer-merchantid-domain-association(no extension).
Example: Vite
Example: Vite
- Create the
.well-knownfolder inside yourpublicdirectory. - Place the downloaded file in
public/.well-known/with the filenameapple-developer-merchantid-domain-association(no extension).
3
Verify Your Domain
- Return to the Apple Pay Domains page in the Crossmint Console.
- Enter your domain (e.g.,
example.comorcheckout.example.com) in the input field. - Click Verify domain.
If verification fails, ensure the file is publicly accessible at the correct path. You can test by visiting
https://YOUR_DOMAIN/.well-known/apple-developer-merchantid-domain-association in your browser.Local Testing
Using ngrok is recommended for local testing:- Start ngrok with a fixed domain if possible for consistent testing.
- Host the verification file on your local server.
- Register the ngrok domain in the Crossmint Console.
- Test Apple Pay on Safari (macOS) or any iOS device.
Google Pay
On the web, Google Pay works out of the box — enabling it viaallowedMethods is all that is needed. Mobile apps require additional native configuration because the payment sheet is rendered by the operating system.
- React Native
- Android Native (Kotlin)
Prerequisites
- React Native project with Expo or bare workflow
- Android device or emulator with Google Play Services
1
Install Dependencies
react-native-webview as a dependency. If you need to install it separately, ensure version 13.15.0 or higher:2
Configure the Expo Plugin
Update your
app.json to enable Google Pay:3
Rebuild Your App
Hot reload cannot apply the permission changes. You must rebuild:Or for bare React Native:
4
Enable Google Pay in the Checkout Component
Set
googlePay: true in allowedMethods as shown in Configure Allowed Methods.Google Pay Production Approval
Google Pay works immediately in staging environments. For production, Google requires explicit approval of your Android app.Step 1: Create Your Business Profile
Step 1: Create Your Business Profile
- Navigate to the Google Pay & Wallet Console
- Select “Merchant” as your business type
- Complete all business profile information
- Navigate to Google Pay API and click “Get Started”
- Accept the Google Pay API Terms of Service
- Note your Merchant ID (top-right corner after completion)
Step 2: Submit Your Android App for Approval
Step 2: Submit Your Android App for Approval
In the Google Pay & Wallet Console:
- Navigate to Google Pay API then Integrations then Integrate with your Android app
- Locate your Android application and click “Manage”
- Select your integration type (typically “Gateway”)
- Upload screenshots of your TEST Google Pay integration
- Click “Save” then “Submit for approval”
- Product/item selection showing Google Pay option
- Cart or checkout view with payment options
- Google Pay payment sheet with card selection
- Confirmation or receipt screen
Step 3: Go Live
Step 3: Go Live
After Google approval (typically ~1 business day):
- Sign your APK with a release key (debug keys do not work in production)
- Update environment settings:
- Kotlin:
environment = CheckoutEnvironment.PRODUCTION - React Native: Use production API key
- Kotlin:
- Publish your app to Google Play Store
Troubleshooting
PaymentRequest API is not supported error
PaymentRequest API is not supported error
- AndroidManifest missing queries: Add all three Chromium intent queries
- Native rebuild required: Hot reload cannot apply permission changes
- Device requirements: User needs Google Play Services 25.18.30+ and WebView 137+
Next Steps
Payment Methods
Understand how each payment method works and why onramp is a regulated transfer
UI Customization
Customize the onramp checkout UI to match your brand identity
User Onboarding
Register users and handle KYC before their first onramp transaction
React Quickstart
Build a complete onramp integration from scratch

