Como usar a API para criar uma cobrança com vencimento (cobv)?
Para criar uma cobrança Pix com vencimento, você utiliza o endpoint /api/v1/charge da API.
Você pode acessar aqui a documentação referente a esse endpoint.
Os campos obrigatórios para criar uma cobrança Pix com vencimento são os seguintes:
value: O valor em centavos da cobrança Pix a ser criado.correlationID: Um identificador único para a cobrança Pix. CorrelationIDtype: O tipo de cobrança. Especificamente com o valorOVERDUE.customer: Um objeto que representa o usuário que vai receber a cobrança.
Dentro de customer é necessário enviar a o CPF/CNPJ do cliente sendo cobrado.
Se o cliente já estiver cadastrado em nosso banco de dados e tiver um endereço, essas informações bastam.
Entretanto, caso o cliente não esteja cadastrado, ou não tenha endereço cadastrado, é necessário, ou cadastrar o cliente com um endereço, ou enviar essas informações junto com a requisição.
Exemplo
O body da sua requisição será semelhante a este exemplo:
{
  "value": 100,
  "correlationID": "c782e0ac-833d-4a89-9e73-9b60b2b41d3a",
  "type": "OVERDUE",
  "customer": {
    "taxID": "607.681.970-74"
  }
}
Após efetuar a requisição, se tudo ocorreu bem, o status code da requisição será 2xx e no body da resposta, retornaremos a assinatura criada.
Retornarmeros a seguinte resposta de exemplo:
{
  "charge": {
    "customer": {
      "name": "S...",
      "address": {
        "zipcode": "13...",
        "street": "R...",
        "number": "151",
        "neighborhood": "Centro",
        "city": "S...",
        "state": "SP",
        "complement": "Casa"
      },
      "taxID": { "taxID": "60768197074", "type": "BR:CPF" },
      "correlationID": "b6b1f741-f13f-4923-a14e-b515b245e6a5"
    },
    "value": 1500,
    "identifier": "ec60c...",
    "correlationID": "c782e0ac-833d-4a89-9e73-9b60b2b41d3a",
    "paymentLinkID": "98e76...",
    "transactionID": "ec60c...",
    "status": "ACTIVE",
    "giftbackAppliedValue": 0,
    "discount": 0,
    "valueWithDiscount": 1500,
    "expiresDate": "2023-03-04T02:59:59.999Z",
    "type": "OVERDUE",
    "createdAt": "2023-02-24T20:31:35.288Z",
    "additionalInfo": [],
    "updatedAt": "2023-02-24T20:31:43.744Z",
    "interestsSettings": {
      "fines": { "value": 1000 },
      "interests": { "value": 200 }
    },
    "expiresIn": 628104,
    "pixKey": "d65032...",
    "brCode": "0002010...",
    "paymentLinkUrl": "http://url.com/pay/...",
    "qrCodeImage": "http://url.com/openpix/charge/brcode/image/...",
    "globalID": "Q2hhcmdlOjYzZjkxZ..."
  },
  "correlationID": "c782e0ac-833d-4a89-9e73-9b60b2b41d3a",
  "brCode": "0002010..."
}
Exemplos em código
- Shell + cURL
 - JavaScript + Fetch
 
  curl 'https://api.openpix.com.br/api/v1/charge' -X POST \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -H "user-agent: node-fetch" \
      --data-binary '{"correlationID":"c782e0ac-833d-4a89-9e73-9b60b2b41d3a","value":1500, "type": "OVERDUE","customer": {"taxID": "607.681.970-74"}}'
fetch('https://api.openpix.com.br/api/v1/charge', {
  method: 'POST',
  body: JSON.stringify({
    value: 100,
    correlationID: 'c782e0ac-833d-4a89-9e73-9b60b2b41d3a',
    type: 'OVERDUE',
    customer: {
      taxID: '607.681.970-74',
    },
  }),
  headers: {
    Authorization: 'AUTHORIZATION',
    'Content-Type': 'application/json',
  },
}).then((res) => res.json());