Get Mini iOS SDK Overview
The Get Mini mPOS SDK for iOS enables you to integrate secure, card-present payment capabilities into your native applications. By leveraging a Bluetooth-connected PIN pad device, you can transform an iOS device into a mobile point-of-sale (mPOS) terminal.
Architecture
The SDK is provided as a static library accompanied by a set of Objective-C headers. It adopts a modular architecture designed to abstract the complexities of hardware communication and financial protocols.
The ecosystem consists of three main components:
Your iOS Application: Manages your business logic, product catalog, and user interface. It interacts with the SDK using the RedsysPinpadManager and RedsysConfigurationManager classes.
The mPOS Framework: Orchestrates the communication between your app and the hardware. It handles the low-level Bluetooth stack, encryption, and gateway communication.
The Physical PIN pad: A Bluetooth card reader (Ingenico, Itos, Spire, or Verifone) that securely captures card data (Chip, Contactless, or Magnetic Stripe) and customer PINs.
The mPOS Lifecycle
Processing a transaction follows a strict sequence to ensure security and data integrity.
1. Initialization and Licensing
Before any operation, the SDK must be “unlocked” using a license key tied to your application’s Bundle ID. You must also define the execution environment (Development, Integration, Certification, or Production) via the CommonUtils class.
2. Merchant Configuration (Login)
The SDK requires valid merchant credentials (FUC and Terminal ID). These are typically retrieved through a login process using RedsysConfigurationManager, which synchronizes the terminal’s configuration with the Get Mini gateway.
3. Device Discovery and Connection
Because iOS restricts Bluetooth communication with external hardware, the SDK uses the External Accessory Framework. The RedsysPinpadManager handles the discovery of paired PIN pads that match the protocols declared in your project’s Info.plist.
4. Transaction Execution
Once a device is selected, your app sends a payment request (PagoDTO) containing the amount, currency code, and order reference. The SDK manages the entire interaction:
- Waking up the PIN pad
- Prompting for card insertion/tap
- Handling PIN entry on the hardware keypad
- Sending encrypted data to the gateway
5. Result Handling
The result is delivered asynchronously via delegate protocols (RedsysBTPinpadPaymentDelegate, RedsysDelegateGeneric). If approved, the app receives an authorization code in the onPaymentFinished callback; if denied, it receives a specific error code for troubleshooting.
Key Features
Multi-Vendor Support: A single integration supports hardware from Ingenico, Itos, Spire, and Verifone.
Hardware-Side Capture: Card reading and PIN entry happen on the certified PIN pad, not on the iOS device.
Signature Management: Automated flow for digital signature capture when required by the card type (Offline/No-PIN transactions).
Modular UI: Use the RedsysPinpadManager built-in payment flow for a streamlined experience or implement custom UI by directly handling the delegate callbacks for complete control over the user interface.
Integration Approaches
Depending on your business needs, you can integrate Get Mini payments in two ways:
Native SDK (Direct): As documented here, you embed the library directly into your app. This offers the most seamless user experience.
App2App: You invoke the standalone “Get Mini” application installed on the device. This requires minimal coding, but involves switching between two apps during the sale.
Next Steps
- Install the SDK - Configure your Xcode project with the necessary libraries and linker flags
- Configure Info.plist - Add the mandatory Bluetooth and External Accessory protocol strings
- Quickstart: Your First Sale - Run your first test transaction in the “des” (Development) environment