DocumentaĆ§Ć£o
Recursos
Parcerias
Comunidade

Recursos

Confira as atualizaƧƵes das nossas soluƧƵes e do funcionamento do sistema ou peƧa suporte tƩcnico.

Parcerias

ConheƧa nosso programa para agĆŖncias ou desenvolvedores que oferecem serviƧos de integraĆ§Ć£o e vendedores que desejam contratĆ”-los.

Comunidade

Fique por dentro das Ćŗltimas novidades, peƧa ajuda a outros integradores e compartilhe seu conhecimento.

Cobros online
Cobros presenciales
Herramientas y recursos
APIs y SDKS
Primeiros passos - Main Apps - Mercado Pago Developers

Primeiros passos

Assegure-se de ter o Demo App instalado no dispositivo SmartPOS do Kit de Desenvolvimento. Este aplicativo pode servir como referĆŖncia na integraĆ§Ć£o.

Para usar o SDK, siga estes passos:

  1. Adicione a biblioteca do Kit de Desenvolvimento no diretĆ³rio app/libs.
  2. Inclua a dependĆŖncia para a biblioteca no arquivo .gradle do mĆ³dulo no qual o SDK vai ser usado. Assim:

gradle

dependencies {
     ....
     implementation files("libs/nativesdk-0.1.0.aar")
     ...
}
  1. A configuraĆ§Ć£o correta de metadata no arquivo AndroidManifest.xml Ć© crucial para garantir o funcionamento ideal e a integraĆ§Ć£o completa do nosso SDK em sua aplicaĆ§Ć£o. A metadata permite definir configuraƧƵes essenciais e personalizadas que o SDK precisa para operar adequadamente, adaptando-se Ć s necessidades especĆ­ficas de cada aplicaĆ§Ć£o e seu ambiente de uso. Para isso, configure as seguintes informaƧƵes:

    • CLIENT_ID: para identificar as transaƧƵes dos integradores, indique a credencial Client ID que foi atribuĆ­da Ć  aplicaĆ§Ć£o criada no Painel do desenvolvedor.

    xml

    <application
        ...>
    
        <meta-data
    
            android:name="com.mercadolibre.android.sdk.CLIENT_ID"
            android:value="123456789L" />
    
        <!-- Outras configuraƧƵes da aplicaĆ§Ć£o -->
    </application>
    Importante
    Ɖ crucial que o nome da metadata seja exatamente com.mercadolibre.android.sdk.CLIENT_ID. Qualquer variaĆ§Ć£o no nome pode resultar na falta de reconhecimento do campo pelo SDK.

    AlĆ©m disso, certifique-se de que o valor do Client ID termine com a letra "L" para indicar que Ć© um nĆŗmero do tipo Long. Isso Ć© necessĆ”rio para que o SDK processe corretamente o valor.
    • OAUTH_ENABLED: utilize o campo OAUTH_ENABLED para ativar o protocolo de autorizaĆ§Ć£o OAuth, que Ć© necessĆ”rio quando os dispositivos serĆ£o usados com contas diferentes da do desenvolvedor da aplicaĆ§Ć£o. Este campo Ć© opcional e, caso nĆ£o seja adicionado na metadata, serĆ” considerado o valor padrĆ£o false.

    xml

    <application
        ...>
    
        <meta-data
    
            android:name="com.mercadolibre.android.sdk.OAUTH_ENABLED"
            android:value="true" />
    
        <!-- Outras configuraƧƵes da aplicaĆ§Ć£o -->
    </application>
    Importante
    Ɖ crucial que o nome da metadata seja exatamente com.mercadolibre.android.sdk.OAUTH_ENABLED. Qualquer variaĆ§Ć£o no nome pode resultar na falta de reconhecimento do campo pelo SDK.

    Certifique-se de definir corretamente o valor do campo apenas com true ou false, de acordo com a necessidade de habilitar ou nĆ£o o protocolo OAuth . Se nĆ£o for especificado, o valor padrĆ£o serĆ” false.
  2. Ainda no arquivo AndroidManifest.xml, defina a atividade principal que serĆ” estabelecida como launcher da aplicaĆ§Ć£o. Adicione os seguintes intent-filter:

xml

<intent-filter>

   ...

   <category android:name="android.intent.category.LAUNCHER" />

   <category android:name="android.intent.category.HOME" />

</intent-filter>
  1. Crie a classe herdada da classe Application de Android e insira a configuraĆ§Ć£o do 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. Comece a usar o SDK para processar pagamentos:
          
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
);