Configurar el entorno de desarrollo
Para integrar tu SmartApp a Point Smart, es necesario preparar el entorno de la terminal Point para que el flujo de pago entre tu aplicación y Mercado Pago funcione correctamente.
A continuación, encontrarás las configuraciones necesarias para poner tu SmartApp a disposición.
Antes de iniciar tu integración, actualiza la terminal de debug recibido junto con el kit con la versión Sandbox proporcionada por el equipo responsable de tu integración. Después de esta actualización, el equipo realizará algunas configuraciones internas para que la terminal pueda operar correctamente en el entorno Sandbox.
Se trata de una aplicación de simulación diseñada para replicar y probar las funcionalidades clave de nuestro SDK. Esta aplicación permite simular procesos fundamentales como el inicio de sesión con credenciales de usuario y contraseña, así como los flujos completos de procesamiento de pagos.
El proceso de instalación se puede realizar mediante adb (Android Debug Bridge) utilizando el siguiente comando e reemplazando <ruta_del_APK> con la ruta completa del archivo APK descargado.:
bash
adb install <ruta_del_APK>
APK de Sandbox. Esto garantizará un correcto funcionamiento de la aplicación de simulación y evitará posibles conflictos.Para utilizar la funcionalidad de simulación, es necesario instalar el APK con el flavor de sandbox. Esta APK se encuentra disponible en el kit de integraciones, desde donde podrá descargarlo. Una vez descargado, deberá instalarlo en la terminal.
El kit de desarrollo contiene los recursos necesarios para integrar el flujo de pagos a partir del SDK de Mercado Pago.
Con la base de tu aplicación desarrollada y después de las autorizaciones realizadas en la terminal, sigue los siguientes pasos:
- Agrega la biblioteca del Kit de Desarrollo en el directorio
app/libs. - Instala la versión demo del SmartApp para que te sirva como base para tu integración. Si lo prefieres, puedes instalar directamente tu propio SmartApp.
- Luego, en el archivo
.gradledel módulo donde usarás el SDK, incluye la dependencia para la biblioteca agregada:
gradle
dependencies { .... implementation files("libs/nativesdk-0.1.0.aar") ... }
Después de definir qué SmartApp se integrará al terminal Point, indica en el archivo AndroidManifest.xml la actividad principal que se establecerá como launcher de la aplicación.
Main Apps
Las Main Apps son aplicaciones de gestión de negocios que puedes integrar a Point Smart y que se convertirán en la interfaz principal del terminal. Es decir, todo el sistema operativo del terminal utilizará la interfaz de la Main App y podrás aprovechar las funcionalidades disponibles (como Bluetooth, cámara del escáner, etc.) para procesar pagos.
Agrega los siguientes intent-filter en el archivo XML:
xml
<intent-filter> ... <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
Ejemplo de configuración del Manifest.
xml
<application android:label="@string/app_name" android:icon="@mipmap/ic_launcher"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.HOME" /> </intent-filter> </activity> </application>
La configuración de metadata del archivo AndroidManifest.xml es fundamental para garantizar la integración completa del SDK de Mercado Pago en tu aplicación.
Estas metadata son responsables de definir configuraciones obligatorias y personalizadas para que el SDK opere adecuadamente y, así, garantizar que tu aplicación aproveche mejor las funcionalidades de pagos y ofrezca una experiencia de compra consistente y optimizada.
A continuación verás cómo configurar las metadata obligatorias y opcionales en el AndroidManifest.xml.
El campo CLIENT_ID se utiliza para identificar las transacciones de los integradores y debe contener el valor asignado a la aplicación creada en Mercado Pago. Este campo debe definirse en el archivo AndroidManifest.xml según el ejemplo siguiente:
xml
<application ...> <meta-data android:name="com.mercadolibre.android.sdk.CLIENT_ID" android:value="CLIENT_ID_VALUE" /> <!-- Otras configuraciones de la aplicación --> </application>
| Campo | Descripción |
android:name | El nombre de la metadata debe ser exactamente com.mercadolibre.android.sdk.CLIENT_ID. Cualquier variación en el nombre impedirá su reconocimiento por parte del SDK. |
android:value | El valor debe ser el client_id asignado a la aplicación y debe contener obligatoriamente la letra L al final del número, indicando que es de tipo Long. |
El campo OAUTH_ENABLED activa el protocolo de seguridad OAuth, necesario cuando los terminals utilizan cuentas diferentes de la cuenta principal del desarrollador de la aplicación. Este campo es opcional para integraciónes para tu propio terminalIntegraciones de Mercado Pago Point a tu sistema para uso propio y configuradas a partir de credenciales de producción de tu aplicación. Para más información, accede al link a continuación.Acceder a las credenciales y obligatório en integraciónes para tercerosIntegraciones de Mercado Pago Point a tu sistema en nombre de un vendedor y configuradas a partir de credenciales obtenidas a través del protocolo de seguridad OAuth. Para más información, accede al link a continuación.Acceder a las credenciales. Si no se incluye un valor, el predeterminado será false.
xml
<application ...> <meta-data android:name="com.mercadolibre.android.sdk.OAUTH_ENABLED" android:value="true" /> <!-- Otras configuraciones de la aplicación --> </application>
| Campo | Descripción |
android:name | El nombre de la metadata debe ser exactamente com.mercadolibre.android.sdk.OAUTH_ENABLED. Cualquier variación en el nombre impedirá su reconocimiento por parte del SDK. |
android:value | El valor debe ser true o false, indicando si el modelo OAuth está o no habilitado. |
El campo PLATFORM_ID es un código único para cada integración que identifica tu aplicación en nuestro ecosistema, lo que facilita el análisis detallado y la trazabilidad del flujo de pagos. Este campo es opcional si tu integración no entra en el concepto de plataformas, y obligatorio si sí entra. En caso de no ser obligatorio, si el campo no se completa, el SDK funcionará normalmente.
PLATFORM_ID, ponte en contacto con el equipo responsable por tu integración.xml
<application ...> <meta-data android:name="com.mercadolibre.android.sdk.PLATFORM_ID" android:value="platform_id_value" /> <!-- Otras configuraciones de la aplicación --> </application>
| Campo | Descripción |
android:name | El nombre de la metadata debe ser exactamente com.mercadolibre.android.sdk.PLATFORM_ID. Cualquier variación en el nombre impedirá su reconocimiento por parte del SDK. |
android:value | El valor debe contener el identificador único de tu integración en Mercado Pago. |
Después de ejecutar el kit de desarrollo, incluir la SmartApp en la terminal Point y configurar el archivo AndroidManifest, configura el SDK responsable del flujo de los pagos recibidos en la aplicación. Para eso, crea una clase, heredada de la clase Application, e incluye la configuración del SDK como en el siguiente ejemplo.
class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
val config = MPConfigBuilder(this, "123456789")
.withBluetoothConfig()
.withBluetoothUIConfig()
.build()
MPManager.initialize(this, config)
}
}
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
MPConfig config = new MPConfigBuilder(this, "CLIENT_ID")
.withBluetoothConfig()
.withBluetoothUIConfig()
.build();
MPManager.INSTANCE.initialize(this, config);
}
}
Con el SDK configurado, ya puedes integrar el flujo de pagos.