Skip to main content

In-app Tap to Pay on iPhone

The MONEI Tap to Pay SDK for iOS (MoneiTapToPay) lets your own iOS app accept contactless card payments with . The payment runs inside your app, with your own Apple entitlement. MONEI processes the payment and sends the result to your app and to your server.

Choose your integration​

MONEI Pay has two ways to accept card payments from your own app. Use this table to choose.

In-app Tap to Pay (this SDK)App-to-app integration
Where the payment runsInside your iOS appIn the MONEI Pay app, which your app opens
PlatformsiPhoneiOS, Android, React Native and web
Apple entitlementYour own Tap to Pay on iPhone entitlementNot necessary
MONEI Pay app on deviceNot necessaryNecessary
ServerCreates a POS auth token with your API keyCreates a POS auth token with your API key
Trusted resultSigned webhook to your callbackUrlSigned webhook to your callbackUrl

Choose in-app Tap to Pay when the customer must stay in your app and your team can get the Tap to Pay on iPhone entitlement from Apple. Choose the app-to-app integration when you also need Android or web, or when you do not want to request the Apple entitlement.

How it works​

  1. Your server gets a from the MONEI API with your API key. The API key stays on your server.
  2. Your server sends the token to your app.
  3. On launch, your app calls TapToPay.prepare(token:). The SDK prepares the reader in the background.
  4. When the customer pays, your app calls TapToPay.acceptPayment(amount:orderId:callbackUrl:).
  5. Apple shows the tap screen. The customer taps the card on the iPhone.
  6. The SDK sends the payment to MONEI.
  7. MONEI processes the payment. acceptPayment returns a PaymentResult with the status approved or declined.
  8. MONEI sends a signed webhook with the payment result to your callbackUrl. This webhook is the only trusted result. Use the result in the app for the UI only.

Requirements​

Integration steps​

  1. Set up your project: the Apple entitlement, your app details, the package, Info.plist and CI.
  2. Create tokens on your server: the token endpoint, stores and token renewal.
  3. Accept payments: prepare the reader, take a payment, read the result and the webhook.
  4. Handle errors and unclear outcomes: every error, and what to do when the outcome is unknown.
  5. Test and go live: test mode, the example app, versions and the go-live checklist.

Common questions​

Do I need the MONEI Pay app on the iPhone?​

No. The SDK runs Tap to Pay on iPhone inside your app. The MONEI Pay app is necessary only for the app-to-app integration.

Is there an Android version?​

No. The SDK is for iPhone only. On Android, use the app-to-app integration.

Which currency can I accept?​

Euros. You give the amount in euro cents, for example 1050 for 10.50 EUR.

How do I get access to the SDK?​

The package is public. Add it to your project without a GitHub account. See Add the package. To take payments, you also need: