Getting Started
Accept NFC payments from your own merchant app using the MONEI Pay SDKs.
How It Works
- Your backend generates a POS auth token using your MONEI API key
- Your merchant app receives the token via your own API
- The app calls
acceptPayment()with the token and amount - The SDK opens MONEI Pay (or CloudCommerce on Android) for NFC tap-to-pay
- The payment result is returned to your app
iOS Beta
MONEI Pay for iOS is in beta. Join via TestFlight: https://testflight.apple.com/join/kZU2j445
Download MONEI Pay
Step 1: Get Your API Key
- Sign up at dashboard.monei.com
- Go to Settings → API Keys
- Use the test key for development, live key for production
Step 2: Generate a POS Auth Token
Your backend calls the MONEI API to create a short-lived token for each payment session. Never expose your API key in the merchant app. See the full Create POS Auth Token API reference.
- cURL
- Node.js
- Python
- PHP
curl -X POST https://api.monei.com/v1/pos/auth-token \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
# Optional: include pointOfSaleId to associate payments with a specific terminal
# -d '{"pointOfSaleId": "pos_abc123"}'
server.js
import {Monei} from '@monei-js/node-sdk';
const monei = new Monei('YOUR_API_KEY');
const {token} = await monei.posAuthToken.create({
// pointOfSaleId: 'pos_abc123', // optional
// storeId: 'store_xyz', // optional
});
// Send `token` to your merchant app
server.py
import Monei
monei = Monei.MoneiClient(api_key="YOUR_API_KEY")
result = monei.pos_auth_token.create(
# point_of_sale_id="pos_abc123", # optional
# store_id="store_xyz", # optional
)
token = result.token
# Send `token` to your merchant app
server.php
<?php
require_once 'vendor/autoload.php';
use Monei\Model\CreatePosAuthTokenRequest;
use Monei\MoneiClient;
$monei = new MoneiClient('YOUR_API_KEY');
$result = $monei->posAuthToken->create(
new CreatePosAuthTokenRequest([
// 'point_of_sale_id' => 'pos_abc123', // optional
// 'store_id' => 'store_xyz', // optional
])
);
$token = $result->getToken();
// Send $token to your merchant app
?>
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
pointOfSaleId | String | No | A unique identifier of the Point of Sale. If specified the payment is attached to this Point of Sale. |
storeId | String | No | A unique identifier of the Store. If specified the payment is attached to this Store. |
Response
{
"token": "eyJhbGciOiJSUzI1NiIs..."
}
The token is a short-lived JWT containing the account ID and merchant metadata. Use it immediately.
Step 3: Integrate Your App
Install the SDK, configure your project, call acceptPayment() with the token from Step 2, and handle results. Each guide covers installation, platform setup, SDK reference, example app, and troubleshooting.
- iOS — Swift SDK via SPM or CocoaPods
- Android — Kotlin SDK via GitHub Packages or JitPack, Direct vs Via MONEI Pay modes
- React Native — Expo module, cross-platform with one API
Next Steps
- MONEI Pay overview — product features and device requirements
- MONEI REST API — full API reference