VP3350

Everything you need to build and test in-person payments fast

Enable your merchants to accept card payments anywhere by integrating with our iOS/Android SDKs.

The SDKs include:

  • A mobile card reader library for encrypted card readers
  • End-to-end encryption for swiped, dipped, and tapped card payments
  • Support for pre-certified EMV card readers (no extra certifications required)
🛠️

Download the SDK now

Latest SDK with support for Tap To Pay:

Long Term Support SDK with no support for Tap To Pay:


1.📦Unbox Your VP3350 Device

Each VP3350 kit contains:

  • 1 VP3350 card reader (Lightning / USB-C / Bluetooth)
  • 1 USB-C to USB-C cable
  • 1 Optional Mounting bracket kit (USB-C & Lightning only)
    • Bracket, screwdriver, screws, adhesive pads
  • 1 Quick start guide (QR code)
💡

Current NMI Partners can purchase test and live devices from within the NMI Partner Portal.

If you are not yet an NMI Partner but would like to purchase a test device, you can purchase devices directly from NewBold Technologies here.


2.⚡Charge & Power On

  • Charge the VP3350 for 4–6 hours before first use.
  • Power via USB or press the** power button** for battery use.
  • The LED/sound indicators show device status (see diagram in portal).

3.🔗Connect Your Device

Bluetooth (iOS & Android)

  1. Turn on Bluetooth on your phone/tablet.
  2. Ensure the VP3350 is charged or plugged in.
  3. Press the power button (if battery-powered). The LED flashes green.
  4. Pair with IDTECH-VP3350-XXXXX.
  5. Enter the default password: 123456.
  6. On success, the device beeps and all 4 lights flash.
📘

Note: On USB power, the VP3350 stays connected. On battery, it sleeps after 30 seconds idle.

USB / Lightning

Android

  1. Plug the VP3350 (USB-C) into the Android device.
  2. Approve the USB Manager access popup.

iOS

  1. Add UISupportedExternalAccessoryProtocolscom.idtechproducts.neo in Info.plist.
  2. Plug in the Lightning/USB-C VP3350.
  3. Discover it using getAvailablePinPad().
📘

⚠️ When switching from Lightning to Bluetooth VP3350, unplug Lightning before connecting Bluetooth.


4.🔐Enable Encrypted Devices

To process in-person payments, enable Encrypted Devices in the NMI Marketplace:

  1. Partner Portal → Marketplace → Enable Encrypted Devices.
  2. Merchant Portal → Marketplace Apps → Confirm visibility.

5.🧪Use Test Mode

  • Test Mode lets you run real hardware tests with no live charges.
  • Enable in Merchant Portal → Settings → Test Mode → Enable Test Mode.
  • Disable before going live.
📘

⚠️ Transactions in Test Mode are not processed for payment.


6.🛠️Install the SDK

Download the Payment Device SDK (zip archive) for iOS/Android. Each contains:

  • Example apps (Java, Kotlin, Objective-C, Swift)
  • SDK binaries (libs or .xcframework)
  • Documentation (/doc)

Add required dependencies:

  • iOS: iOS 15+, SQLCipher, ID TECH SDK, accessory protocols in Info.plist
  • Android: Android 12+, Gradle dependencies (SQLCipher, sqlite, timber), Bluetooth & USB permissions

7.⚙️Configure Your Account

  1. Create an API Key in Merchant Portal → Settings → Security Keys.
    1. Must be API-source only.
  2. Set Application Identifier (unique alphanumeric word, e.g. your app name).

These values must remain consistent across platforms.


8.🚀Initialize the SDK

Key SDK methods:

  • initialize() → Start SDK instance
  • setProperties() → Set API key, App ID, and PIN pad name
  • connectAndConfigure() → Connect device + auto-update firmware/config
  • getAvailablePinPads() → Discover paired readers
  • getStatus() → Device/SDK status

9.💳Run Transactions

Typical flow:

  1. Call startTransaction() with amount, type, and currency.
  2. Listen for callbacks:
    1. userNotification → Display prompts
    2. applicationSelection → Card type selection
    3. signatureVerification → Signature required
    4. transactionFinished → Result returned
  3. Call confirmTransaction() to settle approved transactions.
    1. Or voidTransaction() to cancel before settlement.

10.✨Advanced Features

  • Deferred Authorizations → Allow offline approvals (risk to merchant).
  • RequestQueueStatus → Manage pending/failed offline transactions.
  • Firmware/TMS Updates → SDK manages automatically or via requestTmsUpdate().
  • Receipts → Email/SMS certified receipts using processReceipt().

11.📜Compliance & App Store Submission

  • Only declare supported device protocols in Info.plist.
  • For App Store: include test credentials + user guide/video in review notes.
  • For Google Play: confirm export compliance forms (due to SQLCipher encryption).

12.📋Production Checklist (recap)

  • Disable Test Mode in Merchant Portal before launch.
  • Confirm TMS settings for your Application Identifier (receipt routing, signature capture, gratuity, refunds).
  • Ensure only the accessory protocols you support are listed in the iOS Info.plist.
  • Make sure Android permissions and USB features are declared, and ProGuard excludes SDK libs.
  • Open firewall for CardEaseXML and CardEaseTMS hosts (443).
  • Implement reconciliation if using Deferred Authorization/offline queues.

You’re now ready to integrate the NMI Mobile SDK and VP3350 device into your app.

🛠️

Download the SDK now

Latest SDK with support for Tap To Pay:

Long Term Support SDK with no support for Tap To Pay:

Navigate through the pages in the developer portal for more details, including visual aids, flow diagrams, and code samples.