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.

Tratamiento de callbacks con resultados de pago - Flujo de pago - Mercado Pago Developers

BĂșsqueda inteligente powered by OpenAI 

Tratamiento de callbacks con resultados de pago

Existen tres tipos de callbacks que puden ser configurados para capturar el resultado del flujo de pago. Dos de ellos se configuran cuando el flujo de pago es lanzado, que son por URL y por funciones nativas del JavaScript, y el otro vĂ­a eventos globales.

Consulta este ejemplo de cada tipo de retorno de llamada personalizada:

URL de retorno

Con una url de callback configurada para que cuando el flujo de pago sea exitoso, sea posible obtener los datos de pago de la siguiente forma:

javascript

launchPaymentFlow(15.50, null,'congrats.html','error.html')

let urlQueryString = window.location.search;
let urlParams = new URLSearchParams(urlQueryString);
// Obtener error de datos de pago de datos de eventos
let paymentType = urlParams.get('payment_type');
let paymentReference = urlParams.get('payment_reference');
let metadata = urlParams.get('metadata');
	
/**  
* Escribe el cĂłdigo aquĂ­...
**/ 	

Con una url de callback configurada para que cuando el flujo de pago falle, sea posible obtener los datos de pago de la siguiente forma:

javascript

let urlQueryString = window.location.search;
let urlParams = new URLSearchParams(urlQueryString);
// Obtener error de datos de pago de datos de eventos
let errorStatus = urlParams.get('error_status');
let metadata = urlParams.get('metadata');
	
/**  
* Escribe el cĂłdigo aquĂ­...
**/ 	

Callbacks de funciones nativas del JavaScript

Habiendo configurado una funciĂłn de callback JavaScript al iniciar el flujo de checkout, los datos de pago se pueden obtener de la siguiente manera.

Ejemplo de callback de Ă©xito

javascript

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

Ejemplo de error de callback:

javascript

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

Eventos globales

Independientemente del tipo de callback que se configure al iniciar el flujo de pago, el sistema enviarĂĄ un evento global en JavaScript cuando el flujo se complete correctamente o cuando falle.

Estos eventos se denominan PointPayment.Success,en caso de que sea exitoso, y PointPayment.Error cuando hay una falla. A continuaciĂłn, tenemos ejemplos de cĂłmo capturar el evento en cada caso.

Ejemplo de implementaciĂłn con tratamiento del evento de pago con Ă©xito:

javascript

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

   let data=event.detail;
   // Obtener error de datos de pago de datos de eventos
   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"];
   }

   // Tu cĂłdigo aquĂ­...
});

Ejemplo de implementaciĂłn con manejo de eventos de falla de pago:

javascript

window.addEventListener("PointPayment.Error", (event) => {
  
	let data=event.detail;
	// Obtener error de datos de pago de datos de eventos
	let errorStatus = data["error_status"]; 
	let metadata = data['metadata'];
	
	// Tu cĂłdigo aquĂ­...
});

Datos de retorno de callback con Ă©xito

Cuando un flujo de pagamento es finalizado con Ă©xito, los siguientes datos son enviados al callback de Ă©xito.

ParĂĄmetros de respuesta:

ParĂĄmetroTipoRequeridoDescripciĂłn
payment_typestringcrédito, débito, voucher, qr e linkIndica el tipo de pago realizado.
payment_referencestringpaymentId ou link de pagoIndica una referencia de tipo de pago.
payment_creation_datenumberyyyy-MM-dd'T'HH:mm:ss'Z'Indica la fecha y hora de pago en formato ISO INSTANT.
payment_sn_devicenumber-Indica el nĂșmero de serie del dispositivo.
payment_amountnumber0.01 <= n < 50000Indica el monto total del pago.
payment_installmentsnumber-Indica el nĂșmero de cuotas (crĂ©dito, dĂ©bito y voucher), si aplica.
payment_brand_namestring-Indica la marca de la tarjeta (crédito, débito y voucher), si aplica.

Datos de retorno de callback de error

Cuando ocurre un error o es cancelado, se envĂ­an los siguientes datos al callback de error.

ParĂĄmetros de respuesta:

ParĂĄmetroTipoRequeridoDescripciĂłn
error_statusstringcanceled y unknownIndica el tipo de falla que ocurriĂł durante el proceso, que puede ser que se cancelĂł el flujo de efectivo o que ocurriĂł un error desconocido en el flujo de cobranza que no se pudo determinar.
metadatastringobjeto Json como una stringLa informaciĂłn adicional proporcionada por MiniApp al iniciar el flujo de pago.