These docs are for v2.2. Click to read the latest docs for v4.1.

Criar pedido com QR Code (PIX)

Esse guia descreve como criar um pedido com QR Code. No PagBank, todo pedido criado com QR Code suporta apenas o PIX como meio de pagamento.

Para que o QR Code aceite o pagamento PIX, é necessário que você possua pelo menos uma chave PIX de endereçamento ativa associada à sua conta PagBank. Se você possuir várias chaves de endereçamento cadastradas, será dada prioridade à utilização de uma chave de endereçamento aleatória.

É importante destacar que o QR Code gerado pode ser utilizado para um único pagamento. Isso significa que após uma transação bem-sucedida realizada usando o QR Code, ele não poderá ser utilizado para receber outros pagamentos. Atualmente, o sistema PagBank suporta a criação de apenas um QR Code por pedido.

Crie o pedido com QR Code

Para a criação do pedido utilizando QR Code, você irá utilizar o endpoint Criar pedido. Ao contrário dos pedidos com cartão ou Boleto, ao utilizar QR Code você não precisar fornecer na requisição o objeto charges. Os dados relacionados ao valor do pedido e data de expiração do QR Code usando os parâmetros qr_codes.amount.value e qr_codes.expiration_date, respectivamente. Por padrão, o QR Code gerado tem validade de 24 horas caso o parâmetro qr_codes.expiration_date não seja definido na requisição.

Ao adicionar informações ao objeto qr_codes na requisição ao endpoint Criar pedido, o QR code será gerado automaticamente. Para realizar o pagamento, o usuário poderá utilizar o app PagBank ou aplicativo de outras instituições que suportam o PIX.

Abaixo você encontra um exemplo de requisição e reposta feitas ao o endpoint Criar pedido para criar um pedido com QR Code.

curl --location --request POST 'https: //sandbox.api.pagseguro.com/orders' \
--data-raw '{
  "reference_id": "ex-00001",
  "customer": {
    "name": "Jose da Silva",
    "email": "[email protected]",
    "tax_id": "12345678909",
    "phones": [
      {
        "country": "55",
        "area": "11",
        "number": "999999999",
        "type": "MOBILE"
      }
    ]
  },
  "items": [
    {
      "name": "nome do item",
      "quantity": 1,
      "unit_amount": 500
    }
  ],
  "qr_codes": [
    {
      "amount": {
        "value": 500
      },
      "expiration_date": "2021-08-29T20:15:59-03:00",
    }
  ],
  "shipping": {
    "address": {
      "street": "Avenida Brigadeiro Faria Lima",
      "number": "1384",
      "complement": "apto 12",
      "locality": "Pinheiros",
      "city": "São Paulo",
      "region_code": "SP",
      "country": "BRA",
      "postal_code": "01452002"
    }
  },
  "notification_urls": [
    "https://meusite.com/notificacoes"
  ]
}'
{
  "id": "ORDE_9BBD677F-863E-4D46-BAAF-2EECEE49FF31",
  "reference_id": "ex-00001",
  "created_at": "2021-01-19T09:30:12.197-03:00",
  "customer": {
    "name": "José da Silva",
    "email": "[email protected]",
    "tax_id": "12345678901",
    "phones": [
      {
        "country": "55",
        "area": "11",
        "number": "999999999",
        "type": "MOBILE"
      }
    ]
  },
  "items": [
    {
      "reference_id": "referencia do item",
      "name": "nome do item",
      "quantity": "1",
      "unit_amount": "100"
    }
  ],
  "amount": {
    "currency": "BRL",
    "additional": 100,
    "discount": 100
  },
  "shipping": {
    "address": {
      "street": "Avenida Brigadeiro Faria Lima",
      "number": "1384",
      "complement": "apto 12",
      "locality": "Pinheiros",
      "city": "São Paulo",
      "region_code": "SP",
      "country": "BRA",
      "postal_code": "01452002"
    }
  },
  "qr_codes": [
    {
      "id": "QRCO_9E13BFE1-35C3-4DFD-B499-9B110AC0E1BA",
      "expiration_date": "2021-08-29T20:15:59-03:00",
      "amount": {
        "value": 100
      },
      "text": "00020101021226830014br.gov.bcb.pix2561api.pagseguro.com/pix/v2/9E13BFE1-35C3-4DFD-B499-9B110AC0E1BA27600016BR.COM.PAGSEGURO01369E13BFE1-35C3-4DFD-B499-9B110AC0E1BA52045697530398654041.005802BR5925Francisco da Sila Oliveir6007Barueri62070503***6304658F",
      "links": [
        {
          "rel": "QRCODE.PNG",
          "href": "https://api.pagseguro.com/qrcode/QRCO_9E13BFE1-35C3-4DFD-B499-9B110AC0E1BA/png",
          "media": "image/png",
          "type": "GET"
        },
        {
          "rel": "QRCODE.BASE64",
          "href": "https://api.pagseguro.com/qrcode/QRCO_9E13BFE1-35C3-4DFD-B499-9B110AC0E1BA/base64",
          "media": "text/plain",
          "type": "GET"
        }
      ]
    }
  ],
  "charges": [],
  "links": [
    {
      "rel": "SELF",
      "href": "https://api.pagseguro.com/orders/ORDE_9BBD677F-863E-4D46-BAAF-2EECEE49FF31",
      "media": "application/json",
      "type": "GET"
    },
    {
      "rel": "PAY",
      "href": "https://api.pagseguro.com/orders/ORDE_9BBD677F-863E-4D46-BAAF-2EECEE49FF31/pay",
      "media": "application/json",
      "type": "POST"
    }
  ]
}

Ao criar um pedido com QR Code, o PagBank disponibiliza duas formas para que o usuário possa consumi-lo, através do código de texto e imagem. Essas informações estão presentes na resposta do endpoint Criar pedido. Para acessá-las utilize o parâmetro qr_codes.links que disponibiliza dois objetos. O objeto com parâmetro media = text/plain fornece a URL para acessar o código de texto vinculado ao QR Code. Já o objeto com parâmetro media = image/png fornece a URL para acessar a imagem do QR Code.