Building a Unified Payment SDKBuilding a Unified Payment SDK
About the Project
To simplify and secure payment processing across a large-scale transportation platform, we developed a proprietary Payment SDK for both iOS and Android. The SDK enables seamless payments through a variety of external devices and services, including POS terminals, QR codes and NFC/contactless payment technologies, all managed through a single, unified interface.
Designed for flexibility and scale, the SDK integrates with both the client’s own and various third-party PCI DSS – compliant payment provider servers, supporting secure, one-step transactions and powering millions of payments monthly.

Business Challenge
The platform needed a unified solution capable of interacting with multiple types of payment devices and services, each with different connection types, hardware requirements, and interaction flows. Key requirements included:
- Unified support for POS terminals, QR-code-based payments and NFC/contactless technologies like Apple Tap to Pay, each with its own underlying communication protocol and/or API
- Seamless handling of Bluetooth and Wi-Fi pairing flows
- Secure communication with both client and third-party payment processing servers
- Real-time device discovery and readiness status detection
- Compatibility with device-specific UI flows, including fully custom interfaces when required
- Handling of transaction edge cases, including declines and time-limited refunds
Contributions
We designed and implemented a modular, plugin-basedPayment SDK to abstract the complexity of working with various payment devices and services behind a clean, consistent interface:
Defined a standard protocol for all supported integrations, covering connection, configuration, payment processing, tipping, refunds, and disconnection
Enabled runtime discovery and availability checks for payment devices and services
Developed and maintained individual plugins for each payment integration, OS terminals, QR-code-based payments and NFC/contactless technologies like Apple Tap to Pay
Handled Bluetooth and Wi-Fi pairing flows through built-in connection workflows
Supported both interactive and non-interactive payment scenarios, with conditional UI when required
Implemented transaction reversal logic, allowing time-limited refunds of the last transaction

Reusable & Scalable Solution
The SDK was built as a scalable and reusable solution, not something made just for one project. It can be easily adapted for future projects that require secure, device-integrated payments.
- Modular plugin architecture makes it easy to add new payment devices or providers
- Unified protocol ensures consistent behavior for connection, scanning, payments, and refunds
- Developer-friendly design with clear abstractions allow quick onboarding and minimal integration effort
- Flexible and suitable for a wide range of use cases beyond the original scope
Key Expertise
This project reflects our deep expertise in payment technologies and our ability to deliver complex, production-ready SDKs built for scale and flexibility:

Experience with a broad range of integrations, from low-level POS terminals using binary protocols to high-level contactless solutions like Apple Tap to Pay

A unified SDK architecture that supports both proprietary and third-party payment providers through a single interface

Proven ability to deliver secure, PCI-compliant solutions that process millions of real-world transactions every month

Focus on developer experience by offering clear abstractions that remove the need for app teams to manage provider-specific complexity
Case Studies
You may also be interested in...

Real Results
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis.













