Pular para o conteúdo principal

Webhooks

Atenção!

Os webhooks da QI Tech não devem ser mapeadas de forma restrita. Campos adicionais podem ser incluídos aos payloads dos webhooks retornados em nossas APIs.

Webhook de pagamentos

Webhook Request Body

Request Body: Pagamento executado
{
"webhook_type": "baas.bill_payment.payment",
"webhook_datetime": "2021-10-22T20:30:23.459Z",
"data": {
"payment_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
"request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
"payment_schedule_key": null,
"transaction_key": "5f67e4fc-d3bd-4831-a9b1-20859dcee7a9",
"barcode":"00193967000009910000000003615574000000002417",
"digitable_line":"00190000090361557400500000024174396700000991000",
"payment_status": "executed",
"payment_type":"bank_slip",
"error_code": null,
"error_message": null
}
}
Request Body: Pagamento pendente de execução
{
"webhook_type": "baas.bill_payment.payment",
"webhook_datetime": "2021-10-22T20:30:23.459Z",
"data": {
"payment_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
"request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
"payment_schedule_key": null,
"transaction_key": "5f67e4fc-d3bd-4831-a9b1-20859dcee7a9",
"barcode":"00193967000009910000000003615574000000002417",
"digitable_line":"00190000090361557400500000024174396700000991000",
"payment_status": "pending_execution",
"payment_type":"bank_slip",
"error_code": null,
"error_message": null
}
}
Request Body: Pagamento rejeitado
{
"webhook_type": "baas.bill_payment.payment",
"webhook_datetime": "2021-10-22T20:30:23.459Z",
"data": {
"payment_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
"request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
"payment_schedule_key": null,
"transaction_key": null,
"barcode":"00193967000009910000000003615574000000002417",
"digitable_line":"00190000090361557400500000024174396700000991000",
"payment_status": "rejected",
"payment_type":"bank_slip",
"error_code": "BIP000023",
"error_message": "The source account has insufficient balance. Payment cannot be made."
}
}
Request Body: Pagamento revertido
{
"webhook_type": "baas.bill_payment.payment",
"webhook_datetime": "2021-10-22T20:30:23.459Z",
"data": {
"payment_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
"request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
"payment_schedule_key": null,
"transaction_key": "5f67e4fc-d3bd-4831-a9b1-20859dcee7a9",
"barcode":"00193967000009910000000003615574000000002417",
"digitable_line":"00190000090361557400500000024174396700000991000",
"payment_status": "reverted",
"payment_type":"bank_slip",
"error_code": "BIP000029",
"error_message": "Bank slip payment write off rejected."
}
}

Webhook Body Params

CampoTipoDescrição
webhook_typestringUm enumerador que define o tipo de evento sendo reportado
webhook_datetimestringData e hora do envio do webhook
request_control_keyuuid4Chave única de identificação da request do cliente.
payment_keyuuid4Chave única de identificação do pagamento.
payment_schedule_keyuuid4Chave única de identificação do agendamento (somente para pagamentos gerados a partir de um agendamento).
barcodestringCódigo de barras.
digitable_linestringLinha digitável.
payment_typeenumTipo do pagamento.
payment_statusenumStatus do pagamento.
error_codestringCódigo de erro.
error_messagestringMensagem de erro.

Enumeradores payment_type

EnumeradorTipoDescrição
bank_slipstringBoleto bancário
collection_slipstringFatura de recolhimento

Enumeradores payment_status

EnumeradorTipoDescrição
executedstringExecutado
rejectedstringrejeitado
revertedstringRevertido
Código HTTPCódigo QITítuloDescrição (eng)Descrição (pt-br)
400BIP000013Bad RequestThe source account is closed.A conta de origem está fechada.
400BIP000014Bad RequestThe source account is blocked.A conta de origem está bloqueada.
400BIP000023Bad RequestThe source account has insufficient balance. Payment cannot be made.A conta de origem possui saldo insuficiente. Pagamento não pode ser realizado.
400BIP000025Bad RequestIt was not possible to pay the bank slip at this time. Please verify your information and, if necessary, contact us for assistance.Não foi possível pagar o boleto neste momento. Por favor, verifique suas informações e, se necessário, entre em contato conosco para assistência.
400BIP000029Bad RequestBank slip payment write off rejected.Baixa de pagamento de boleto rejeitada.
400BIP000034Bad RequestCollection slip already paid.Fatura de recolhimento já paga.
400BIP000036Bad RequestCovenant slip overdue.Fatura de recolhimento vencida.
400BIP000038Bad RequestOutside of covenant payment hours.Fora do horário de pagamento do convênio.
400BIP000044Bad RequestIt was not possible to pay the collection slip at this time. Please verify your

