Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Vendas Online via API com Mercado Pago - #6 Bandeira e Parcelas

11/03/2020

Neste tutorial aprenderemos como trazer a bandeira do cartão de crédito para o nosso formulário e como exibir a quantidade de parcelas disponíveis para o comprador.

Mercado Pago - Bandeira e Parcelas do Cartão

Para implementar a bandeira, primeiramente iremos criar um div com a class brand no nosso html:

<li>
    <label for="cardNumber">Credit card number:</label>
    <input type="text" id="cardNumber" data-checkout="cardNumber" placeholder="4509 9535 6623 3704" onselectstart="return false" onpaste="return false" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false" autocomplete=off />
    <div class="brand"></div>
</li>

Posteriormente iremos chamar a bandeira pelo javascript:

//Set Payment
function setPaymentMethodInfo(status, response) {
    if (status == 200) {
        const paymentMethodElement = doc.querySelector('input[name=paymentMethodId]');
        paymentMethodElement.value=response[0].id;
        doc.querySelector('.brand').innerHTML="<img src='"+response[0].thumbnail+"' alt='Bandeira do Cartão'>";
    } else {
        alert(`payment method info error: ${response}`);
    }
}

Para chamar a quantidade de parcelas pegaremos pela mesma função que pega o bin do cartão:

//Card bin
function cardBin(event) {
    let textLength=event.target.value.length;
    if(textLength >= 6){
        let bin=event.target.value.substring(0,6);
        window.Mercadopago.getPaymentMethod({
            "bin": bin
        }, setPaymentMethodInfo);

        Mercadopago.getInstallments({
            "bin": bin,
            "amount": parseFloat(document.querySelector('#amount').value),
        }, setInstallmentInfo);
    }
}
if(doc.querySelector('#cardNumber')){
    let cardNumber=doc.querySelector('#cardNumber');
    cardNumber.addEventListener('keyup',cardBin,false);
}

//Set Installments
function setInstallmentInfo(status, response) {
   let label=response[0].payer_costs;
   let installmentsSel=doc.querySelector('#installments');
   installmentsSel.options.length=0;

   label.map(function(elem,ind,obj){
      let txtOpt=elem.recommended_message;
      let valOpt=elem.installments;
      installmentsSel.options[installmentsSel.options.length]=new Option(txtOpt,valOpt);
   });

};

Por hoje é só! Sucesso nos códigos e na vida!

Precisa de Suporte Premium pelo TeamViewer? Contrate agora: webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Vendas Online via API com Mercado Pago - #5 Introdução à API
Nessa vídeoaula iniciamos a introdução a API do Mercado Pago aprendendo como utilizar o checkout transparente do Mercado Livre.
Saiba mais!
Vendas Online via API com Mercado Pago - #7 Obtendo token
Nesse tutorial aprenderemos como realizar a captura do token do cartão de crédito utilizando a API do Mercado Pago.
Saiba mais!
Mercado Pago
Neste curso aprenderemos como desenvolver pagamentos através do checkout transparente da API do Mercado Pago.
Saiba mais!