Criar uma cobrança

Uma vez que a cobrança for gerada, a "vida" é controlada pelo Gestor de Cobranças.

Para gerar uma cobrança, é necessário ter um token válido e utiliza o endpoint POST Criar Cobrança (Order), ou utilizar o portal de cobranças, disponibilizado pela Celcoin para que cada cobrador utilize para as cobranças da sua conta.

Todas as telas são responsivas para formatos Desktop ou Mobile e podem ser também incluídas dentro dos seus canais em formato Whitelabel, sem a necessidade de direcionar seu cliente (gerador da cobrança) para um portal externo.


Jornadas whitelabel no Portal de Cobranças

Abaixo, algumas telas da geração dentro do Portal de Cobranças. Essas telas estão em constante ajuste para contemplar os novos métodos de pagamento adicionados e outras evoluções do produto.




Criando uma cobrança

Ao realizar a chamada de criação, deverá ser informado:

  • Título da cobrança (será exibida ao pagador)
  • Descrição (será exibida ao pagador)
  • Valor original da cobrança.
  • Data de expiração da cobrança (pode ser um prazo determinado ou indeterminado, cenário no qual não há expiração automática da cobrança)
  • Pagador (opcional, pode ou não ser especificado, é utilizado para controle, mas não restringe que o pagamento seja feito apenas pelo pagador original da cobrança - para alguns métodos como boletos, é necessário que o pagador seja especificado)
  • Dados do pagador (Nome Completo, CPF, endereço, email e telefone)
  • Indicação de envio automático de notificações (true ou false)
  • Métodos de pagamento permitidos para o pagador
  • Regras específicas por método de pagamento (ex: quantidade de parcelas)

Após ser feita a geração da cobrança, os dados utilizados na geração ficam armazenados, independente do método de pagamento escolhido pelo seu cliente, permitindo que a qualquer momento você obtenha os dados que foram definidos por quem criou a cobrança.

Toda cobrança gera automaticamente um link de pagamentos com os padrões visuais estabelecidos naquele momento, que pode ou não ser disponibilizado para o pagador, a critério de quem gerou a cobrança.

Uma vez gerada a cobrança, o status é controlado pelo Gestor de Cobranças, podendo ficar:

  • Aguardando Pagamento (REGISTERED)
  • Recebido (nesse caso, é possível identificar o método utilizado no recebimento) (PAID)
  • Expirado (o link expirou sem que o pagamento fosse feito dentro do prazo definido na geração da cobrança) (EXPIRED)
  • Cancelado (pedido de cancelamento feito pelo gerador da cobrança) (CANCELED)
  • Estornado (há status específicos para estorno parcial ou integral) (PARTIAL_PAID)

Modelo de Requisição:

Request

curl --request POST
--url https://sandbox.openfinance.celcoin.dev/baas/v1/payment-links/orders
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ****' \

{
    "clientRequestId": "ref-4975801-124",
    "account": "4975801",
    "amount": 5.00,
    "type": "SINGLE_PAYMENT",
    "recurrency": "ONE_SHOT",
    "recurrencyInstruction": {
        "expirationDate": "2026-05-28"
    },
    "description": {
        "title": "Mensalidade PayTrainer",
        "lines": [
            "Serviço com assinatura mensal",
            "Apenas pagamento de cartão"
        ]
    },
    "paymentMethods": {
        "pix": {
            "allowed": true,
            "pixKey": "15663289003"
        },
        "creditCard": {
            "allowed": true,
            "installments": 1
        },
        "openFinance": {
            "allowed": true
        }
    },
    "redirectAfterPaymentUrl": "https://www.celcoin.com.br"
}

Campos da requisição:

