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

Emissão de QR Code PIX e pagamento para um pedido com divisão de pagamento

Esse guia descreve como emitir um QR Code PIX de um pedido com divisão de pagamento.

Regras para criar um pedido com QR Code PIX

Para entender melhor as regras para a emissão de um QR Code para pagamento em PIX acesse a nossa documentação sobre como criar pedido com QR Code.

📘

Para um pedido com divisão de pagamento em PIX, o QR Code poderá ter seu prazo máximo de expiração até às 23:59 do dia seguinte da emissão.

Regras do split de pagamentos do PagBank

O Split com PIX, ou pedido com divisão de um pagamento em PIX, seguirá as mesmas regras de pedidos com divisão de pagamentos para cartão de crédito e boleto bancário, em que já é possível criar pedido com divisão de pagamento e cancelar um pedido que foi dividido, respeitando as regras de divisão de pagamentos.

Documentações técnicas do split de pagamentos do PagBank

Pedido com divisão de pagamento

Criar um pedido com divisão de pagamento

Consultar um pedido com divisão de pagamentos

Consultar dados da divisão de pagamentos de um pedido

Cancelar um pedido com divisão de pagamento

Como emitir um QR Code PIX para um pedido com divisão de pagamento

Para uma divisão de pagamento em PIX, a cobrança será gerada após o pagamento do QR Code, e para isso, primeiro é necessário gerar um QR Code com as informações dessa divisão de pagamento. Ou seja, nesse caso, o objeto "splits" deverá ficar dentro do objeto "qr_codes" no momento da requisição.

Segue abaixo exemplo de pedido com divisão de pagamento para QR Code PIX:

curl --request POST \
     --url https://sandbox.api.pagseguro.com/orders \
     --header 'Authorization: Bearer <token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "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": [
    {
      "reference_id": "referencia do item",
      "name": "nome do item",
      "quantity": 1,
      "unit_amount": 10000
    }
  ],
  "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": [
        {
            "amount": {
                "value": 10000
            },
            "expiration_date": "2023-10-18T20:15:59-03:00",
            "splits": {
                "method": "FIXED",
                "receivers": [
                    {
                        "account": {
                            "id": "ACCO_12345"
                        },
                        "amount": {
                            "value": 6000
                        }
                    },
                    {
                        "account": {
                            "id": "ACCO_67890"
                        },
                        "amount": {
                            "value": 4000
                        }
                    }
                ]
            }
        }
    ],
    "notification_urls": [
        "https://meusite.com/notificacoes"
    ]
}'
{
    "id": "ORDE_08DE032B-A890-4BB8-BBDE-CD88521871A0",
    "reference_id": "reference-teste",
    "created_at": "2023-10-18T14:45:49.656-03:00",
    "customer": {
        "name": "Jose da Silva",
        "email": "[email protected]",
        "tax_id": "12345678909",
        "phones": [
          {
            "country": "55",
            "area": "11",
            "number": "999999999",
            "type": "MOBILE"
          }
        ]
    },
    "items": [
        {
            "reference_id": "referencia do item",
            "name": "nome do item",
            "quantity": 1,
            "unit_amount": 10000
        }
    ],
    "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_CF532BDB-5FE9-4FB8-B849-6E55E06796F0",
            "expiration_date": "2023-10-19T23:59:59.000-03:00",
            "amount": {
                "value": 10000
            },
            "text": "00020101021226860014br.gov.bcb.pix2564sandbox.api.pagseguro.com/pix/v2/CF532BDB-5FE9-4FB8-B849-6E55E06796FE27600016BR.COM.PAGSEGURO0136CF532BDB-5FE9-4FB8-B849-6E55E06796FE5204899953039865406100.005802BR5914TEsteste6009SAO PAULO62070503***63043755",
            "arrangements": [
                "PIX"
            ],
            "links": [
                {
                    "rel": "QRCODE.PNG",
                    "href": "https://sandbox.api.pagseguro.com/qrcode/QRCO_CF532BDB-5FE9-4FB8-B849-6E55E06796F0/png",
                    "media": "image/png",
                    "type": "GET"
                },
                {
                    "rel": "QRCODE.BASE64",
                    "href": "https://sandbox.api.pagseguro.com/qrcode/QRCO_CF532BDB-5FE9-4FB8-B849-6E55E06796F0/base64",
                    "media": "text/plain",
                    "type": "GET"
                }
            ],
            "splits": {
                "method": "FIXED",
                "receivers": [
                    {
                        "account": {
                            "id": "ACCO_12345"
                        },
                        "amount": {
                            "value": 6000
                        }
                    },
                    {
                        "account": {
                            "id": "ACCO_67890"
                        },
                        "amount": {
                            "value": 4000
                        }
                    }
                ]
            }
        }
    ],
    "notification_urls": [
        "https://meusite.com/notificacoes"
    ],
    "links": [
        {
            "rel": "SELF",
            "href": "https://sandbox.api.pagseguro.com/orders/ORDE_08DE032B-A890-4BB8-BBDE-CD88521871A0",
            "media": "application/json",
            "type": "GET"
        },
        {
            "rel": "PAY",
            "href": "https://sandbox.api.pagseguro.com/orders/ORDE_08DE032B-A890-4BB8-BBDE-CD88521871A0/pay",
            "media": "application/json",
            "type": "POST"
        }
    ]
}

Quando o pedido é criado com sucesso, são retornados no response o id do pedido e o id do QR Code PIX.

Ao criar um pedido com QR Code, o PagBank disponibiliza duas formas para que o usuário possa consumí-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 os seguintes parâmetros que estão contidos dentro do objeto qr_codes:

O parâmetro text para obter o código QR Code gerado.

O parâmetro media = image/png, que está contido no objeto qr_codes.links fornece a URL para acessar a imagem do QR Code, como demonstrado no exemplo a seguir:

curl --request GET \
--url https://sandbox.api.pagseguro.com/qrcode/QRCO_CF532BDB-5FE9-4FB8-B849-6E55E06796F0/png'

Pagamentos com PIX

O pagamento no ambiente de sandbox é realizado de forma automática pelo Simulador: https://dev.pagbank.uol.com.br/reference/simulador

Os pagamentos com PIX podem resultar em dois status distintos, sendo: paid ou waiting. Essas duas situações são cobertas pelo Simulador e descritas com mais detalhes abaixo:

Cenário de sucesso: A transação é criada com status= waiting. Por se tratar de um ambiente de simulação, segundos após a criação do pedido, ele é automaticamente considerado pago ou pago com delay de cinco minutos, conforme gatilho escolhido da tabela abaixo. Dessa forma, o status do pedido será alterado para status=paid.
A identificação pelo Simulador do cenário desejado é baseado no valor da transação enviada. A tabela abaixo descreve os valores que devem ser utilizados para cada um dos cenários de teste disponível.

Valor da transaçãoCenário
Menor ou igual a R$ 100,00Pago instantaneamente
Maior que R$ 100,00 e menor igual a R$ 200,00Pago com delay de 5 minutos
Maior que R$ 200,00 e menor igual a R$ 300,00Aguardando Pagamento
Maior que R$ 300Aguardando Pagamento