Como migrar do Web Tokenize Checkout V1
Se sua integração estiver usando a V1 do Web Tokenize Checkout, siga os passos abaixo para migrar para o Checkout Bricks.
Receber pagamentos de cartĂŁo
Client-Side
- Encontre na estrutura atual de sua integração o formulårio que chama o Web Tokenize Checkout.
html
<form action="https://www.mi-sitio.com/procesar-pago" method="POST"> <script src="https://www.mercadopago.com.ar/integrations/v1/web-tokenize-checkout.js" data-public-key="ENV_PUBLIC_KEY" data-transaction-amount="100.00"> </script> </form>
- Substitua esse formulĂĄrio pela tag que conterĂĄ o Brick de Card Payment.
html
<div id="paymentBrick_container"></div>
- Adicione também a importação da SDK JS.
html
<script src="https://sdk.mercadopago.com/js/v2"></script>
- Adicione agora o script responsĂĄvel por carregar o Brick
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Ăąmetro
action
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 migrar o usuårio e os cartÔes para o Brick, que realizarå o processo de tokenização e enviarå no callback de onSubmit as informaçÔes para a geração do pagamento. Para isso, siga os passos abaixo.
- Encontre na estrutura atual de sua integração o formulårio que chama o Web Tokenize Checkout.
html
<form action="/procesar-pago" method="POST"> <script src="https://www.mercadopago.com.ar/integrations/v1/web-tokenize-checkout.js" data-public-key="ENV_PUBLIC_KEY" data-transaction-amount="100.00" data-customer-id="209277402-FqRqgEc3XItrxs" data-card-ids="1518023392627,1518023332143"> </script> </form>
- Substitua esse formulĂĄrio pela tag que conterĂĄ o Brick de Card Payment.
javascript
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);
Com essa configuração, serĂĄ possĂvel realizar o processamento do pagamento com os cartĂ”es salvos.