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.
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.
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).
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
Install Dependencies
react-native-webview as a dependency. If you need to install it separately, ensure version 13.15.0 or higher:Rebuild Your App
Hot reload cannot apply the permission changes. You must rebuild:Or for bare React Native:
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

