Inicio
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.

Tratamento de callbacks com resultados de pagamento - Fluxo de pagamento - Mercado Pago Developers

Busca inteligente powered by OpenAI 

Tratamento de callbacks com resultados de pagamento

Existem trĂȘs tipos de callbacks que podem ser configurados para capturar o resultado do fluxo de pagamento. Dois deles sĂŁo configurados quando o fluxo de pagamento Ă© lançado, que sĂŁo por URL e por funçÔes nativas do JavaScript, e o outro Ă© atravĂ©s de eventos globais.

Veja abaixo um exemplo de cada tipo de retorno de chamada personalizado.

URL de retorno

Com uma URL de callback configurada para quando o fluxo de pagamento for bem-sucedido, Ă© possĂ­vel obter os dados de pagamento da seguinte forma:

javascript

let urlQueryString = window.location.search;
let urlParams = new URLSearchParams(urlQueryString);
// Obtendo erro de dados de pagamento a partir de dados de evento
let paymentType = urlParams.get('payment_type');
let paymentReference = urlParams.get('payment_reference');
let metadata = urlParams.get('metadata');
	
/**  
* Escreva o cĂłdigo aqui...
**/ 	

Com uma URL de callback configurada para quando o fluxo de pagamento falhar, Ă© possĂ­vel obter os dados de pagamento da seguinte forma:

javascript

let urlQueryString = window.location.search;
let urlParams = new URLSearchParams(urlQueryString);
// Obtendo erro de dados de pagamento a partir de dados de evento
let errorStatus = urlParams.get('error_status');
let metadata = urlParams.get('metadata');
	
/**  
* Escreva o cĂłdigo aqui...
**/ 	

Callbacks de funçÔes nativas do JavaScript

Tendo configurado uma função de callback JavaScript ao iniciar o fluxo de checkout, os dados de pagamento podem ser obtidos da seguinte forma.

Exemplo de callback de sucesso:

javascript

function callback_payment_success(data) {
	let paymentType = data["payment_type"]; 
	let paymentReference = data["payment_reference"]; 
	
	// Seu cĂłdigo aqui...
}

Exemplo de callback de erro:

javascript

function callback_payment_error(data) {
	let errorStatus = data["error_status"]; 
	let metadata = data["metadata"]; 
	
	// Seu cĂłdigo aqui...
}

Eventos globais

Independente do tipo de callback que for configurado ao lançar o fluxo de pagamento, o sistema enviarå um evento global em JavaScript quando o fluxo for concluído com sucesso ou quando o fluxo de pagamento falhar.

Esses eventos sĂŁo nomeados PointPayment.Success para quando for bem sucedido e PointPayment.Error para quando falhou. A seguir, vocĂȘ confere como capturar o evento em cada caso.

Exemplo de implementação com tratamento do evento de pagamento bem-sucedido:

javascript

window.addEventListener("PointPayment.Success", (event) => {

   let data=event.detail;
   // Obtendo erro de dados de pagamento a partir de dados de evento
   let paymentType = data["payment_type"];
   let paymentReference = data["payment_reference"];
   let paymentCreationDate = data["payment_creation_date"];
   let paymentAmount = data["payment_amount"];
   let serialNumberDevice = data["payment_sn_device"];

   let metadata = data['metadata'];

   if(paymentType == "credit" || paymentType == "debit" || paymentType == "voucher"){
       let installments = data["payment_installments"];
       let brandName = data["payment_brand_name"];
   }

   // Seu cĂłdigo aqui...
});

Exemplo de implementação com tratamento do evento de falha de pagamento:

javascript

window.addEventListener("PointPayment.Error", (event) => {
  
	let data=event.detail;
	// Obtendo erro de dados de pagamento a partir de dados de evento
	let errorStatus = data["error_status"]; 
	let metadata = data['metadata'];
	
	// Seu cĂłdigo aqui...
});

Dados de retorno de chamada bem-sucedidos

Quando um fluxo de pagamento Ă© concluĂ­do com sucesso, os seguintes dados sĂŁo enviados no callback de sucesso.

ParĂąmetros de resposta:

ParùmetroTipoValores possíveisDescrição
payment_typestringcrédito, débito, voucher, qr e linkIndica o tipo de pagamento efetuado.
payment_referencestringpaymentId ou um link de pagamentoIndica uma referĂȘncia do tipo de pagamento.
payment_creation_datenumberyyyy-MM-dd'T'HH:mm:ss'Z'Indica a data e hora do pagamento usando o formato ISO INSTANT.
payment_sn_devicenumber-Indica o nĂșmero de sĂ©rie do dispositivo.
payment_amountnumber0.01 <= n < 50000Indica o valor total do pagamento.
payment_installmentsnumber-Indica o nĂșmero de parcelas (crĂ©dito, dĂ©bito e voucher), quando aplicado.
payment_brand_namestring-Indica a bandeira do cartão (crédito, débito e voucher), quando aplicado.

Dados de retorno de callback de erro

Quando um erro ou cancelamento ocorrem, os dados abaixo sĂŁo enviados.

ParĂąmetros de resposta:

ParùmetroTipoValores possíveisDescrição
error_statusstringcanceled e unknownIndica o tipo de falha que ocorreu durante o processo, podendo ser que o fluxo de caixa foi cancelado ou de que ocorreu um erro desconhecido no fluxo de coleta que nĂŁo pĂŽde ser determinado.
metadatastringobjeto Json como uma stringAs informaçÔes adicionais fornecidas pelo MiniApp ao iniciar o fluxo de pagamento.