Balvinder Singh — BS monogramBalvinder SinghPaymentsAIArchitecture
← Writing
POS & EMV1 min read

SoftPOS: reading card data without a magstripe

SoftPOS acceptance has passed the novelty stage. What the integration realities look like now that the certifications are stable.

SoftPOS — accepting contactless cards on a merchant's own smartphone — has moved from "novelty" to "standard integration option" over the last two years. Most PSPs now offer it. The integration is mostly boring; the exceptions are worth writing down.

Written March 2026 from a merchant onboarding review.

What works well

  • Contactless card acceptance works reliably on any device with a spec-compliant NFC stack.
  • Contactless mobile wallet acceptance works well too — the ceremony is the same.
  • Refund flows are supported by nearly all providers; batch settlement works.

What's still tricky

Three things that come up repeatedly:

  • Antenna quality varies. Some phone models have well-designed NFC antennas; others require the card to be positioned within a small sweet spot. Merchants training their staff on this varies.
  • Contact-chip fallback. SoftPOS doesn't accept chip cards — the physical connector isn't there. If a contactless read fails, the transaction can't gracefully fall back to chip. Merchants need a plan for this (typically: cash, or a hand-off to a traditional terminal).
  • Payment brand acceptance. Not every scheme has certified every SoftPOS solution. A merchant integrating a SoftPOS provider should confirm the certification coverage matches their card mix, not the provider's marketing list.

What to build for

  • Consistent CVM UX regardless of underlying device model.
  • Clear error messaging when a contactless read fails (the temptation is to blame the customer's card).
  • Batch settlement telemetry that matches what a traditional terminal would produce, so back-office reporting doesn't break.

The technology is mature. The integration work is mostly about making the operational experience feel like a normal terminal.