Integrar - Modelo dinâmico - Mercado Pago Developers

Como integrar QR modelo dinâmico

Para cobrar através de um código QR modelo dinâmico, você deverá criar uma ordem e, a partir da resposta obtida, criar um código com algum serviço externo.

Fluxo do modelo

Veja o passo a passo do modelo dinâmico:

  1. Crie uma ordem com todas as informações necessárias para o pagamento.
  2. Na resposta, você vai encontrar uma string de dados sob o atributo qr_data.
  3. Gere um código QR com o atributo recebido.
  4. Por último, disponibilize o código QR para o cliente como você preferir para ele realizar o pagamento.

Crie a ordem

Primeiro, gera a publicação de ordem. Assim que os dados sejam enviados para o Mercado Pago, ficará disponível uma cadeia de dados com padrão EMVCo.

Execute a seguinte chamada para a API a fim de gerar uma ordem. Na resposta, você vai receber o dado necessário para criar o código QR.

curl

curl -X POST \
 https://api.mercadopago.com/instore/orders/qr/seller/collectors/USER_ID/pos/EXTERNAL_POS_ID/qrs \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
 -d '{
    "external_reference": "order-id-1234",
    "title": "Title",
    "description": "Mercado Pago",
    "notification_url": "https://www.yourserver.com",
    "expiration_date": "2023-08-22T16:34:56.559-04:00",
    "total_amount": 1190,
    "items": [
        {
            "sku_number": "KS955RUR",
            "category": "FOOD",
            "title": "Item1",
            "description": "Item1 Mercado Pago",
            "unit_price": 238,
            "quantity": 5,
            "unit_measure": "unit",
            "total_amount": 1190
        }
    ],
    "sponsor": {
                "id": 820480089
            }
}'

Você pode obter mais informações nas Referências de API.

Nota
O modelo não tem a opção de deletar a ordem. Por isso, recomendamos configurar uma data de expiração com o atributo expiration_date.

Resposta

json

{
   "qr_data": "00020101021243650016COM.MERCADOLIBRE02013063638f1192a-5fd1-4180-a180-8bcae3556bc35204000053039865802BR5925IZABEL AAAA DE MELO6007BARUERI62070503***63040B6D"
}

A resposta será uma string com o padrão EMVCo. Use o qr_data para disponibilizar o código QR com um gerador ou por seu aplicativo.

Associa a ordem a uma caixa

Além da geração do código QR, você também tem a opção de criar e atribuir a mesma ordem ao código QR fixo da caixa.

Execute a seguinte chamada para a API a fim de gerar uma ordem e a atribuição à caixa. Na resposta, você vai receber o dado necessário para criar o código QR.

curl

curl -X PUT \
 https://api.mercadopago.com/instore/orders/qr/seller/collectors/USER_ID/pos/EXTERNAL_POS_ID/qrs \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
 -d '{
    "external_reference": "order-id-1234",
    "title": "Title",
    "description": "Mercado Pago",
    "notification_url": "https://www.yourserver.com",
    "expiration_date": "2023-08-22T16:34:56.559-04:00",
    "total_amount": 1190,
    "items": [
        {
            "sku_number": "KS955RUR",
            "category": "FOOD",
            "title": "Item1",
            "description": "Item1 Mercado Pago",
            "unit_price": 238,
            "quantity": 5,
            "unit_measure": "unit",
            "total_amount": 1190
        }
    ],
    "sponsor": {
                "id": 820480089
            }
}'

Receba notificações de suas ordens

As notificações IPN (Instant Payment Notification) são a forma automática de aviso da criação de novas ordens e as atualizações de seus estados. Por exemplo, se foram aprovadas, recusadas ou se estiverem pendentes.

Implementa IPN de merchant_order junto com uma busca do pedido por external_reference como método de contingência.

Receber notificações IPN