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.

Dados adicionais - Funcionalidades avançadas - Mercado Pago Developers

Dados adicionais

Dentro do callback onSubmit existe um segundo parĂąmetro, de uso opcional, chamado additionalData. Ele Ă© um objeto e pode conter dados adicionais Ășteis para sua integração, mas que nĂŁo sĂŁo necessĂĄrios para a confirmação do pagamento no backend.

Veja na tabela a seguir os campos contidos dentro do objeto additionalData, estes que sĂł serĂŁo retornados caso o usuĂĄrio tenha optado pelo pagamento com cartĂŁo.

CampoTipoDescrição
binstringBIN do cartĂŁo inserido pelo usuĂĄrio.
lastFourDigitsstringOs Ășltimos quatro dĂ­gitos para compras com cartĂŁo.
cardholderNamestringNome da pessoa titular do cartĂŁo.

Veja abaixo um exemplo de uso:

          
const settings = {
  ...,
  callbacks: {
    onSubmit: ({ selectedPaymentMethod, formData }, additionalData) => {
      // callback chamado apĂłs o usuĂĄrio clicar no botĂŁo de submissĂŁo dos dados
      // o parĂąmetro additionalData Ă© opcional, entĂŁo vocĂȘ pode removĂȘ-lo se quiser
      console.log(additionalData);
      // exemplo de envio dos dados coletados pelo Brick para seu servidor
      return new Promise((resolve, reject) => {
        const url = "<YOUR-BACKEND-URL-HERE>";

        if (selectedPaymentMethod === "wallet_purchase") {
          // wallet_purchase (Conta Mercado Pago) nĂŁo precisa ser enviado pelo backend
          resolve();
        }

        fetch(url, {
          method: "POST",
          headers: {
            "Content-Type": "application/json",
          },
          body: JSON.stringify(formData),
        })
          .then((response) => response.json())
          .then((response) => {
            // receber o resultado do pagamento
            resolve();
          })
          .catch((error) => {
            // lidar com a resposta de erro ao tentar criar o pagamento
            reject();
          });
      });
    },
  },
};

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

        

Caso nĂŁo esteja utilizando o botĂŁo nativo de enviar formulĂĄrio do Brick, vocĂȘ tambĂ©m pode acessar o objeto additionalData atravĂ©s do mĂ©todo getAdditionalData. Veja um exemplo de uso a seguir.

javascript

// variĂĄvel onde o controller do Brick estĂĄ salvo
paymentBrickController.getAdditionalData()
        .then((additionalData) => {
            console.log("Additional data:", additionalData);
        })
        .catch((error) => console.error(error));
Atenção
Chame o mĂ©todo getAdditionalData somente apĂłs o envio do formulĂĄrio, ou seja, apĂłs vocĂȘ chamar o mĂ©todo getFormData. Com isso, Ă© garantido que os dados retornados sĂŁo vĂĄlidos e confiĂĄveis.