EMV Android SDK
The SDK lets an Android app accept contactless EMV cards on the phone’s NFC reader, with no separate card terminal. It covers the whole card side of a sale: it reads the card over NFC, runs the EMV kernel, builds the online request for your host, and finishes the transaction with the host’s answer.
Status
The SDK is pre-release. Before you rely on it, know what it does not have yet:
- Certification: no EMVCo Level 2 or scheme certification.
- Physical testing: no recorded physical test batch on a named device.
- Card schemes: the Visa and Mastercard paths run end to end. Kernel 8 (EMV C-8) is in progress, and a real Kernel 8 card does not complete a transaction yet.
- Acquirer: no live acquirer is connected. You bring the host.
Do not put it in front of real customers until the release notes for your licensed version say otherwise.
Access
The SDK is commercial software. The library (AAR) is not published on this site or in any public repository. Licensed customers download it through authenticated, signed delivery. To ask about a licence, open an access request.
This site and the issue tracker are public, so you can review the API before you license it.
What is in the SDK
| Part | What it does |
|---|---|
NfcSessionController | Owns reader mode, the card connection, timeouts, and one card run at a time. |
prepareHost | Checks that your host can take a sale before you ask for an amount. It enrols the phone or fetches a new host key if needed. The SDK reads no card until the host is ready. |
runAccept | Runs a contactless sale end to end: card read, sealed request to your host, sealed answer. Your app sees progress, a masked card and the result. |
EmvSdk | Configures the whole SDK from one JSON document (terminal profile and tap feedback). You can swap it live, with no restart. |
TapCue | Plays the EMV Book A success and alert tones, each with a vibration. You can switch either off. |
NfcDiagnostics and NfcEvent | Report NFC readiness and an event for each tap, for support screens. They carry no card data. |
SafeError and AcceptOutcome | Name every failure, without platform or card text. |
Pages
- Architecture and security: how the SDK keeps card data out of your app, and what it guarantees.
- Getting started: requirements, manifest, and lifecycle.
- Configuration: the one-JSON configuration, live swapping, and tap sound and vibration.
- Accepting a payment: the sale flow, the host, and cancelling.
- Terminal profile: the profile JSON.
- NFC diagnostics: readiness, tap events, timing, and troubleshooting.
- Errors and outcomes: what each failure means and what to show.
- Security: what the SDK protects and what your app must do.
- Support: how to report a problem.