Architecture
This page explains the technical architecture of the Get Smart App2App integration for Android, detailing how the components interact and communicate.
System Overview
Intent mechanisms to facilitate communication between two distinct applications installed on the same device:- The external app (your app) initiates the process and receives the result
- The Get Smart app processes the secure transaction and handles payment logic
This separation of concerns allows your application to leverage payment functionality without implementing the complex security and compliance requirements of payment processing.
Component Architecture
The App2App integration involves two distinct components working together to process payments. Understanding each component's responsibilities helps you implement the integration correctly and troubleshoot issues effectively.
Your Application
Your application is responsible for:
- Generating the payment request with transaction details (amount, type, invoice number)
- Creating and launching the Android
Intentwith the specific action name - Receiving and processing the transaction result
- Handling error scenarios (e.g., missing Get Smart app)
- Managing your business logic based on payment outcomes
Get Smart Application
The Get Smart application (Aplicación de Cobro) handles:
- Card reading (EMV chip, contactless NFC, magnetic stripe)
- Payment gateway communication
- Transaction security and encryption
- Receipt printing (merchant and customer copies)
- PCI DSS compliance requirements
- EMV certification requirements
Communication Mechanism
The integration uses Android's standard inter-application communication through Intents.
Intent-Based Communication
The communication follows this pattern:
- Intent Creation: Your app creates an Intent with a specific action name
- Parameter Passing: Transaction parameters are added as Intent extras
- Activity Launch: The Intent is launched using
startActivityForResult - Transaction Processing: The Get Smart app takes control and processes the payment
- Result Return: The Get Smart app returns control with transaction results as Intent extras
- Result Handling: Your app processes the outcome in
onActivityResult
Intent Action Name
The specific action name used for payment requests is:
This action name is the unique identifier that routes the Intent to the Get Smart application.
Data Flow
The data flow between applications follows this sequence:

Security Considerations
The App2App architecture is designed with security as a core principle, leveraging Android's application isolation to protect sensitive payment data. Understanding how the security model works helps you implement the integration correctly while maintaining compliance with payment industry standards.
Application Isolation
Each application runs in its own security sandbox. Your application never has direct access to:
- Card data (PAN, CVV, expiration date)
- PIN entries
- Cryptographic keys
- Gateway credentials
The Get Smart application handles all sensitive data within its secure environment.
Data Transmission
Only non-sensitive transaction metadata is passed between applications:
- Transaction amount
- Operation type (sale/refund)
- Invoice/order numbers
- Authorization results
- Response codes
Certification Requirements
Because the Get Smart application is the only component that handles card data and gateway communication:
- Your app does NOT need PCI DSS certification
- Your app does NOT need EMV certification
- Your app does NOT need payment application certification
The certified Get Smart application handles all compliance requirements.
Configuration Requirements
The architecture requires minimal configuration:
No Special Permissions
AndroidManifest.xml does not require any special permissions for:- Inter-application communication
- Payment processing
- Card reading
- Network access (for payment gateway)
startActivityForResult mechanism works without additional configuration.No External Dependencies
Your application does not need to:
- Include any Get Smart SDKs or libraries
- Configure API keys or credentials
- Manage device pairing or registration
The integration relies entirely on Android's built-in Intent system.
Error Handling
Proper error handling ensures your application gracefully manages scenarios where the Get Smart application is unavailable or incompatible. Implementing these error checks improves the user experience and helps prevent application crashes.
Missing Application
ActivityNotFoundException. Your application must catch this exception and inform the user.Application Version
Always ensure the Get Smart application is updated to the latest version. Older versions may not support all features or may have different parameter requirements.
Next Steps
- Understand the detailed transaction flow in Transaction Flow
- Learn how to create a single-step payment in Create a Single-Step Payment
- Learn how to create a payment with installments in Create a Payment with Installments
On this page