Cobrança estática

Pré requisitos para implementação:

  • Possuir uma chave API da Celcoin, para mais informações acessar esse link

  • Ter familiaridade com APIs Rest usando o protocolo OAuth 2.0.

  • Ter o produto/solução habilitada - caso queira contratar a funcionalidade, por favor, entre em contato com a nossa equipe comercial através do e-mail [email protected]. Para dúvidas técnicas, basta entrar em contato com o suporte através do link.

  • Ter uma chave Pix cadastrada - caso sua empresa não tenha, basta entrar em contato com o nosso suporte, solicitando a criação. Não realizamos o cadastro de chaves do tipo: CNPJ, e-mail, ou telefone, devido a possibilidade de fraudes.

Essa funcionalidade deve ser usada sempre que for necessário criar apenas um QR Code para realizar as cobranças de seus usuários, geralmente os clientes da Celcoin usam quando têm a necessidade de receber transferências Pix para habilitar créditos em sua aplicação, ou quando seu usuário deseja criar um QR Code para receber valores, por exemplo um live do twitch e youtube.

Caso de uso:

Como Fintech quero disponibilizar para os meus usuários, a possibilidade de cobrar de forma instantânea com apenas um QR Code, onde ao criar é possível que ele exponha em algum lugar, desta forma, pode ser realizado o escaneamento e uma transferência no valor desejado.

Criando um QR Code estático

Para realizar a criação de um QR Code estático é necessário realizar a chamada na API Criar um QR Code estático.

Modelo de request:

curl --location --request POST 'https://sandbox.openfinance.celcoin.dev/pix/v1/brcode/static' \
--header 'accept: application/json' \
--header 'Content-Type: application/json-patch+json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
  "key": "[email protected]",
  "amount": 10.55,
  "transactionIdentification": "testqrcodestaticcelcoin",
  "merchant": {
    "postalCode": "01201005",
    "city": "Barueri",
    "merchantCategoryCode": 0,
    "name": "Celcoin"
  },
  "tags": [
    "string"
  ],
  "additionalInformation": "Referente ao custo de...",
  "withdrawal": false
}'

Perceba que é necessário preencher o campo key com a sua chave Pix da Celcoin que será habilitada uma vez que você for aprovado no processo de homologação.

Caso você esteja realizando testes em sandbox recomendamos o uso da chave [email protected], pois nosso ambiente está preparado para realizar os testes com ela.

O campo transactionIdentification é opcional na geração do QR Code, o mesmo é utilizado para identificação do QR Code.

Dentro do objeto merchant deve ser populado os dados da sua empresa, sendo eles postalCode (CEP), city (cidade), name (nome da empresa). O restante das propriedades não são obrigatórias.

Modelo de retorno:

{
    "transactionId": 9179311,
    "emvqrcps": "00020126730014br.gov.bcb.pix0123testepix@bcelcoin.com.br0224Referente ao custo de...520400005303986540510.555802BR5907Celcoin6007Barueri61080120100562270523testqrcodestaticcelcoin6304C3A1",
    "transactionIdentification": "testqrcodestaticcelcoin"
}

Na propriedade emvqrcps, será retornado um código para ser criado o QR Code estático.

Recomendamos que seja armazenado do seu lado o transactionIdentification, para conseguir receber da Celcoin o status da cobrança via webhook.

Recebendo o status da cobrança com gatilho

O webhook é uma forma de receber informações de maneira assíncrona, onde geralmente são disparados gatilhos, no formato JSON, quando um evento acontece. Caso o pagamento ocorra com sucesso, a Celcoin dispara um gatilho (RECEIVEPIX) em seu webhook.

Para realizar a configuração de um webhook é necessário entrar em contato com a nossa equipe de suporte informando a url de seu webhook, senha e usuário, no formato BASIC, desta forma eles irão realizar o cadastro em nossa plataforma, para que seja possível o envio dos gatilhos.

Modelo de webhook:

{
    "RequestBody": {
        "TransactionType": "RECEIVEPIX",
        "TransactionId": 56762766,
        "Amount": 150.55,
        "DebitParty": {
            "Account": "416781236",
            "Bank": "18236120",
            "Branch": "1",
            "PersonType": "NATURAL_PERSON",
            "TaxId": "01234567890",
            "AccountType": "CACC",
            "Name": "Fulano de Tal"
        },
        "CreditParty": {
            "Bank": "13935893",
            "Branch": "1",
            "Account": "123456789",
            "PersonType": "NATURAL_PERSON",
            "TaxId": "09876543210",
            "AccountType": "CACC",
            "Name": "Cicrano de Outro",
            "Key": "8ea152b1-ddee-ssaa-aass-ce98245349aa"
        },
        "EndToEndId": "E18236120202001199999s0149012FPC",
        "transactionIdentification": "meuClientRequestId0014534",
        "transactionIdBRCode": "meuClientRequestId0014534"
    }
}

❗️

É muito importante que o parceiro realize a validação entre o valor da cobrança e o valor informado no campo "Amount" do webhook de recebimento, com intuito de conciliar o montante esperado com o que efetivamente foi pago e evitar possíveis prejuízos.

Exemplo de aplicação

Criamos o protótipo de um aplicativo para exemplificar a utilização da API:

🚧

Atenção!

Em ambiente de sandbox não é disparado o gatilho (RECEIVEPIX). Para receber, é necessário executar os testes em ambiente produtivo, com uma transação e pagamento de QR Code, usando saldo de sua conta bolsão Celcoin.