Inicio
Documentação
Recursos
Certificações
Comunidade

Recursos

Confira as atualizações das nossas soluções e do funcionamento do sistema ou peça suporte técnico.

Comunidade

Fique por dentro das últimas novidades, peça ajuda a outros integradores e compartilhe seu conhecimento.

Criar intenções de pagamento - Processamento de pagamentos - Mercado Pago Developers

Busca inteligente powered by OpenAI 

Criar uma intenção de pagamento

Uma intenção de pagamento é uma solicitação que contém os detalhes de uma transação a ser realizada, e deve ser criada para iniciar uma instância de pagamento no aplicativo RDCPass.

Para criar uma intenção de pagamento, siga as etapas abaixo:

  1. Adicione o seguinte intent-filter (Activity) ao arquivo AndroidManifest.xml do seu projeto:

android


<intent-filter> 
	<action android:name="android.intent.action.SEND" /> 
	<category android:name="android.intent.category.DEFAULT" /> 
	<data android:mimeType="text/*" /> 
</intent-filter>
  1. Implemente a função "shareRDCPass", como mostrado abaixo:

android


public void shareRDCPass(String total, String intent) { 
	try { 
		Intent sharingIntent = new Intent(intent); 
		sharingIntent.setClassName("redelcom.cl.rdcpass", "redelcom.cl.rdcpass.MainActivity"); 
		sharingIntent.putExtra("packageName", getPackageName()); 
		sharingIntent.putExtra("className", getClass().toString().split(" ")[1]); 
		sharingIntent.putExtra(Intent.EXTRA_TEXT, total); 
		sharingIntent.putExtra("userTransactionId", "DEMO1234");
		sharingIntent.putExtra("description", "Descripcion para tu transacción");
		sharingIntent.putExtra("payment_type", "TIPO_PAGO");
		sharingIntent.putExtra("request_tip", false);
		sharingIntent.putExtra("rdcDTE", false);

		ArrayList<String> arrayListUserTransactionId = new ArrayList<String>(); 
		arrayListUserTransactionId.add("DEMO1233"); 
		sharingIntent.putExtra("completeTransactions", arrayListUserTransactionId);
		startActivity(sharingIntent); 
	} catch (Exception e) { 
		e.printStackTrace(); 
	} 
}

Você deve modificar os seguintes parâmetros levando em consideração estas especificações:

ParâmetroDescriçãoExemploTipo
String totalObrigatório.
Valor total da transação. Aceita apenas moeda CLP e um valor numérico, sem pontos ou caracteres especiais.
2000String
String intentObrigatório.
Corresponde ao tipo de intenção a ser solicitada. Neste caso, usaremos o parâmetro Intent.ACTION_SEND, que corresponde à criação de uma intenção de pagamento.
Intent.ACTION_SENDString
userTransactionIdOpcional.
Você pode incluir um código de referência para a solicitação de pagamento, substituindo "DEMO1234" pelo código escolhido.
Transaction1234Alfanumérico
descriptionOpcional.
Você pode incluir uma descrição de pagamento, que será exibida na tela de pagamento. Lembre-se de substituir "Descrição para a sua transação" pela descrição desejada.
Item1Alfanumérico
payment_typeOpcional.
Selecione o método de pagamento a ser usado (se omitido, deve ser selecionado no POS). Você deve substituir "TIPO_PAGO".
• "CASH"
• "CARD"
• "WALLET" (Pagamentos por QR)
• "NON_CASH" (Permite seleção no POS entre: "CARTÕES E WALLET")
• "NON_WALLET" (Permite seleção no POS entre: "DINHEIRO E CARTÕES")
Alfanumérico
request_tipOpcional.
Gerencia a solicitação de gorjeta.
true / falseBooleano. O padrão é false.
rdcDTEOpcional.
Usa os serviços da Redelcom para gerar o documento fiscal.
true / falseBooleano. O padrão é false.
completeTransactionsOpcional.
Você deve incluí-lo se precisar consultar o último userTransactionId posteriormente para manter a conciliação nas transações feitas.
-Alfanumérico
  1. Se você deseja receber a resposta para a intenção de pagamento criada a partir do RDCPass, use o seguinte bloco de código:

android


try{ 
	Intent intent = getIntent(); 
	String action = intent.getAction(); 

	JSONObject payload = new JSONObject(intent.getStringExtra(Intent.EXTRA_TEXT)); 
	String userTransactionId = intent.getStringExtra(“userTransactionId”); 
	if (Intent.ACTION_SEND.equals(action)) { 
		// Define what to do with the received data “payload” 
	} 
} catch (Exception e) { 
	e.printStackTrace(); 
}
CampoDescrição
JSONObject payload = new JSONObject(intent.getStringExtra(Intent.EXTRA_TEXT));Permite receber a resposta de pagamento. Use isso apenas se desejar receber a resposta do RDCPass.
String userTransactionId = intent.getStringExtra("userTransactionId");Se você usou um userTransactionId, inclua este campo juntamente com o identificador escolhido. Use isso apenas se desejar receber a resposta do RDCPass.

Para visualizar um exemplo completo de resposta à criação de intenção de pagamento, consulte nosso Anexo: exemplos de resposta.

Importante
Recomendamos salvar o userTransactionId associado a cada transação para facilitar a busca posterior de uma intenção de pagamento.