Realizar um Pix Cash-Out por Agência e Conta
Essa funcionalidade permite que os clientes da Celcoin consigam efetuar pagamentos ou transferências para qualquer instituição financeira utilizando o Pix.
Passos para Integrar
- Realizar autenticação na API - [API Reference]
- Realizar o PIX Cash Out - [API Reference]
- Receber o Webhook com Status do Pix
Caso seja necessário você pode consultar o status do Pix manualmente.
- Consultar Status do Pix - [API Reference]
Transferência Pix a partir de dados bancários
Essa funcionalidade deve ser utilizada sempre que sua aplicação possuir os dados bancários de um cliente (instituição financeira, tipo da conta, agência, conta e a titularidade), ou quando o usuário informar que deseja efetuar uma transferência com Pix informando os dados bancários em seu aplicativo, ou sistema, desta forma o caso de uso poderia ser:
Com os dados bancários do usuário e o valor que ele deseja realizar a transferência, deve ser realizada uma chamada na API Iniciar pagamento Pix.
JSON de exemplo
{
"amount": 25.55,
"clientCode": "1458854",
"initiationType": "MANUAL",
"paymentType": "IMMEDIATE",
"urgency": "HIGH",
"transactionType": "TRANSFER",
"debitParty": {
"account": "444444"
},
"creditParty": {
"bank": "30306294",
"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",
"initiationType": "MANUAL",
"paymentType": "IMMEDIATE",
"urgency": "HIGH",
"transactionType": "TRANSFER",
"debitParty": {
"account": "444444"
},
"creditParty": {
"bank": "30306294",
"account": "10545584",
"branch": "10545584",
"taxId": "11122233344",
"name": "Celcoin",
"accountType": "CACC"
},
"remittanceInformation": "Texto de mensagem"
}'
Descrição dos campos
Campo | Descrição | Tipo Campo |
---|---|---|
amount* | Valor da transação. | |
clientCode* | Identificador único da transação gerado pelo cliente. | |
transactionIdentification | Identificador ú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. |
endToEndId | Identificador 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}. |
initiationType | Tipo de iniciação do pagamento | MANUAL: 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). |
paymentType | Tipo de pagamento | IMMEDIATE: Usado para pagamentos imediatos. FRAUD: Usado para pagamento por suspeita de fraude. SCHEDULED: Usado apenas para pagamentos agendados. |
urgency | Determina a urgência do pagamento | HIGH - usado para pagamentos imediatos. NORMAL - usado para pagamentos agendados. |
transactionType | Tipo da transação Pix | TRANSFER: Usado para pagamentos imediatos. |
debitParty | Objeto | Dados do pagador |
account* | Número da conta de origem (Quem irá pagar). | |
creditParty | Objeto | Dados do recebedor |
bank* | Identificador do Banco de destino (ISPB - Identificador de Sistema de Pagamentos Brasileiro). | |
account | Número da conta de recebedora (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 |
remittanceInformation | Determina 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
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
Code | Message |
---|---|
CBE001 | ClientCode é obrigatório. |
CBE093 | ClientCode possui tamanho maximo de 200 caracteres. |
CBE094 | amount é obrigatório. |
CBE095 | amount invalido.Favor verificar a formatação do campo e deve ser maior que 0. |
CBE100 | Existe um lançamento idêntico pendente.Favor aguarde para realizar esta operação para evitar duplicidade. |
CBE101 | Já existe um lançamento com o mesmo clientCode. Favor realizar uma nova operação. |
CBE102 | Lançamento de debito não permitido.Valor ultrapassa o limite maximo permitido por operação. |
CBE107 | debitParty é obrigatório. |
CBE108 | debitparty.account é obrigatório. |
CBE109 | debitparty.account invalido. |
CBE110 | debitparty.account possui tamanho maximo de 20 caracteres. |
CBE115 | creditParty é obrigatório. |
CBE116 | creditparty.account é obrigatório. |
CBE117 | creditparty.account invalido. |
CBE118 | creditparty.account possui tamanho maximo de 20 caracteres. |
CBE119 | creditParty.branch é obrigatório. |
CBE120 | creditParty.branch invalido. |
CBE121 | creditParty.taxId é obrigatório. |
CBE122 | creditParty.taxId invalido. |
CBE123 | Transação não permitida.Conta com saldo insuficiente. |
CBE124 | Lançamento não permitido.debit.account esta encerrada. |
CBE126 | creditParty.bank é obrigatório e deve existir na lista de participantes Pix. |
CBE127 | creditParty.name é obrigatório e possui tamanho maximo de 120 caracteres. |
CBE128 | creditParty.accountType não foi informado ou é invalido. |
CBE129 | remittanceInformation possui tamanho máximo de 140 caracteres. |
CBE130 | initiationType invalido. |
CBE131 | paymentType invalido. |
CBE132 | urgency invalido. |
CBE133 | transactionType invalido. |
CBE134 | Campo transactionIdentification é de uso exclusivo para pagamentos de QRCodes. InitiationType STATIC_QRCODE ou DYNAMIC_QRCODE. |
CBE135 | Campo transactionIdentification é de preenchimento obrigatório para pagamentos de QRCodes. InitiationType DYNAMIC_QRCODE. |
CBE136 | Quando initiationType igual a STATIC_QRCODE o campo transactionIdentification não pode ultrapassar 25 caracteres. |
CBE137 | Quando initiationType igual a DYNAMIC_QRCODE o campo transactionIdentification não pode ultrapassar 35 caracteres. |
CBE138 | Já existe uma transação com o mesmo endToEndId. Favor realizar uma nova operação. |
CBE139 | Quando initiationType igual a DICT os campos endToEndId e credityParty.key se tornam obrigatórios. |
CBE140 | Quando initiationType igual a STATIC_QRCODE o campo credityParty.key se torna obrigatório. |
CBE141 | Quando initiationType igual a DYNAMIC_QRCODE o campo credityParty.key se torna obrigatório. |
CBE142 | Quando initiationType igual a MANUAL o campo credityParty.key não deve ser informado. |
CBE143 | Quando paymentType está preenchido com Valor SCHEDULED, o campo urgency deve ser preenchido com valor NORMAL. |
CBE144 | Quando paymentType está preenchido com Valor IMMEDIATE ou FRAUD, o campo urgency deve ser preenchido com valor HIGH. |
CBE145 | Tipo de iniciação de pagamento não permitido.Para mais informações, entre em contato com o nosso suporte. |
CBE146 | endToEndId invalido. |
CBE159 | Lançamento não permitido.Sua conta esta bloqueada. |
PBE7055 | Instituiçã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.
Updated about 1 month ago