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.
Campo | Tipo | Descrição |
bin | string | BIN do cartĂŁo inserido pelo usuĂĄrio. |
lastFourDigits | string | Os Ășltimos quatro dĂgitos para compras com cartĂŁo. |
cardholderName | string | Nome da pessoa titular do cartĂŁo. |
Veja abaixo um exemplo de uso:
const settings = {
...,
callbacks: {
onSubmit: (cardFormData, additionalData) => {
// callback chamado apĂłs o usuĂĄrio clicar no botĂŁo de submissĂŁo dos dados
// o parĂąmetro additionalData Ă© opcional, 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) => {
fetch("/process_payment", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(cardFormData)
})
.then((response) => {
// receber o resultado do pagamento
resolve();
})
.catch((error) => {
// lidar com a resposta de erro ao tentar criar o pagamento
reject();
})
});
},
},
}
<Card
initialization={initialization}
customization={customization}
onSubmit={async (cardFormData, additionalData) => {
console.log(cardFormData, 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
cardPaymentBrickController.getAdditionalData()
.then((additionalData) => {
console.log("Additional data:", additionalData);
})
.catch((error) => console.error(error));