High Growth Startups
Building 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-based Payment 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
Results
A unified SDK supporting a wide range of payment devices and services
Simplified app-level integration through a single, device-agnostic interface
Scalable, real-time payment processing, supporting over 10 million transactions per month, including secure refunds and error handling