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.

Datos adicionales - Funcionalidades avanzadas - Mercado Pago Developers

BĂșsqueda inteligente powered by OpenAI 

Datos adicionales

Dentro del callback onSubmit hay un segundo parĂĄmetro, de uso opcional, llamado additionalData. Es un objeto y puede contener datos adicionales Ăștiles para su integraciĂłn, pero que no son necesarios para el compromiso de pago en el backend.

Consulta en la tabla siguiente los campos contenidos dentro del objeto additionalData, los cuales solo se devolverĂĄn si el usuario ha optado por el pago con tarjeta.

CampoTipoDescripciĂłn
binstringBIN de la tarjeta ingresada por el usuario.
lastFourDigitsstringLos Ășltimos cuatro dĂ­gitos para compras con tarjeta.
cardholderNamestringNombre de la persona titular de la tarjeta.

Mira a continuaciĂłn un ejemplo de uso:

          
const settings = {
 ...,
 callbacks: {
   onSubmit: ({ selectedPaymentMethod, formData }, additionalData) => {
     // callback llamado al usuario para hacer clic en el botĂłn de envĂ­o de datos
     // el parĂĄmetro additionalData es opcional, puede eliminarlo si lo desea
     console.log(additionalData);
     // ejemplo de envĂ­o de los datos recopilados por Brick a su servidor
     return new Promise((resolve, reject) => {
       let url = undefined;
       if (selectedPaymentMethod === 'credit_card' || selectedPaymentMethod === 'debit_card') {
         url = 'process_payment_card';
       } else if (selectedPaymentMethod === 'bank_transfer') {
         url = 'process_payment_pix';
       } else if (selectedPaymentMethod === 'ticket') {
         url = 'process_payment_ticket';
       }


       if (url) {
         fetch(url, {
           method: "POST",
           headers: {
             "Content-Type": "application/json",
           },
           body: JSON.stringify(formData),
         })
           .then((response) => response.json())
           .then((response) => {
             // recibir el resultado del pago
             resolve();
           })
           .catch((error) => {
             // manejar la respuesta de error al intentar crear el pago
             reject();
           })
       } else if (selectedPaymentMethod === 'wallet_purchase') {
         // wallet_purchase (Conta Mercado Pago) no necesita ser enviada desde el backend
         resolve();
       } else {
         reject();
       }
     });
   },
 },
}

        
          
<Payment
 initialization={initialization}
 customization={customization}
 onSubmit={async ({ selectedPaymentMethod, formData }, additionalData) => {
   console.log({ selectedPaymentMethod, formData }, additionalData);
 }}
/>

        

Si no estås utilizando el botón nativo enviar formulario de Brick, también puedes acceder al objeto additionalData a través de getAdditionalData. Ve un ejemplo de uso a continuación.

javascript

// variable donde se guarda el controller del Brick
paymentBrickController.getAdditionalData()
        .then((additionalData) => {
            console.log("Additional data:", additionalData);
        })
        .catch((error) => console.error(error));
AtenciĂłn
Llama al método getAdditionalData solo después de que se haya enviado el formulario; es decir, después de llamar al getFormData. . Esto asegura que los datos devueltos sean vålidos y fiables.