Campo PaiCampoDescriçãoTipoLimitação caracteresObrigatório
clientRequestIdID externo de referência do clientestring255Sim
accountID da conta bancária vinculada à cobrançastring255Sim
amountValor da cobrança em reaisnumberValor positivo maior que zeroSim
typeTipo da cobrança: SINGLE_PAYMENTstringSim
recurrencyRecorrência da cobrança.
MONTHLY(mensal) ou ONE_SHOT(cobrança única)
enumSim
recurrencyInstructionInstruções de recorrência. Obrigatório para recorrência MONTHLY.objectCondicional
customerDados do cliente pagadorobjectNão
descriptionDescrição da cobrançaobjectSim
paymentMethodsMétodos de pagamento disponíveis para a cobrançaobjectSim
customizationIdId da customização, caso não informado, será injetado o template padrão da conta - se houver.stringNão
redirectAfterPaymentUrlURL de redirecionamento após o pagamentostringChecagem se é uma URL válidaNão
recurrencyInstructionquantityQuantidade de recorrência de uma cobrança (apenas para recorrência MONTHLY)numberMin 0 e máximo 100.
Sendo 0 referente à uma recorrência sem prazo de finalização
Não
recurrencyInstructiondueDateData de vencimento no formato YYYY-MM-DD. (disponível apenas para cartão de crédito)stringFormato YYYY-MM-DDNão
recurrencyInstructionexpirationDateData de expiração no formato YYYY-MM-DD.
(disponível para cartão de crédito, pix e pix com open finance)
stringFormato YYYY-MM-DDNão
customerexternalCustomerIdID externo do cliente cadastrado na plataforma. Quando informado, os dados do cliente são buscados do cadastro e os campos inline são ignorados.stringNão
customernameNome do cliente. Obrigatório quando externalCustomerId não é informado.string255Condicional
customerdocumentCPF ou CNPJ do cliente (somente números). Obrigatório quando externalCustomerId não é informado.string11 ou 14 caracteres sem máscaraCondicional
customersocialNameNome social do cliente. Ignorado quando externalCustomerId é informado.string255Não
customeraddressEndereço do cliente. Ignorado quando externalCustomerId é informado.objectNão
customer.addresspostalCodeCódigo Postal (CEP)string8 dígitos sem máscaraSim
customer.addressstreetRuastring255Sim
customer.addressnumberNúmero da casa - podendo estar como "S/N"string15, apenas dígitos ou “S/N”Sim
customer.addresscityCidadestring255Sim
customer.addresscomplementComplemento do endereçostring255Não
customer.addressstateEstadostring2 caracteresSim
descriptiontitleTítulo da cobrançastring255Sim
descriptionlinesDescrições detalhadas da cobrança, máximo três posiçõesarray[string]255Não
paymentMethodspixConfiguração de pagamento PixobjectSim
paymentMethods.pixallowedPagamento via pix habilitadobooleanSim
paymentMethods.pixpixKeyChave pixstring255Condicional
paymentMethodscreditCardConfiguração de pagamento por cartãoobjectSim
paymentMethods.creditCardallowedPagamento via cartão de crédito habilitadobooleanSim
paymentMethods.creditCardinstallmentsNúmero máximo de parcelasnumberQuando for recorrência MONTHLY, não precisa informar, caso informe, precisa ser o valor 1.Condicional
paymentMethods.creditCardsplitConfiguração de split para cartão de créditoarray[object]Somatório dos valores dos splits não pode ultrapassar 100Não
paymentMethods.creditCard.splitaccountIdentificador numérico de uma conta Celcoinstring255Sim
paymentMethods.creditCard.splitvalueValor - em porcentagem - da cobrança para ser dividida entre a conta originária e a informadanumberValor positivo até 100. Podendo ter uma casa decimal de precisão. Ex: 0,5 é meio por centoSim
paymentMethodsopenFinanceConfiguração de Open FinanceobjectSim
paymentMethods.openFinanceallowedPagamento pix via open finance habilitadobooleanSim

Response

