Inicio
DocumentaciĂłn
Recursos
Partners
Comunidad

Recursos

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

Partners

Conoce nuestro programa para agencias o desarrolladores que ofrecen servicios de integraciĂłn y vendedores que quieren contratarlos.

Comunidad

Recibe las Ășltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Primeros pasos - Main Apps - Mercado Pago Developers

BĂșsqueda inteligente powered by OpenAI 

Primeros pasos

AsegĂșrate de tener la Demo App instalada en el dispositivo SmartPOS del Kit de Desarrollo. Esta app puede servir como referencia en la integraciĂłn.

Para usar el SDK, sigue estos pasos:

  1. Agrega la biblioteca del Kit de Desarrollo en el directorio app/libs.
  2. Incluye la dependencia para la biblioteca en el archivo .gradle del mĂłdulo en el que se usarĂĄ el SDK. AsĂ­:

gradle

dependencies {
     ....
     implementation files("libs/nativesdk-0.1.0.aar")
     ...
}
  1. La configuraciĂłn correcta de metadata en el archivo AndroidManifest.xml es crucial para garantizar el funcionamiento Ăłptimo y la integraciĂłn completa de nuestro SDK en tu aplicaciĂłn. La metadata permite definir configuraciones esenciales y personalizadas que el SDK necesita para operar adecuadamente, adaptĂĄndose a las necesidades especĂ­ficas de cada aplicaciĂłn y su entorno de uso. Para ello, configure las siguientes informaciĂłn:

    • CLIENT_ID: para identificar las transacciones de los integradores, indica la credencial Client ID que fue asignada a la aplicaciĂłn creada en el Panel del desarrollador.

    xml

    <application
        ...>
    
        <meta-data
    
            android:name="com.mercadolibre.android.sdk.CLIENT_ID"
            android:value="123456789L" />
    
        <!-- Otras configuraciones de la aplicaciĂłn -->
    </application>
    Importante
    Es crucial que el nombre de la metadata sea exactamente com.test.android.sdk.CLIENT_ID. Cualquier variaciĂłn en el nombre puede resultar en la falta de reconocimiento del campo por parte del SDK.

    AdemĂĄs, asegĂșrate de que el valor del Client ID termine con la letra "L" para indicar que es un nĂșmero del tipo Long. Esto es necesario para que el SDK procese correctamente el valor.
    • OAUTH_ENABLED: utiliza el campo OAUTH_ENABLED para activar el protocolo de autorizaciĂłn OAuth, que es necesario cuando los dispositivos se utilizarĂĄn con cuentas diferentes a la del desarrollador de la aplicaciĂłn. Este campo es opcional y, si no se agrega en la metadata, se considerarĂĄ el valor predeterminado false.

    xml

    <application
        ...>
    
        <meta-data
    
            android:name="com.mercadolibre.android.sdk.OAUTH_ENABLED"
            android:value="true" />
    
        <!-- Otras configuraciones de la aplicaciĂłn -->
    
    </application>
    Importante
    Es crucial que el nombre de la metadata sea exactamente com.mercadolibre.android.sdk.OAUTH_ENABLED. Cualquier variaciĂłn en el nombre puede resultar en la falta de reconocimiento del campo por parte del SDK.

    AsegĂșrate de definir correctamente el valor del campo solo con true o false, de acuerdo con la necesidad de habilitar o no el protocolo OAuth . Si no se especifica, el valor predeterminado serĂĄ false.
  2. AĂșn en el archivo AndroidManifest.xml, define la actividad principal que se establecerĂĄ como launcher de la app. Agrega los siguientes intent-filter:

xml

<intent-filter>                
                <action android:name="android.intent.action.MAIN" />               
                <category android:name="android.intent.category.DEFAULT" />               
                <category android:name="android.intent.category.HOME" />
</intent-filter>
  1. Crea la clase heredada de la clase Application de Android e ingresa la configuraciĂłn del SDK:
          
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, "123456789")
     .withBluetoothConfig()
     .withBluetoothUIConfig()
     .build();
   MPManager.INSTANCE.initialize(this, config);
 }
}

        
  1. Empieza a usar el SDK para procesar pagos:
          
val paymentFlow = MPManager.paymentFlow

val uriSuccess = paymentFlow.buildCallbackUri(
   "mercadopago://launcher_native_app",
   "success",
   hashMapOf("attr" to "123"),
   "demo_app"
)

val uriError = paymentFlow.buildCallbackUri(
   "mercadopago://launcher_native_app",
   "error",
   hashMapOf("attr" to "456"),
   "demo_app"
)

paymentFlow.launchPaymentFlowActivity(
   amount,
   description,
   uriSuccess,
   uriError,
   context,
   lastPaymentMethodSelected
) { response ->
   response.doIfError { error ->
       error.message?.let { errorMessage -> setLayoutError(errorMessage) }
   }
}

        
          
PaymentFlow paymentFlow = MPManager.INSTANCE.getPaymentFlow();

HashMap<String, String> metadata = new HashMap<>();

Uri uriSuccess = paymentFlow.buildCallbackUri(
 "mercadopago://launcher_native_app",
 "success",
 metadata,
 "demo_app"
);

Uri uriError = paymentFlow.buildCallbackUri(
 "mercadopago://launcher_native_app",
 "error",
 metadata,
 "demo_app"
);

Function1<MPResponse, Unit> callback = (MPResponse response) -> {
 return;
};

paymentFlow.launchPaymentFlowActivity(
 "1",
 "My Payment Description",
 uriSuccess,
 uriError,
 getApplicationContext(),
 "credit",
 callback
);