DocumentaciĆ³n
Recursos
Certificaciones
Comunidad

Recursos

Revisa las actualizaciones de nuestras soluciones y operatividad del sistema o pide soporte tƩcnico.

Comunidad

Recibe las Ćŗltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Cobros online
Cobros presenciales
Herramientas y recursos
APIs y SDKS
Integrar con Java o Kotlin - Android - Mercado Pago Developers

Integrar con Java o Kotlin

En el desarrollo de aplicaciones mĆ³viles, a menudo surge la necesidad de mostrar contenido web dentro de la aplicaciĆ³n. Para lograr esto, existen varias opciones, entre las cuales se destacan el uso de Custom Tabs (para Android) y Safari View Controller (para iOS). Estas tecnologĆ­as permiten abrir pĆ”ginas web en un navegador nativo integrado en la aplicaciĆ³n, brindando una experiencia de navegaciĆ³n mĆ”s fluida y coherente para los usuarios.

Importante
Antes de comenzar a integrar Checkout Pro para Mobile, deberĆ”s contar con una preferencia creada en tu backend. Si aĆŗn no lo has hecho, ve a CreaciĆ³n de preferencia.

En este paso vamos a instalar y configurar las dependencias necesarias para implementar Custom Tabs en tu proyecto desarrollado en Java o Kotlin.

ConfiguraciĆ³n para Android Nativo

Client-Side

Si usas Android Nativo para desarrollar tu aplicaciĆ³n lo primero que necesitas es instalar esta dependencia en el archivo build.gradle.

Java

dependencies {
    ...
    implementation "androidx.browser:browser:1.4.0"
}

El siguiente paso es implementar las Custom Tabs. Para hacerlo, sĆ³lo deberĆ”s instanciarlas. A continuaciĆ³n, te compartimos un ejemplo de una Custom Tab simple.

Las Custom Tabs pueden ser customizadas con varios estilos. Para conocer mƔs, accede a la guƭa de Custom Tabs .

El siguiente cĆ³digo puede ser colocado al abrir una actividad o al ejecutar una acciĆ³n de la misma, en donde el valor url es igual a la init url de nuestro checkout.

          
String url = "URL-PREFERENCE";
CustomTabsIntent intent = new CustomTabsIntent.Builder()
       .build();
intent.launchUrl(MainActivity.this, Uri.parse(url));

        
          
val url = "URL-PREFERENCE"
    val intent = CustomTabsIntent.Builder()
        .build()
    intent.launchUrl(this@MainActivity, Uri.parse(url))

        

CĆ³mo volver a tu App

Client-Side

Los Deep Links, tambiĆ©n conocidos como enlaces profundos, son una forma poderosa de permitir la navegaciĆ³n directa a pantallas o secciones especĆ­ficas de una aplicaciĆ³n mĆ³vil.

Desde nuestro checkout es posible configurar Deep Links para volver a tu aplicaciĆ³n, ya sea haciendo click en un link de ā€œVolverā€, o de forma automĆ”tica al terminar todo un flujo de pago exitoso, para luego ser redirigido a tu App. Para esto, debemos agregar en la creaciĆ³n de la preferencia de pago las propiedades back_urls y auto_return, segĆŗn corresponda.

Para conocer mĆ”s, puedes acceder a la documentaciĆ³n de URLs de retorno.

Client-Side

Para configurar un deeplink nativo en android, dirĆ­gete al archivo android /app/src/main/AndroidManifest.xml y declara cuĆ”l es la actividad que va estar disponible como deeplink. A continuaciĆ³n te compartimos un ejemplo de cĆ³mo es una actividad con Deep Link.

AndroidManifest.xml

<activity
   android:name=".Congrats"
   android:exported="true"
   android:label="@string/deeplink"
   android:theme="@style/Theme.MyApplication.NoActionBar" >

   <intent-filter>
       <action android:name="android.intent.action.VIEW" />
       <category android:name="android.intent.category.DEFAULT" />
       <category android:name="android.intent.category.BROWSABLE" />
       <!-- Accepts URIs that begin with "yourapp://congrats" -->
       <data android:scheme="yourapp"
           android:host="congrats" />

   </intent-filter>
</activity>

En los valores intent deberƔs establecer que la actividad sea navegable por otras aplicaciones. Con los valores scheme y host podrƔs definir el deeplink de la app a una actividad especƭfica.

Ten en cuenta que este deeplink es el que usarĆ”s en todas las back_url de tu preferencia. En los ciclos de la actividad que fue expuesta (por ejemplo, onCreate, onResume) podrĆ”s colocar tu lĆ³gica de negocio despuĆ©s del pago.