Mercado Pago

Esta documentação descreve a integração do Carat com a plataforma de pagamento Mercado Pago. Além de explicar sobre as configurações que devem ser, necessariamente, efetuadas no ambiente do Carat.

Interfaces Carat suportadas para integração#

É possível utilizar as seguintes interfaces para a integração com o roteamento Mercado Pago:

Credenciais necessárias#

A loja deve obter no portal do Mercado Pago as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro no Portal do Lojista do Carat.

ParâmetroDescriçãoObrigatório
public_keyChave pública da aplicação para saber, por exemplo, os meios de pagamento e criptografar os dados do cartão.SIM
access_tokenChave privada da aplicação para gerar pagamentos.SIM

Códigos de autorizadora#

Abaixo estão os códigos a serem utilizados nessa integração:

  • 440: PIX
  • 402: demais formas de pagamento com Mercado Pago

Atenção: No ambiente de homologação do Mercado Pago não é possível simular uma transação PIX aprovada. A transação ficará pendente.

Parâmetros específicos do Mercado Pago#

Serviço de criação de pagamento HTML#

Abaixo estão os parâmetros de requisição específicos do Mercado Pago para o serviço de criação de pagamento HTML:

ParâmetroDescriçãoTamanhoObrigatório
additional_dataDados adicionais da transação.
application_feeValor de comissão do Mercado Pago em centavos< 12 NNÃO
binary_modeModo binário de aprovação. Quando definido como true, o pagamento só pode ser aprovado ou negado (não fica pendente).< 5 ANNÃO
discount_campaign_idIdentificador da campanha de desconto< 1024 ANNÃO
discount_amountValor do cupom de desconto em centavos< 12 NNÃO
acquirer_expiry_dateData de expiração do pagamento no formato AAAA-MM-DDTHH:MM:SS= 19 ANNÃO
acquirer_expiry_date_fromData a partir da qual a iniciação do pagamento estará ativa no formato AAAA-MM-DDTHH:MM:SS= 19 ANNÃO
acquirer_expiry_date_toData de expiração da iniciação do pagamento no formato AAAA-MM-DDTHH:MM:SS= 19 ANNÃO
acquirer_expiresBooleano que indica se a iniciação do pagamento expira.< 5 ANNÃO
descriptionRazão de pagamento ou título do item< 1024 ANNÃO
extra_infoInformações adicionais.< 1024 ANNÃO
max_installmentsNúmero máximo de parcelas.< 2 NNÃO
additional_data
.items[]
Dados de carrinho de compras. Obrigatório o envio de pelo menos um item, e a soma dos preços do carrinho deve ser igual ao valor total da transação (campo amount, na raiz do JSON).
idID do produto.< 1024 ANNÃO
titleNome do item.< 1024 ANNÃO
descriptionDescrição do item.< 1024 ANNÃO
picture_urlURL da imagem do item.< 1024 ANNÃO
category_idCategoria do item: art, baby, coupon, donation, computing, camera, video_game, television, car_eletronic, automotive, entertainment, fashion, game, home, musical, phone, service, learning, ticket, travel, virtual_good ou other< 1024 ANNÃO
quantityQuantidade do item.< 7 NSIM
unit_pricePreço unitário do item em centavos.< 12 NSIM
additional_data
.payer
Dados do comprador.
nameNome do comprador.< 1024 ANNÃO
surnameSobrenome do comprador.< 1024 ANNÃO
emailE-mail do comprador.< 1024 ANNÃO
creation_dateData da criação da conta no formato DD/MM/AAAA= 10 ANNÃO
identification_typeTipo de identificação do comprador.< 1024 ANNÃO
identification_numberNúmero de identificação do comprador.< 1024 ANNÃO
typeTipo de identificação do pagador associado: guest, customer ou registered< 10 ANNÃO
additional_data
.payer
.phones[]
Telefone do comprador.
dddCódigo da área do telefone.< 1024 ANNÃO
numberNúmero do telefone do comprador.< 1024 ANNÃO
additional_data
.payer
.address
Endereço do comprador.
street_nameEndereço do comprador.< 1024 ANNÃO
street_numberNúmero do endereço do comprador.< 1024 ANNÃO
zip_codeCEP do comprador.< 1024 ANNÃO
additional_data
.shipment
Endereço de entrega.
modeModo de envio:
  • custom = Customizado
  • me2 = Mercado Envios
  • not_specified = Não especificado