Webhook de agendamento de pagamento

Fluxo de Webhooks para Agendamentos de Pagamentos

O processo de agendamento e execução de pagamentos envolve a utilização de diferentes webhooks, cada um desempenhando um papel específico na notificação e no acompanhamento do status do pagamento.

Quando o agendamento é executado na data solicitada, ele pode seguir para o status executed e será disparado um webhook de payment_schedule com o status executed, a execução do agendamento resulta na criação de um payment com o status pending e será enviado o webhook do mesmo. Alternativamente, o agendamento pode seguir para o status rejected, sem que o payment seja criado, em situações como o fechamento da conta ou alteração do valor do boleto, por exemplo. Nesse caso somente o webhook de payment_schedule com o status rejected é enviado, acompanhado dos devidos códigos de erro.

  • Inicialmente, o status do pagamento será pending, pois o processo de pagamento está em andamento. Quando o pagamento é concluído, um novo webhook de payment é enviado, agora com o status executed.
  • Se o pagamento não puder ser concluído, por exemplo, devido à falta de saldo na conta, um webhook de payment com o status rejected será enviado, acompanhado dos devidos códigos de erro.
  • Em casos de insuficiência de saldo na conta, o sistema realizará até 3 tentativas de pagamento, com um intervalo de 30 minutos entre cada uma. Nessa situação, poderão ser gerados múltiplos registros de pagamento para um mesmo agendamento executado. Por exemplo, se o saldo suficiente estiver disponível apenas na terceira tentativa, serão disparados os webhooks dos dois primeiros pagamentos com os status payment e rejected, seguidos pelos webhooks do terceiro pagamento com os status payment e executed.

Webhook Request Body

Request Body: Agendamento de pagamento executado
{
"webhook_type": "baas.bill_payment.payment_schedule",
"webhook_datetime": "2021-10-22T20:30:23.459Z",
"data": {
"payment_schedule_key": "a72947e5-e676-4710-8f66-7d345f1c4064",
"payment_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
"request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
"barcode":"00193967000009910000000003615574000000002417",
"digitable_line":"00190000090361557400500000024174396700000991000",
"payment_type":"bank_slip",
"payment_schedule_status": "executed",
"error_code": null,
"error_message": null
}
}
Request Body: Agendamento de pagamento rejeitado
{
"webhook_type": "baas.bill_payment.payment_schedule",
"webhook_datetime": "2021-10-22T20:30:23.459Z",
"data": {
"payment_schedule_key": "a72947e5-e676-4710-8f66-7d345f1c4064",
"payment_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
"request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
"barcode":"00193967000009910000000003615574000000002417",
"digitable_line":"00190000090361557400500000024174396700000991000",
"payment_type":"bank_slip",
"payment_schedule_status": "rejected",
"error_code": "BIP000007",
"error_message": "Bank slip blocked for payment"
}
}

Webhook Body Params

CampoTipoDescrição
webhook_typestringUm enumerador que define o tipo de evento sendo reportado
webhook_datetimestringData e hora do envio do webhook
request_control_keyuuid4Chave única de identificação da request do cliente.
payment_keyuuid4Chave única de identificação do pagamento.
payment_schedule_keyuuid4Chave única de identificação do agendamento pagamento.
barcodestringCódigo de barras.
digitable_linestringLinha digitável.
payment_typeenumTipo do agendamento de pagamento.
payment_schedule_statusenumStatus do agendamento de pagamento.
error_codestringCódigo de erro.
error_messagestringMensagem de erro.

Enumeradores payment_type

EnumeradorTipoDescrição
bank_slipstringBoleto bancário
collection_slipstringFatura de recolhimento

Enumeradores payment_schedule_status

EnumeradorTipoDescrição
executedstringExecutado
rejectedstringRejeitado
Código HTTPCódigo QITítuloDescrição (eng)Descrição (pt-br)
400BIP000013Bad RequestThe source account is closed.A conta de origem está fechada.
400BIP000014Bad RequestThe source account is blocked.A conta de origem está bloqueada.
400BIP000006Bad RequestBank slip already written offBoleto já baixado
400BIP000007Bad RequestBank slip blocked for paymentBoleto bloqueado para pagamento
400BIP000008Bad RequestBank slip already paidBoleto já pago
400BIP000009Bad RequestInvalid bank slip. Please consult issuing bankBoleto inválido. Favor consultar banco emissor
400BIP000034Bad RequestCollection slip already paid.Fatura de recolhimento já paga.