This guide is specifically for the React Native SDK. Building with another framework? See Supported Frameworks.
1. Initialize the SDK
CallContactlessCryptoSDK.initialize() once, before rendering any components that use the SDK. Your app entry point is ideal.
2. Wrap Your App
Wrap your root component withTapRailsThemeProvider. In SESSION_KEY mode this also handles automatic session key setup UI.
App.tsx
3. Accept a Payment (Merchant)
Add a button that opens the TapRails payment flow:MerchantScreen.tsx
- Amount input screen → enter the charge amount
- NFC waiting screen → animated icon, countdown timer
- Success screen → transaction receipt
4. Make a Payment (Customer)
CustomerScreen.tsx
- Tap instruction screen → “Hold your phone near the payment terminal”
- Processing screen → step-by-step progress
- Success screen → receipt with transaction details
You’re Done!
The SDK handles NFC communication, invoice signing, signature verification, payment API calls, and all UI states automatically.
Next Steps
Android Setup
Required gradle config, manifest permissions, and HCE service setup.
iOS Setup
Pod install and Info.plist NFC permission.
Payment Modes
Deep-dive on POOL vs SESSION_KEY.
Error Handling
Handle every NFC and API error gracefully.