{
    "version": "1.0.0",
    "body": {
        "id": "6a173a993895abb40ce87724",
        "clientRequestId": "ref-4975801-124",
        "account": "4975801",
        "amount": 5,
        "type": "SINGLE_PAYMENT",
        "status": "REGISTERED",
        "recurrency": "ONE_SHOT",
        "recurrencyInstruction": {
            "quantity": 0,
            "expirationDate": "2026-05-28"
        },
        "paymentMethods": {
            "pix": {
                "allowed": true,
                "pixKey": "15663289003"
            },
            "creditCard": {
                "allowed": true,
                "installments": 1
            },
            "openFinance": {
                "allowed": true
            }
        },
        "receiver": {
            "name": "Nome Sobrenome",
            "document": "12345678910",
            "socialName": "Nome",
            "accountType": "TRAN",
            "bank": {
                "account": "4975801",
                "branch": "0001",
                "ispb": "13935893"
            },
            "address": {
                "postalCode": "12211400",
                "street": "Av Paulista",
                "number": "313",
                "city": "São Paulo",
                "state": "SP"
            }
        },
        "description": {
            "title": "Mensalidade PayTrainer",
            "lines": [
                "Serviço com assinatura mensal",
                "Apenas pagamento de cartão"
            ]
        },
        "redirectAfterPaymentUrl": "https://www.celcoin.com.br",
        "paymentUrl": "https://payment-links/orders/6a173a993895abb40ce87724?token=bca017ae-ab53-4266-87ac-5b4e02daa52c",
        "createdAt": "2026-05-27T18:40:25.381Z",
        "updatedAt": "2026-05-27T18:40:25.381Z"
    },
    "status": 200
}

Campos da resposta

ObjetoCampoDescriçãoTipo
idIdentificador único da cobrançastring
clientRequestIdIdentificador externo da cobrança na instituição financeirastring
clientIdID do cliente vinculado à cobrançastring
accountID da conta bancária vinculadastring
amountValor da cobrança em reaisnumber
typeTipo da cobrançaenum
statusStatus atual da cobrançaenum
recurrencyRecorrência da cobrançaenum
recurrencyInstructionInstruções de recorrência de uma cobrançaobject
paymentMethodsMétodos de pagamento disponíveisobject
customerDados do pagador/cliente (campos sensíveis mascarados)object
receiverDados do recebedorobject
descriptionDescrição da cobrançaobject
customizationCustomizações visuais da página de pagamentoobject
redirectAfterPaymentUrlURL de redirecionamento após o pagamentostring
paymentUrlURL da página de pagamentostring
canceledAtData em que foi canceladaDate
createdAtData de criação do registroDate
updatedAtData da última atualizaçãoDate
recurrencyInstructionquantityQuantidade de recorrencia de uma cobrançanumber
recurrencyInstructiondueDateData de vencimento no formato YYYY-MM-DDstring
recurrencyInstructionexpirationDateData de expiração no formato YYYY-MM-DDstring
paymentMethodspixConfiguração de pagamento Pixobject
paymentMethodscreditCardConfiguração de pagamento por cartãoobject
paymentMethodsopenFinanceConfiguração de Open Financeobject
paymentMethods.creditCardallowedPagamento via cartão de crédito habilitadoboolean
paymentMethods.creditCardinstallmentsNúmero máximo de parcelasnumber
paymentMethods.creditCardsplitConfiguração de split para cartão de créditoarray[object]
paymentMethods.creditCard.split[]accountnumberAccount Celcoin. Se omitido, o backend usa o account da orderstring
paymentMethods.creditCard.split[]valuePercentual de split (1–100)number
customernameNomestring
customerdocumentDocumentostring
customersocialNameNome social/fantasiastring
customeraddressEndereço do clienteobject
receivernameNomestring
receiverdocumentDocumentostring
receiversocialNameNome social/fantasiastring
receiveraccountTypeTipo de conta do recebedorenum
receiverbankDados bancários do recebedorobject
receiveraddressEndereço do recebedorobject
receiver.bankbranchAgênciastring
receiver.bankaccountNúmero da conta bancáriastring
receiver.bankispbCódigo ISPB do bancostring
receiver.addresspostalCodeCódigo Postal (CEP)string
receiver.addressstreetRuastring
receiver.addressnumberNúmero da casa - podendo estar como S/Nstring
receiver.addresscityCidadestring
receiver.addresscomplementComplemento do endereçostring
receiver.addressstateEstadostring
customizationcustomizationIdID de um template de customização salvo na plataformastring
customizationprimaryColorCor primária em formato hexadecimalstring
customizationsecondaryColorCor secundária em formato hexadecimalstring
customizationlogoLogotipo da conta em base64 data URI. Formatos aceitos: png, jpeg, svg. Tamanho máximo: 2MBstring
customizationborderRadiusRaio de borda dos componentesnumber
customizationthemeTema visualenum