Realizar um Pix Cash-Out por Chaves Pix

Essa funcionalidade permite que os clientes da Celcoin consigam efetuar pagamentos ou transferências para qualquer instituição financeira utilizando chaves Pix.


Passos para Integrar

  1. Realizar autenticação na API - [API Reference]
  2. Consultar Chave Externa [Gerar EndtoEnd] - [API Reference]
  3. Realizar o PIX Cash Out - [API Reference]
  4. Receber o Webhook com Status do Pix

Caso seja necessário você pode consultar o status do Pix manualmente.


Descrição dos campos

CampoDescriçãoTipo Campo
amount*Valor da transação.
clientCode*Identificador único da transação gerado pelo cliente.
transactionIdentificationIdentificador único retornado durante a leitura do BRCode.Se initiationType igual a MANUAL ou DICT, esse campo não deve ser informado,

Se initiationType igual a STATIC_QRCODE, esse campo se torna obrigatório e com tamanho maximo permitido de 25 caracteres.

Se initiationType igual a DYNAMIC_QRCODE, esse campo se torna obrigatório e com tamanho maximo permitido entre 26 a 35 caracteres.
endToEndIdIdentificador ponta-a-ponta associado ao pagamento.Se initiationType igual a MANUAL, esse campo não deve ser informado pois o mesmo sera gerado pela Celcoin.

Se initiationType diferente de MANUAL, esse campo deve ser recuperado pelo endpoint /pix/dict/{key}.
initiationTypeTipo de iniciação do pagamentoMANUAL: Pagamento via dados transacionais da conta. (creditParty.key, endToEndId, e transactionIdentification, não devem ser informados).

DICT: Pagamento via chave. (Campos obrigatórios : creditParty.key, e endToEndId.transactionIdentification não deve ser informado).

STATIC_QRCODE: Pagamento via BRCode estatico. (Campos obrigatórios : creditParty.key, endToEndId, e transactionIdentification).

DYNAMIC_QRCODE: Pagamento via BRCode dinamico. (Campos obrigatórios : creditParty.key, endToEndId, e transactionIdentification).
paymentTypeTipo de pagamentoIMMEDIATE: Usado para pagamentos imediatos.
FRAUD: Usado para pagamento por suspeita de fraude.
SCHEDULED: Usado apenas para pagamentos agendados.
urgencyDetermina a urgência do pagamentoHIGH - usado para pagamentos imediatos.
NORMAL - usado para pagamentos agendados.
transactionTypeTipo da transação PixTRANSFER: Usado para pagamentos imediatos.
debitParty {Objeto
account*Número da conta de origem (Quem irá pagar).
}
creditParty {Objeto
bank*Identificador do Banco de destino (ISPB - Identificador de Sistema de Pagamentos Brasileiro).
key*Chave Pix.
account*Número da Conta de destino (Quem irá receber).
branch*Número da agência de destino.
taxId*Número do documento (CPF ou CNPJ) da conta de destino.
name*Nome da conta de destino
accountType*Tipo de Conta Pix.CACC - Normal ou contas digitais
TRAN - Conta de pagamentos
SLRY - Conta salario
SVGS - Conta poupança
}
remittanceInformationDetermina um texto a ser apresentado ao pagador para que ele possa inserir uma informação correlacionada, em formato livre, para ser enviada ao destinatário. Se presente durante a leitura do Dynamic BRCode deve ser preservado e informado aqui.

Campo com * são obrigatórios na chamada


Transferência Pix Cash-Out a partir de Chaves Pix

JSON de exemplo

{
  "amount": 25.55,
  "clientCode": "1458854",
  "endToEndId": "E3030629420200808185300887639654",
  "initiationType": "DICT",
  "paymentType": "IMMEDIATE",
  "urgency": "HIGH",
  "transactionType": "TRANSFER",
  "debitParty": {
    "account": "444444"
  },
  "creditParty": {
    "bank": "30306294",
    "key": "5244f4e-15ff-413d-808d-7837652ebdc2",
    "account": "10545584",
    "branch": "10545584",
    "taxId": "11122233344",
    "name": "Celcoin",
    "accountType": "CACC"
  },
  "remittanceInformation": "Texto de mensagem"
}

cURL da chamada

curl --location --request POST 'https://sandbox.openfinance.celcoin.dev/baas-wallet-transactions-webservice/v1/pix/payment' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "amount": 25.55,
  "clientCode": "1458854",
  "endToEndId": "E3030629420200808185300887639654",
  "initiationType": "DICT",
  "paymentType": "IMMEDIATE",
  "urgency": "HIGH",
  "transactionType": "TRANSFER",
  "debitParty": {
    "account": "444444"
  },
  "creditParty": {
    "bank": "30306294",
    "key": "5244f4e-15ff-413d-808d-7837652ebdc2",
    "account": "10545584",
    "branch": "10545584",
    "taxId": "11122233344",
    "name": "Celcoin",
    "accountType": "CACC"
  },
  "remittanceInformation": "Texto de mensagem"
}'

Exemplo de retorno

🚧

Atenção!!

Caso ocorra algum erro da familia 5xx ao tentar realizar um pagamento, ou transfêrencia Pix e, ao consultar nossa api o status da transação esteja PROCESSING, recomendamos que aguarde até receber o disparo do gatilho com o novo status da transação. Sendo assim, não recomendamos o cancelamento da transação, pois o mesmo pode acarretar problemas em sua integração.