< 1024 ANNÃO
local_pickupPreferência de remoção de pacotes em agência (booleano). Apenas para mode = me2.< 5 ANNÃO
dimensionsTamanho do pacote em cm x cm x cm, gr. Apenas para mode = me2.< 1024 ANNÃO
default_shipping_methodEscolha um método de envio padrão no checkout. Apenas para mode = me2.< 1024 ANNÃO
costCusto do transporte em centavos. Apenas para mode = custom.< 12 NNÃO
free_shipmentPreferência de frete grátis (booleano). Apenas para mode = custom.< 5 ANNÃO
additional_data
.shipment
.free_methods[]
Oferecer um método de frete grátis. Apenas para mode = me2.
idIdentificador do método de envio< 1024 ANNÃO
additional_data
.shipment
.address
Endereço de entrega.
zip_codeCEP do endereço de entrega.< 1024 ANNÃO
street_numberNúmero do endereço de entrega.< 1024 ANNÃO
street_nameNome da rua de entrega.< 1024 ANNÃO
floorNúmero do andar de entrega.< 1024 ANNÃO
apartmentNúmero do apartamento de entrega.< 1024 ANNÃO
citycidade de entrega.< 1024 ANNÃO
stateEstado de entrega.< 1024 ANNÃO
additional_data
.payment_method
.excluded_payment_methods[]
Métodos de pagamento a serem excluídos do fluxo de pagamento Mercado Pago.
idID do método de pagamento a ser excluído:
  • debelo = Elo Debito
  • debmaster = Mastercard Débito
  • visa = Visa
  • master = Mastercard
  • hipercard = Hipercard
  • amex = American Express
  • elo = Elo
  • debvisa = Visa Débito
  • pec = Pagamento na lotérica sem boleto
  • bolbradesco = Boleto
< 1024 ANNÃO
additional_data
.payment_method
.excluded_payment_types[]
Tipos de pagamento a serem excluídos do fluxo de pagamento Mercado Pago.
idID do tipo de pagamento a ser excluído: debit_card, credit_card ou ticket.< 1024 ANNÃO
additional_data
.payment_method
.ad_tracks[]
Tracks que serão executados durante a interação do usuário no fluxo de Pagamento.
typeTipo da track:
  • google_ad: Configure uma tag de acompanhamento de conversões do Google Ads no GTM. Valores necessários: conversion_id e conversion_label.
  • facebook_ad: Permite configurar um pixel do Facebook. Valores necessários: pixel_id.
< 1024 ANNÃO
conversion_idConversion ID da track.< 1024 ANNÃO
conversion_labelConversion Label da track.< 1024 ANNÃO
pixel_idPixel ID da track.< 1024 ANNÃO

Exemplo de JSON:

{
"merchant_id":"LOJAMERCADOPAGO",
"merchant_usn":"123456",
"amount":"100",
"soft_descriptor":"softDescriptor",
"additional_data":{
"extra_info":"extraInfo",
"items":[
{
"title":"Camiseta",
"quantity":"1",
"unit_price":"100",
"picture_url":"https://abc.def/item/552292339/zoom/10.jpg",
"category_id":"fashion",
"description":"Camiseta Preta",
"id":"id"
}
],
"payer":{
"name":"Jonas",
"surname":"Melo",
"email":"a@b.com",
"date_created":"11/02/2015",
"address":{
"zip_code":"12345678",
"street_number":"751",
"street_name":"Rua Major Vitor"
},
"phones":[
{
"number":"912341234",
"ddd":"11"
}
],
"identification_type":"CPF",
"identification_number":"86670573049"
},
"payment_method":{
"excluded_payment_methods":[
{
"id":"debelo"
}
],
"excluded_payment_types":[
{
"id":"debit_card"
}
]
},
"shipment":{
"mode":"not_specified",
"local_pickup":"true",
"dimensions":"23x23x23, 23g",
"default_shipping_method":"45",
"cost":"2",
"free_shipment":"true",
"address":{
"zip_code":"87654321",
"street_number":"920",
"street_name":"Rua General Henrique",
"floor":"1",
"apartment":"23",
"city":"São Mateus",
"state":"AM"
},
"free_methods":[
{
"id":"621"
}
]
},
"max_installments":"12",
"application_fee":"1",
"acquirer_expiry_date":"2021-06-02T11:05:27",
"acquirer_expiry_date_from":"2021-06-01T11:05:27",
"acquirer_expiry_date_to":"2021-06-03T11:05:27",
"acquirer_expires":"false",
"ad_tracks":[
{
"conversion_id":"conversionId",
"type":"google_ad",
"conversion_label":"conversionLabel"
}
]
}
}