Como migrar do Web Tokenize Checkout V2
Se sua integração estiver usando a V2 do Web Tokenize Checkout, siga os passos abaixo para migrar para o Checkout Bricks.
Receber pagamentos de cartĂŁo
Client-Side
- Encontre na sua estrutura atual o form que chama o Web Tokenize Checkout.
HTML
<div class=tokenizer-container>
<script>
// Agrega credenciales de SDK
const mp = new MercadoPago('PUBLIC_KEY', {locale: 'es-AR'});
// Inicializa el Web Tokenize Checkout
mp.checkout({
tokenizer: {
totalAmount: 4000,
backUrl: 'https://www.mi-sitio.com/procesar-pago'
},
render: {
container: '.tokenizer-container', // Indica dĂłnde se mostrarĂĄ el botĂłn
label: 'Pagar' // Cambia el texto del botĂłn de pago (opcional)
}
});
</script>
</div>
- Substitua esse formulĂĄrio pela tag que conterĂĄ o Bricks de Card Payment.
HTML
<div id="paymentBrick_container"></div>
- Adicione o script responsĂĄvel por carregar o Bricks.
javascript
const mp = new MercadoPago('YOUR_PUBLIC_KEY');
const bricksBuilder = mp.bricks();
const renderPaymentBrick = async (bricksBuilder) => {
const settings = {
initialization: {
amount: 100, //valor do processamento a ser realizado
payer: {
email: '<PAYER_EMAIL_HERE>',
},
},
style: {
theme: 'default' // | 'dark' | 'bootstrap' | 'flat'
},
callbacks: {
onReady: () => {
// callback chamado quando o Brick estiver pronto
},
onSubmit: ({paymentType, formData}) => {
// callback chamado o usuĂĄrio clicar no botĂŁo de submissĂŁo dos dados
// ejemplo de envĂo de los datos recolectados por el Brick a su servidor
return new Promise((resolve, reject) => {
fetch("/processar-pago", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData)
})
.then((response) => {
// receber o resultado do pagamento
resolve();
})
.catch((error) => {
// lidar com a resposta de erro ao tentar criar o pagamento
reject();
})
});
},
onError: (error) => {
// callback chamado para todos os casos de erro do Brick
},
},
};
window.cardPaymentBrickController = await bricksBuilder.create('payment', 'paymentBrick_container', settings);
};
renderPaymentBrick(bricksBuilder);
- No callback de
onSubmit
do Brick, adicione a mesma URL que utilizava no parĂąmetroaction
do seu formulĂĄrio. Ă para ela que o Brick enviarĂĄ os dados do formulĂĄrio de pagamento.
Usuårios e cartÔes
Client-Side
Receber o pagamento de um usuårio com cartÔes salvos
Para receber o pagamento de um usuårio com cartÔes salvos, é necessårio passar o usuårio e os cartÔes para o Bricks, que realizarå o processo de tokenização e enviarå no callback de onSubmit
as informaçÔes para a geração do pagamento.
- Encontre na estrutura atual de sua integração o formulårio que chama o Web Tokenize Checkout.
HTML
<script>
mp.checkout({
tokenizer: {
totalAmount: 4000,
backUrl: 'https://www.mi-sitio.com/process',
savedCards: {
cardIds: '1518023392627,1518023332143' // IDs de las tarjetas
customerId: '209277402-FqRqgEc3XItrxs' // Tu customer ID
}
},
render: {
container: â.tokenizer-containerâ,
label: âPagarâ
}
});
</script>
- Substitua esse formulĂĄrio pela tag que conterĂĄ o Brick de Card Payment.
HTML
<script>
const mp = new MercadoPago('YOUR_PUBLIC_KEY');
const bricksBuilder = mp.bricks();
const renderCardPaymentBrick = async (bricksBuilder) => {
const settings = {
initialization: {
amount: 100, //valor do processamento a ser realizado
payer: {
customer_id: "209277402-FqRqgEc3XItrxs",
card_ids: [â1518023392627â,â1518023332143â]
},
},
style: {
theme: 'default' // | 'dark' | 'bootstrap' | 'flat'
},
callbacks: {
onReady: () => {
// callback chamado quando o Brick estiver pronto
},
onSubmit: ({paymentType, formData}) => {
// callback chamado o usuĂĄrio clicar no botĂŁo de submissĂŁo dos dados
// ejemplo de envĂo de los datos recolectados por el Brick a su servidor
return new Promise((resolve, reject) => {
fetch("/processar-pago", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData)
})
.then((response) => {
// receber o resultado do pagamento
resolve();
})
.catch((error) => {
// lidar com a resposta de erro ao tentar criar o pagamento
reject();
})
});
},
onError: (error) => {
// callback chamado para todos os casos de erro do Brick
},
},
};
window.cardPaymentBrickController = await bricksBuilder.create('cardPayment', 'cardPaymentBrick_container', settings);
};
renderCardPaymentBrick(bricksBuilder);
</script>
Com essa configuração, serĂĄ possĂvel realizar o processamento do pagamento com os cartĂ”es salvos.