Como usar a API para criar uma cobrança com vencimento, multa e juros (cobv)?
Para criar uma cobrança Pix com vencimento, multa e juros, 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, multa e juros são os sequintes:
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.
Uma resposta semelhante à seguinte será retornada:
{
"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.woovi.com/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.woovi.com/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());