👍

Sucesso 200

{
    "status": "PROCESSING",
    "version": "1.0.0",
    "body": {
        "id": "60ec4471-71dd-43a3-a848-efe7a314d76f",
        "amount": 50,
        "clientCode": "1458856889",
        "transactionIdentification": null,
        "endToEndId": "E1393589320221110144001306556986",
        "initiationType": "MANUAL",
        "paymentType": "IMMEDIATE",
        "urgency": "HIGH",
        "transactionType": "TRANSFER",
        "debitParty": {
            "account": "30053913714179",
            "branch": "0001",
            "taxId": "77859635097",
            "name": "Hernani  Conrado",
            "accountType": "TRAN"
        },
        "creditParty": {
            "bank": "30306294",
            "key": null,
            "account": "42161",
            "branch": "20",
            "taxId": "12312312300",
            "name": "Fulano de Tal",
            "accountType": "CACC"
        },
        "remittanceInformation": "Texto de mensagem"
    }
}

Error 400

{
  "version": "1.0.0",
  "status": "ERROR",
  "error": {
    "errorCode": "CBE039",
    "message": "Account invalido.."
  }
}

Tabela de errorCode

CodeMessage
CBE001ClientCode é obrigatório.
CBE093ClientCode possui tamanho maximo de 200 caracteres.
CBE094amount é obrigatório.
CBE095amount invalido.Favor verificar a formatação do campo e deve ser maior que 0.
CBE100Existe um lançamento idêntico pendente.Favor aguarde para realizar esta operação para evitar duplicidade.
CBE101Já existe um lançamento com o mesmo clientCode. Favor realizar uma nova operação.
CBE102Lançamento de debito não permitido.Valor ultrapassa o limite maximo permitido por operação.
CBE107debitParty é obrigatório.
CBE108debitparty.account é obrigatório.
CBE109debitparty.account invalido.
CBE110debitparty.account possui tamanho maximo de 20 caracteres.
CBE115creditParty é obrigatório.
CBE116creditparty.account é obrigatório.
CBE117creditparty.account invalido.
CBE118creditparty.account possui tamanho maximo de 20 caracteres.
CBE119creditParty.branch é obrigatório.
CBE120creditParty.branch invalido.
CBE121creditParty.taxId é obrigatório.
CBE122creditParty.taxId invalido.
CBE123Transação não permitida.Conta com saldo insuficiente.
CBE124Lançamento não permitido.debit.account esta encerrada.
CBE126creditParty.bank é obrigatório e deve existir na lista de participantes Pix.
CBE127creditParty.name é obrigatório e possui tamanho maximo de 120 caracteres.
CBE128creditParty.accountType não foi informado ou é invalido.
CBE129remittanceInformation possui tamanho máximo de 140 caracteres.
CBE130initiationType invalido.
CBE131paymentType invalido.
CBE132urgency invalido.
CBE133transactionType invalido.
CBE134Campo transactionIdentification é de uso exclusivo para pagamentos de QRCodes. InitiationType STATIC_QRCODE ou DYNAMIC_QRCODE.
CBE135Campo transactionIdentification é de preenchimento obrigatório para pagamentos de QRCodes. InitiationType DYNAMIC_QRCODE.
CBE136Quando initiationType igual a STATIC_QRCODE o campo transactionIdentification não pode ultrapassar 25 caracteres.
CBE137Quando initiationType igual a DYNAMIC_QRCODE o campo transactionIdentification não pode ultrapassar 35 caracteres.
CBE139Já existe uma transação com o mesmo endToEndId. Favor realizar uma nova operação.
CBE139Quando initiationType igual a DICT os campos endToEndId e credityParty.key se tornam obrigatórios.
CBE140Quando initiationType igual a STATIC_QRCODE o campo credityParty.key se torna obrigatório.
CBE141Quando initiationType igual a DYNAMIC_QRCODE o campo credityParty.key se torna obrigatório.
CBE142Quando initiationType igual a MANUAL o campo credityParty.key não deve ser informado.
CBE143Quando paymentType está preenchido com Valor SCHEDULED, o campo urgency deve ser preenchido com valor NORMAL.
CBE144Quando paymentType está preenchido com Valor IMMEDIATE ou FRAUD, o campo urgency deve ser preenchido com valor HIGH.
CBE145Tipo de iniciação de pagamento não permitido.Para mais informações, entre em contato com o nosso suporte.
CBE146endToEndId invalido.
CBE159Lançamento não permitido.Sua conta esta bloqueada.
PBE7055Instituição recebedora não está respondendo

Recebendo notificações automáticas (Webhook)

Oferecemos a opção de configurar webhooks para receber notificações automáticas sempre que um pagamento via Pix Cash-out for realizado. Esses webhooks são um meio eficiente de receber atualizações em tempo real sobre as transações realizadas.

Para mais informações sobre a configuração e utilização dos webhooks, consulte a documentação específica disponível.

Evento: pix-payment-out

Link Documentação: Modelos de Webhooks do BaaS


Em caso de dúvidas adicionais, nossa equipe de suporte estará disponível para ajudar.