openapi: 3.0.0 info: title: API Automatic Payments - Open Finance Brasil description: | API de Iniciação de Pagamentos automáticos, responsável por viabilizar as operações de iniciação de pagamentos automáticos (Pix automático e Transferências Inteligentes) para o Open Finance Brasil. Para cada uma das formas de pagamento previstas é necessário obter prévio consentimento do cliente através dos endpoints dedicados ao consentimento nesta API. # Orientações - `CONTA`, referente às instituições detentoras de conta participantes do Open Finance Brasil; - `PAGTO`, referente às instituições iniciadoras de pagamento participantes do Open Finance Brasil. Os tokens utilizados para consumo nos endpoints de consentimentos devem possuir o scope recurring-payments e os endpoints de pagamentos recorrentes devem possuir os scopes openid e recurring-payments. Esta API não requer a implementação de permissions para sua utilização. Todas as requisições e respostas devem ser assinadas seguindo o protocolo estabelecido na sessão Assinaturas do guia de segurança. ## Orientações gerais sobre os consentimentos de pagamentos automáticos - Duração e reutilização do consentimento: A utilização das credenciais geradas a partir de uma autorização de um consentimento recorrente deve durar até que o consentimento recorrente atinja o fim do seu ciclo de vida, conforme detalhado na sua [máquina de estados](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/198410647). - Credenciais: As credenciais (authorization_code) geradas na autorização do consentimento devem ser utilizadas para criação dos pagamentos subsequentes utilizando o mecanismo de refresh, caso necessário. Maiores informações através do link [[PT] Open Finance Brasil Financial-grade API Security Profile 1.0 Implementers Draft 3 - Área do Desenvolvedor -Open Finance Brasil - Área do Desenvolvedor (atlassian.net)](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/82051180/PT+Open+Finance+Brasil+Financial-grade+API+Security+Profile+1.0+Implementers+Draft+3#7.2.2.-Servidor-de-autorização) ## Regras do arranjo Pix A implementação e o uso da API de Pagamentos Automáticos (Pix) devem seguir as regras do arranjo Pix do Banco Central, que podem ser encontradas no link abaixo: [Banco Central do Brasil](https://www.bcb.gov.br/estabilidadefinanceira/pix?modalAberto=regulamentacao_pix) ## Assinatura de payloads No contexto da API de Pagamentos Automáticos, os payloads de mensagem que trafegam tanto por parte da instituição iniciadora de transação de pagamento quanto por parte da instituição detentora de conta devem estar assinados. Para o processo de assinatura destes payloads, as instituições devem seguir as especificações de segurança publicadas no Portal do desenvolvedor. ## Controle de acesso - Os endpoints de consulta de pagamentos GET /pix/recurring-payments/{recurringPaymentId} e GET /pix/recurring-payments devem suportar acesso a partir de access_token emitido por meio de um grant_type do tipo client credentials, como opção do uso do token vinculado ao consentimento (hybrid flow). - Para evitar vazamento de informação, a detentora deve validar que o pagamento consultado pertence ao ClientId que o criou e, caso haja divergências, retorne um erro HTTP 400. ## Aprovações de múltipla alçada Todas as aprovações devem ser realizadas até a data/hora limite suportada pela detentora e em tempo hábil para realizar o primeiro pagamento. ## Validações da edição do consentimento recorrente para o produto Pix Automático - Para permitir a edição dos campos de um consentimento na iniciadora sem que se faça necessário o redirecionamento para o ambiente da detentora de conta, é necessário o envio de indicadores de risco. Esta medida visa proporcionar à detentora de conta as informações necessárias para decidir sobre os ajustes no consentimento de forma segura. - Além disso, para permitir o correto entendimento da transação pela detentora, o endpoint dedicado a isso (PATCH /recurring-consents/{recurringConsentId}) possui características de obrigatoriedade de campos, na sua requisição, diferentes do endpoint de criação de consentimentos. Durante a edição do consentimento, a instituição iniciadora deverá informar todos os campos que foram marcados como obrigatórios e também os campos que não deseja alterar(enviando o valor atual do campo), também podendo altera-los, se assim desejar. - Caso a requisição seja para tornar o prazo de expiração do consentimento e/ou o valor máximo do pagamento variável indeterminados, estes devem ser omitidos da requisição, e todos os outros campos devem ser informados. - Caso o prazo de expiração e/ou o valor máximo do pagamento variável já sejam indeterminados, estes não devem ser informados, mantendo seu valor atual. - Detalhes dos cenários e campos que podem ser editados podem ser encontrados na página de [Edição do consentimento - [SV] Pagamentos Automáticos](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/718405977) - Se a edição do consentimento for realizada via iniciador (chamando o endpoint PATCH /recurring-consents/{recurringConsentId}) o detentor deverá validar se o usuário solicitante possui poderes plenos sobre o consentimento, isso significa que a alteração realizada por ele não precisará passar por outros aprovadores. ## Validações para pagamentos recorrentes - Caso o usuário pagador tenha agendado recorrências para os dias 29, 30 ou 31 de cada mês e o dia previsto não exista no respectivo mês, o iniciador deve enviar a ordem de pagamento para liquidação com o endToEndId representando o dia seguinte à data prevista para a liquidação. Se identificado pelo detentor que a data enviada no endToEndId corresponde a um dia inexistente, ele deve rejeitar o pagamento - Caso a data de liquidação do pagamento seja superior ao prazo de expiração do consentimento, a solicitação deve ser rejeitada com o motivo FORA_PRAZO_PERMITIDO e, no detalhe, uma descrição da causa. - Para permitir a segunda janela de liquidação para os pagamentos já agendados no detentor, os consentimentos de Pix Automático ("automatic" selecionado no oneOf "/data/recurringConfiguration/"), precisam obrigatoriamente ter o horário de expiração do consentimento definido para 23:59:59h (UTC). ## Validações Durante a jornada de iniciação de pagamento, diferentes validações são necessárias pela instituição detentora de conta e devem ocorrer conforme a seguir: 1. **Validações na criação do consentimento de longa duração (_POST /recurring-consents_)** 1.1 **Orientações Iniciais**  1.1.1 Não devem ser retornadas na resposta deste endpoint informações associadas ao usuário/cliente (ex. insuficiência de saldo, conta inexistente/bloqueada).  1.1.2 Não devem ser realizadas validações de informações sobre o usuário/cliente durante a criação do consentimento. 1.2 **Casos de erro relacionados às permissões de segurança para acesso à API (ex. certificado, access_token, jwt, assinatura)**  1.2.1 Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (INVALID_CLIENT);  1.2.2 Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED);  1.2.3 Validação de assinatura da mensagem: Valida se assinatura das mensagens enviadas está correta – HTTP Code 400 (BAD_SIGNATURE);  1.2.4 Validação de Claims (exceto data);  1.2.4.1 Valida se dados (aud, iss, iat e jti) são válidos - HTTP status code 403 – (INVALID_CLIENT);  1.2.4.2 Valida reuso de jti - HTTP Code 403 (INVALID_CLIENT). 1.3 **Casos de erro sintáticos e semânticos, previstos com retorno HTTP Code 422 - Unprocessable Entity (detalhamento adicional na documentação técnica da API):**  1.3.1 **Sintáticos**  1.3.1.1 Envio de campos obrigatórios: Valida se todos os campos obrigatórios foram informados (PARAMETRO_NAO_INFORMADO);  1.3.1.2 Formatação de parâmetros: Valida se parâmetros informados obedecem a formatação especificada (PARAMETRO_INVALIDO).  1.3.2 **Semânticos**  1.3.2.1 Data de pagamento: Valida se a data de pagamento enviada é válida para a forma de pagamento selecionada (DATA_PAGAMENTO_INVALIDA);  1.3.2.2 Detalhes do pagamento: Valida se determinado parâmetro informado obedece às regras de negócio (DETALHE_PAGAMENTO_INVALIDO);  1.3.2.3 Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO);  1.3.2.4 Idempotência: Valida se há divergência entre chave de idempotência e informações enviadas (ERRO_IDEMPOTENCIA);  1.3.2.5 Funcionalidade não habilitada: A detentora de conta não oferece o serviço nessa modalidade (FUNCIONALIDADE_NAO_HABILITADA). 2. **Demais validações executadas durante o processamento assíncrono do consentimento pela detentora poderão ser consultados pela iniciadora através do endpoint GET /recurring-consents/{recurringConsentId} previstos com retorno HTTP Code 200 – OK com status REJECTED e rejectionReason conforme abaixo:** 2.1 **Validações durante o processamento assíncrono do consentimento**  2.1.1 Falha de infraestrutura: Ocorreu algum erro interno na detentora durante processamento da criação do consentimento (FALHA_INFRAESTRUTURA);  2.1.2 Tempo de autorização expirado: O usuário não confirmou o consentimento e o mesmo expirou (TEMPO_EXPIRADO_AUTORIZACAO);  2.1.3 Rejeitado pelo usuário: O usuário explicitamente rejeitou a autorização do consentimento (REJEITADO_USUARIO);  2.1.4 Mesma conta origem/destino: A conta indicada pelo usuário para recebimento é a mesma selecionada para o pagamento (CONTAS_ORIGEM_DESTINO_IGUAIS);  2.1.5 Tipo de conta inválida: A conta indicada não permite operações de pagamento (CONTA_NAO_PERMITE_PAGAMENTO);  2.1.6 Autenticação divergente: O usuário autenticado no ambiente da detentora não é o mesmo usuário autenticado no ambiente da iniciadora e que criou o consentimento. (AUTENTICACAO _DIVERGENTE); 3. **Demais validações executadas durante o processamento assíncrono do consentimento pela detentora, poderão ser consultados pela iniciadora através dos endpoints GET /recurring-consents/{recurringConsentId} previstos com retorno HTTP Code 200 - OK com status REVOKED e revocationReason conforme abaixo (detalhamento adicional na documentação técnica da API).** 3.1 **Demais validações durante o processamento assíncrono:**  3.1.1 Nao informado: Validações não explicitamente informadas (ex. suspeita de fraude) (NAO_INFORMADO);  3.1.2 Revogado pelo recebedor: O usuário recebedor solicitou explicitamente ao iniciador a revogação do consentimento (ex: término de contrato) (REVOGADO_RECEBEDOR);  3.1.3 Revogado pelo pagador: O usuário pagador solicitou explicitamente a revogação do consentimento (REVOGADO_USUARIO). 4. **Validações na criação do pagamento - Síncrono (_POST /pix/recurring-payments_)** 4.1 **Casos de erro relacionados às permissões de segurança para acesso à API (ex. certificado, access_token, jwt, assinatura)**  4.1.1 Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (INVALID_CLIENT);  4.1.2 Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED);  4.1.3 Validação de assinatura da mensagem: Valida se assinatura das mensagens enviadas está correta – HTTP Code 400 (BAD_SIGNATURE);  4.1.4 Validação de Claims (exceto data);  4.1.4.1 Valida se dados (aud, iss, iat e jti) são válidos - HTTP status code 403 – (INVALID_CLIENT);  4.1.4.2 Valida reuso de jti - HTTP Code 403 (INVALID_CLIENT).  4.1.5 Detalhe tentativa inválida: Valida se os parâmetros informados condizem com a tentativa original de pagamento (DETALHE_TENTATIVA_INVALIDO). 4.2 **Casos de erro sintáticos e semânticos, previstos com retorno HTTP Code 422 - Unprocessable Entity (detalhamento adicional na documentação técnica da API):**  4.2.1 Sintáticos  4.2.1.1 Envio de campos obrigatórios: Valida se todos os campos obrigatórios são informados (PARAMETRO_NAO_INFORMADO);  4.2.1.2 Formatação de parâmetros: Valida se parâmetros informados obedecem a formatação especificada (PARAMETRO_INVALIDO).  4.2.2 Semânticos  4.2.2.1 Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE);  4.2.2.2 Limites da transação: Valida se o valor ultrapassa o limite estabelecido [na instituição (conta ou canal)/no arranjo] para permitir a realização de transações pelo cliente (VALOR_ACIMA_LIMITE);  4.2.2.3 Valor informado: Valida se valor enviado é válido para o consentimento associado ao pagamento (VALOR_INVALIDO);  4.2.2.4 Status Consentimento: Valida se o consentimento encontra-se em um dos estados finais “CONSUMED”, “REVOKED” ou “REJECTED" (CONSENTIMENTO_INVALIDO);  4.2.2.5 Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO);  4.2.2.6 Divergência entre pagamento e consentimento: Valida se dados do pagamento são diferentes dos dados do consentimento (PAGAMENTO_DIVERGENTE_CONSENTIMENTO)  4.2.2.7 Recusado pela detentora: Valida se pagamento foi recusado pela detentora (PAGAMENTO_RECUSADO_DETENTORA), com a descrição do motivo de recusa;  4.2.2.8 Detalhes do pagamento: Valida se determinado parâmetro informado obedece as regras de negócio (DETALHE_PAGAMENTO_INVALIDO);  4.2.2.9 Pagamento recusado no Sistema de Pagamentos Instantâneos (SPI) (PAGAMENTO_RECUSADO_SPI);  4.2.2.10 Idempotência: Valida se há divergência entre chave de idempotência e informações enviadas (ERRO_IDEMPOTENCIA);  4.2.2.11 Limite valor excedido por período: Foi atingido o valor limite permitido pelo usuário por um determinado período de tempo no consentimento do pagamento (LIMITE_PERIODO_VALOR_EXCEDIDO);  4.2.2.12 Limite quantidade excedida por período: A quantidade de cobranças atingiu o limite determinado pelo usuário na criação do consentimento (LIMITE_PERIODO_QUANTIDADE_EXCEDIDO);  4.2.2.13 Consentimento pendente de autorização: Consentimento em “PARTIALLY_ACCEPTED” aguardando aprovação de múltiplas alçadas (CONSENTIMENTO_PENDENTE_AUTORIZACAO);  4.2.2.14 Limite global excedido: O consentimento encontra-se autorizado e o valor solicitado para cobrança ultrapassa a faixa de limite global parametrizado pelo usuário durante a criação do consentimento (LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO);  4.2.2.15 Limite de transação excedido: O consentimento encontra-se autorizado e o valor solicitado para cobrança ultrapassa a faixa de limite de valor por transação parametrizado pelo usuário na criação do consentimento (LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO);  4.2.2.16 Limite de retentativas atingido: Valida se todas as tentativas de liquidação permitidas já foram realizadas (LIMITE_TENTATIVA_EXCEDIDO);  4.2.2.17 Fora do prazo permitido: A tentativa de agendamento foi realizada fora do horário ou período permitido e não pode ser aceita pela instituição detentora (FORA_PRAZO_PERMITIDO). 5. **Validações na consulta do pagamento (_GET /pix/recurring-payments/{recurringPaymentId}_ e _GET /pix/recurring-payments_)** 5.1 **Casos de erro relacionados às permissões de segurança para acesso à API (ex. certificado, access_token)**  5.1.1 Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (INVALID_CLIENT);  5.1.2 Validações de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED). 6. **Demais validações executadas durante o processamento assíncrono do pagamento pela detentora, poderão ser consultados pela iniciadora através dos endpoints _GET /pix/recurring-payments/{recurringPaymentId}_ e _GET /pix/recurring-payments_ previstos com retorno HTTP Code 200 - OK com status RJCT (Rejected) e rejectionReason conforme abaixo (detalhamento adicional na documentação técnica da API):** 6.1 **Demais validações durante o processamento assíncrono:**  6.1.1 - Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE);  6.1.2 - Limites da transação: Valida se o valor ultrapassa o limite estabelecido [na instituição (conta ou canal)/no arranjo] para permitir a realização de transações pelo cliente (VALOR_ACIMA_LIMITE);  6.1.3 - Valor informado: Valida se valor enviado é válido para o consentimento do pagamento (VALOR_INVALIDO);  6.1.4 - Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO);  6.1.5 - Divergência entre pagamento e consentimento: Valida se dados do pagamento são diferentes dos dados do consentimento (PAGAMENTO_DIVERGENTE_CONSENTIMENTO);  6.1.6 - Recusado pela detentora: Valida se pagamento foi recusado pela detentora (PAGAMENTO_RECUSADO_DETENTORA), com a descrição do motivo de recusa;  6.1.7 - Pagamento recusado no Sistema de Pagamentos Instantâneos (SPI) (PAGAMENTO_RECUSADO_SPI);  6.1.8 - Erro de infraestrutura na consulta ao SPI: Ocorreu uma falha de infraestrutura durante a consulta ao SPI(FALHA_INFRAESTRUTURA_SPI);  6.1.9 - Erro de infraestrutura na consulta ao ICP: Ocorreu uma falha de infraestrutura durante a consulta ao ICP (FALHA_INFRAESTRUTURA_ICP);  6.1.10 - Erro de infraestrutura na comunicação com o PSP do recebedor: Ocorreu uma falha de infraestrutura durante a comunicação com o PSP do recebedor (FALHA_INFRAESTRUTURA_PSP_RECEBEDOR);  6.1.11 - Erro de infraestrutura interno na detentora: Ocorreu uma falha de infraestrutura interna na detentora durante o processamento do pagamento (FALHA_INFRAESTRUTURA_DETENTORA);  6.1.12 - Status Consentimento: Valida se o consentimento encontra-se em um dos estados finais “CONSUMED”, “REVOKED” ou “REJECTED" (CONSENTIMENTO_INVALIDO);  6.1.13 - Limite valor excedido por período: Foi atingido o valor limite permitido pelo usuário por um determinado período de tempo no consentimento do pagamento (LIMITE_PERIODO_VALOR_EXCEDIDO);  6.1.14 - Limite quantidade excedida por período: A quantidade de cobranças atingiu o limite determinado pelo usuário na criação do consentimento (LIMITE_PERIODO_QUANTIDADE_EXCEDIDO);  6.1.15 - Titularidade Inconsistente: Conta atualmente não associada ao CPF/CNPJ do consentimento de longa duração. Caso a liquidação seja negada pelo PSP Recebedor com erro BE01, cabe a detentora de conta mudar o status do pagamento para RJCT com essa reason (TITULARIDADE_INCONSISTENTE);  6.1.16 - Consentimento revogado: O pagamento estava associado a um consentimento que foi revogado (CONSENTIMENTO_REVOGADO);  6.1.17 - Limite global excedido: O consentimento encontrasse autorizado e o valor solicitado para cobrança ultrapassa a faixa de limite global parametrizado pelo usuário durante a criação do consentimento (LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO);  6.1.18 - Limite de transação excedido: O consentimento encontra-se autorizado e o valor solicitado para cobrança ultrapassa a faixa de limite de valor por transação parametrizado pelo usuário na criação do consentimento (LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO);  6.1.19 Limite de retentativas atingido: Valida se todas as tentativas de liquidação permitidas já foram realizadas (LIMITE_TENTATIVA_EXCEDIDO);  6.1.20 Fora do prazo permitido: A tentativa de agendamento foi realizada fora do horário ou período permitido e não pode ser aceita pela instituição detentora (FORA_PRAZO_PERMITIDO);  6.1.21 Detalhe tentativa inválida: Valida se os parâmetros informados condizem com a tentativa original de pagamento (DETALHE_TENTATIVA_INVALIDO);  6.1.22 Detalhes do pagamento: Valida se determinado parâmetro informado obedece as regras de negócio (DETALHE_PAGAMENTO_INVALIDO). ## Validações antifraude da Transferências Inteligentes - Afim de garantir a mesma titularidade e aumentar a segurança das transações do produto Transferências Inteligentes, as validações abaixo poderão ser realizadas pela detetora de conta e pela iniciadora, quando localinstrument for igual a DICT ou INIC. A detentora PODE usar a API Consultar Vinculo (DICT API) do arranjo Pix e validar no momento de transação ao menos os atributos abaixo mencionados: - se o valor dos atributos de fraude abaixo são iguais a 0, de modo a evitar que contas criadas especificamente para uso indevido da Transferências Inteligentes impactem o ecossistema - OwnerStatistics.Spi.FraudMarkers.ApplicationFrauds.d90 - OwnerStatistics.Spi.FraudMarkers.MuleAccounts.d90 - OwnerStatistics.Spi.FraudMarkers.ScammerAccounts.d90 - OwnerStatistics.Spi.FraudMarkers.OtherFrauds.d90 - OwnerStatistics.Spi.FraudMarkers.UnknownFrauds.d90 ## Cálculo de limites e janelas de tempo para Transferências Inteligentes e Pix Automático - Transferencias Inteligentes: - Existem três tipos de limites para o produto Transferências inteligentes - Crédito pré-aprovado (cheque especial): Caso o cliente possua o produto, poderá utilizá-lo durante as transações associadas ao produto Transferências inteligentes. - Limites do consentimento: Configurado ou não pelo cliente em momento de criação do consentimento, podendo ser dependente ou não de um período. - O cálculo do limite periódico disponível ao cliente ocorre da seguinte maneira, considerando os cenários, exemplos e o horário de Brasília, conforme a norma internacional ISO 8601 para definição dos períodos: - Limite Diário (Período P1D, Ex.: R$ 100,00): Este limite controla as transferências realizadas dentro de um único dia civil, considerando o período das 00:00h às 23:59h. Por exemplo, se um usuário transferir R$ 50,00 às 10:00h, ele ainda terá R$ 50,00 disponíveis para transferências até as 23:59h do mesmo dia; - Limite Semanal (Período P1W, Ex.: R$ 1.000,00): O limite semanal abrange o período de uma semana completa, começando às 00:00h da segunda-feira e terminando às 23:59h do domingo, conforme a definição da norma ISO 8601. Por exemplo, se um usuário transferir R$ 200,00 na terça-feira e R$ 500,00 na sexta-feira, ele ainda poderá transferir R$300,00 até o final do domingo. Uma transação realizada no domingo é contabilizada para a semana que se encerra naquele dia; - Limite Mensal (Período P1M , Ex.: R$ 10.000,00): Este limite mensal é calculado do primeiro ao último dia de cada mês do calendário. Por exemplo, em um mês, se o usuário transferir R$ 2.000,00 na primeira semana e R$ 3.000,00 na segunda semana, ele ainda terá R$ 5.000,00 disponíveis para transferências pelo restante do mês; - Limite Anual (Período P1Y , Ex.: R$ 50.000,00): O limite anual conta do primeiro dia de janeiro ao último dia de dezembro de cada ano calendário. Por exemplo, se um usuário transferir R$ 10.000,00 até março, mais R$ 15.000,00 até junho e mais R$ 20.000,00 até setembro, ele só poderá transferir outros R$ 5.000,00 até o final do ano. - Esses limites ajudam a gerenciar as transferências de fundos, garantindo que não excedam os montantes estabelecidos para cada período. Cada limite é independente e é recalculado conforme sua respectiva janela de tempo se reinicia. Todos os pagamentos com status diferente de RJCT ou CANC devem ser considerados para o cálculo dos limites do consentimento. - Pix Automático: - Existem três tipos de limites para o produto Pix Automático: - Crédito pré-aprovado (cheque especial): Caso o cliente possua o produto, poderá utilizá-lo durante as transações associadas ao produto Pix Automático. - Limite do Pix Automático atrelado à conta do cliente: Limite estipulado para transações, definido individualmente para cada conta do cliente, conforme regras de dias e horários do arranjo Pix - Limites do consentimento: Configurado (ou não) pelo cliente no momento da criação do consentimento, sendo sempre sujeitos à periodicidade definida no consentimento. Consentimentos para pagamentos de valores fixos não são passíveis de limites configuráveis pelo usuário pagador, cabendo a esses consentimentos de valor fixo apenas os dois limites mencionados acima. - Calculo das janelas para a definição da referencia do pagamento - O campo “/data/paymentReference”, presente nos endpoints de pagamento recorrente, representa o ciclo ao qual esse pedido de pagamento se refere. Informações sobre seu preenchimento estão presentes nos endpoints de pagamentos. - Semanal: A semana começa a contar a partir das 00:00h do dia informado no campo “/data/recurringConfiguration/automatic/referenceStartDate” e vai até o dia imediatamente anterior a esse mesmo dia no ciclo seguinte. Exemplo: O pagador concede autorização no dia 29 de junho e a data prevista para o início do ciclo, que consta no consentimento, é 23 de julho. O primeiro ciclo inicia-se em 23/07 e vai até 29/07; o segundo inicia-se em 30/07 e vai até 05/08, e assim por diante. - Mensal: Inicia-se às 00:00h do dia informado no campo “/data/recurringConfiguration/automatic/referenceStartDate” e vai até as 23:59h do dia imediatamente anterior a esse mesmo dia, no próximo ciclo. Exemplo: O pagador concede autorização no dia 29 de junho e a data prevista para o início do ciclo, que consta no consentimento, é 23 de julho. O ciclo inicia todo dia 23 e se encerra todo dia 22. Para este exemplo, o primeiro ciclo seria entre 23/07 e 22/08, o segundo entre 23/08 e 22/09, e assim por diante. - Trimestral: Conta a partir das 00:00h da data especificada no campo “/data/recurringConfiguration/automatic/referenceStartDate” e vai até as 23:59h do dia imediatamente anterior a esse mesmo dia, no próximo ciclo. Exemplo: O pagador concede autorização no dia 29 de junho e a data prevista para o início do ciclo, que consta no consentimento, é 23 de julho. O ciclo inicia-se todo dia 23 e se encerra todo dia 22. Para este exemplo, o primeiro ciclo ocorre entre 23/07 e vai até 22/10. - Semestral: Conta a partir das 00:00h da data especificada no campo “/data/recurringConfiguration/automatic/referenceStartDate” e vai até as 23:59h do dia imediatamente anterior a esse mesmo dia, no próximo ciclo. Exemplo: O pagador concede autorização no dia 29 de junho, e a data prevista para o início do ciclo, que consta no consentimento, é 23 de julho. O ciclo inicia-se todo dia 23 e se encerra todo dia 22. Para este exemplo, o primeiro ciclo ocorre entre 23/07 e vai até 22/01. - Anual: Conta a partir das 00:00h data especificada no campo “/data/recurringConfiguration/automatic/referenceStartDate” e vai até as 23:59h do dia imediatamente anterior a esse mesmo dia, no próximo ciclo. Exemplo: O pagador concede autorização no dia 29 de junho e a data prevista para o início do ciclo, que consta no consentimento, é 23 de julho. O ciclo inicia-se todo dia 23 e se encerra todo dia 22. Para este exemplo, o primeiro ciclo ocorre entre 23/07 e vai até 22/07. ## Sobre a quantidade de consentimentos que podem ser criados Não há limitações relacionadas a quantidade de consentimentos que podem ser criados entre uma mesma ITP, conta de débito e titularidade. Fica a cargo da instituição iniciadora solicitar, sempre que julgar necessário para atendimento do usuário, a criação de um novo consentimento. ## Sobre o cancelamento de novas tentativas de pagamento para o Pix Automático Não é permitido ao usuário pagador o cancelamento de uma nova tentativa de pagamento, realizada pelo recebedor, quando autorizado no consentimento (campo “/data/recurringConfiguration/automatic/isRetryAccepted” como “True”) pelo usuário pagador ou quando o Iniciador precisar enviar um novo endToEndId. Aplica-se tanto para a tentativa intradia quanto para a tentativa em dias subsequentes. É permitido ao recebedor o cancelamento das novas tentativas em dias subsequentes. Aplicam-se as regras de cancelamento da tentativa original, conforme previsto na descrição do endpoint PATCH /pix/recurringPayments Pagamentos que são novas tentativas, intradia ou em dias subsequentes, podem ser identificados pela presença do campo “/data/originalRecurringPaymentId” no recurso. version: 2.2.0-rc.1 license: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' contact: name: Governança do Open Finance Brasil – Especificações email: gt-interfaces@openbankingbr.org url: 'https://openbanking-brasil.github.io/areadesenvolvedor/' servers: - url: 'https://api.banco.com.br/open-banking/automatic-payments/v2' description: Servidor de Produção - url: 'https://apih.banco.com.br/open-banking/automatic-payments/v2' description: Servidor de Homologação tags: - name: Recurring Consents description: Métodos para criação e gestão de consentimento - name: Recurring Payments description: Métodos para criação e gestão de pagamentos paths: /recurring-consents: post: tags: - Recurring Consents summary: Cria um consentimento para transações de pagamentos. operationId: automaticPaymentsPostRecurringConsents description: Método para criação de consentimento de longa duração. Retorna um `recurringConsentId` no status AWAITING_AUTHORISATION. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/CreateRecurringConsent' description: Payload para criação do consentimento para iniciação do pagamento. required: true responses: '201': $ref: '#/components/responses/RecurringConsentsPost' '400': $ref: '#/components/responses/BadRequestPaymentsConsents' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableConsents' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' '529': $ref: '#/components/responses/SiteIsOverloaded' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - recurring-payments '/recurring-consents/{recurringConsentId}': get: tags: - Recurring Consents summary: Busca informações de um consentimento. operationId: automaticPaymentsGetRecurringConsentsConsentId description: Método para buscar informações sobre um consentimento de longa duração. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/pathRecurringConsentId' responses: '200': $ref: '#/components/responses/RecurringConsentsConsentId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' '529': $ref: '#/components/responses/SiteIsOverloaded' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - recurring-payments patch: tags: - Recurring Consents summary: Rejeita, revoga ou edita um consentimento. operationId: automaticPaymentsPatchRecurringConsentsConsentId description: | Método para rejeitar, revogar ou editar um consentimento de longa duração: 1 - Informações sobre a revogação: - Caso bem sucedido, o consentimento vai para o status “REVOKED”; - Apenas consentimentos com status “AUTHORISED” podem ser revogados; - Pagamentos automáticos associados ao consentimento e que estão agendados para ocorrer até as 23:59h do próximo dia (a partir do dia de solicitação da revogação) deverão ser mantidos. Pagamentos agendados para ocorrer após esse período devem ser cancelados. - Demais orientações referentes a revogação podem ser encontrados no header da API, tópico “Validações”, item 3. 2 - Informações sobre a edição: - Os campos que são passíveis de edição e suas regras podem ser encontrados através do [link](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/628195665); - A edição é possível apenas em casos de consentimento para Pix Automático (“automatic” escolhido no oneOf do objeto “recurringConfiguration”) e que encontrem-se autorizados (`data.status == AUTHORISED`); - O envio do item "/data/creditors/name" atualizará o nome do recebedor em todos os elementos do array. - Caso consentimento seja de valor fixo (campo “/data/recurringConfiguration/automatic/fixedAmount” preenchido) não é permitida a edição do campo “/data/recurringConfiguration/automatic/maximumVariableAmount”. - Caso o recebedor tenha definido um piso para o limite a ser estipulado pelo pagador (campo “/data/recurringConfiguration/automatic/minimumVariableAmount” preenchido), o valor máximo de limite por transação definido pelo usuário pagador (campo “/data/recurringConfiguration/automatic/maximumVariableAmount”) não pode ser menor que o valor estipulado pelo recebedor. - Caso o seja editado o prazo de expiração do consentimento e já existam pagamentos agendados para dias posteriores a nova data definida, estes pagamentos devem ser cancelados. 3 - Informações sobre a rejeição: - Caso haja necessidade de cancelamento de um consentimento ainda não autorizado, o iniciador poderá chamar o endpoint para mover o consentimento para REJECTED. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/pathRecurringConsentId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/PatchRecurringConsent' description: Payload para criação do consentimento para iniciação do pagamento. required: true responses: '200': $ref: '#/components/responses/RecurringConsentsConsentIdPatch' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntityPatch' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' '529': $ref: '#/components/responses/SiteIsOverloaded' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - recurring-payments /pix/recurring-payments: post: tags: - Recurring Payments summary: Cria uma transação de pagamento. operationId: automaticPaymentsPostPixRecurringPayments description: Método para criação de uma transação de pagamento. Retorna um recurringPaymentId. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/CreateRecurringPixPayment' description: Payload para criação da iniciação do pagamento Pix. required: true responses: '201': $ref: '#/components/responses/201RecurringPaymentsIdPost' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntityPixRecurringPayment' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' '529': $ref: '#/components/responses/SiteIsOverloaded' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2AuthorizationCode: - openid - 'recurring-consent:recurringConsentId' - recurring-payments - NonRedirectAuthorizationCode: - openid - recurring-payments - 'enrollment:enrollmentId' - nrp-consents get: tags: - Recurring Payments summary: Busca informações de transações de pagamentos associadas a um consentimento. operationId: automaticPaymentsGetPixRecurringPayments description: | Método para buscar informações sobre um conjunto de pagamentos associados ao mesmo recurringConsentId. Também é possível enviar uma data de início (startDate) e final (endDate), caso a busca seja por transações em uma determinada janela de tempo. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/recurringConsentId' - $ref: '#/components/parameters/startDate' - $ref: '#/components/parameters/endDate' - $ref: '#/components/parameters/originalRecurringPaymentId' responses: '200': $ref: '#/components/responses/200RecurringPixPaymentRead' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' '529': $ref: '#/components/responses/SiteIsOverloaded' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - recurring-payments '/pix/recurring-payments/{originalRecurringPaymentId}/retry': post: tags: - Recurring Payments summary: Cria nova tentativa de pagamento para o Pix Automático. operationId: automaticPaymentsPostPixRecurringPaymentsRetry description: | Método para a criação de novas tentativas de pagamentos associadas uma tentativa original que falhou. Exclusivo para o Pix Automático. O recurso criado que representa a nova tentativa deve ser consultado através do endpoint atual de consulta de pagamentos (GET /pix/recurring-payments/{recurringPaymentId}). Na consulta do recurso criado neste método, que representa essa nova tentativa, a detentora ficará responsável por retornar os campos que não foram alterados entre as tentativas. As regras de novas tentativas podem ser encontradas na versão mais recente da documentação da API, presente na área do desenvolvedor parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/pathOriginalRecurringPaymentId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/CreateRecurringRetryPixPayment' description: Payload para nova tentativa de liquidação do pagamento automático. required: true responses: '201': $ref: '#/components/responses/201RecurringRetryPaymentsIdPost' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntityPixRetryRecurringPayment' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' '529': $ref: '#/components/responses/SiteIsOverloaded' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - recurring-payments '/pix/recurring-payments/{recurringPaymentId}': get: tags: - Recurring Payments summary: Busca informações de uma transação de pagamento. operationId: automaticPaymentsGetPixRecurringPaymentsPaymentId description: Método para buscar informações sobre um pagamento. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/pathRecurringPaymentId' responses: '200': $ref: '#/components/responses/200RecurringPaymentsIdRead' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' '529': $ref: '#/components/responses/SiteIsOverloaded' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - recurring-payments patch: tags: - Recurring Payments summary: Cancelamento de solicitação de pagamento automático. operationId: automaticPaymentsPatchPixRecurringPaymentsPaymentId description: | Esse endpoint deve ser usado para cancelar as transações que estejam em uma das seguintes situações: Agendada com sucesso (SCHD), retida para análise (PDNG). Caso a requisição seja bem sucedida, a transação vai para a situação CANC. Caso o status do pagamento seja diferente de SCHD/PDNG ou alguma outra regra de negócio impeça o cancelamento, a requisição PATCH retorna HTTP Status 422 com o code PAGAMENTO_NAO_PERMITE_CANCELAMENTO. Caso receba um 422, a iniciadora deve fazer uma requisição GET no pagamento para verificar a situação atual dele, bem como detalhes associados. [Restrição] Para o Pix automático (“recurringConfiguration” igual a “automatic”) tanto o recebedor quanto o pagador poderão realizar o cancelamento, sendo permitido ao recebedor a solicitação de cancelamento até as 22:00 (Horário de Brasília) e ao pagador até as 23:59 (Horário de Brasília) do dia anterior à data de efetivação do pagamento, exceto para os casos de novas tentativas em dias subsequentes, onde apenas o recebedor pode cancelar, também até as 22:00h. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/pathRecurringPaymentId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/PatchPixPayment' description: Atualização do Pagamento Recorrente. required: true responses: '200': $ref: '#/components/responses/200RecurringPaymentsIdPatch' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntityPixPatch' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' '529': $ref: '#/components/responses/SiteIsOverloaded' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - recurring-payments components: headers: XFapiInteractionId: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela iniciadora (client) e o seu valor deve ser “espelhado” pela detentora (server) no cabeçalho de resposta. schema: $ref: '#/components/schemas/XFapiInteractionId' XFapiInteractionIdError: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela iniciadora (client). Seu valor deve obrigatoriamente ser replicado pela detentora (server) no cabeçalho de resposta, exceto em casos de falhas estruturais que impeçam a replicação. Caso não seja possível ser replicado, não deve ser enviado. schema: $ref: '#/components/schemas/XFapiInteractionId' XFapiInteractionIdBadRequest: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela iniciadora (client) e o seu valor deve ser “espelhado” pela detentora (server) no cabeçalho de resposta. Caso não seja enviado pela iniciadora, ou enviado inválido, a detentora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP status code 400. A iniciadora deve acatar o valor gerado pelo detentor e recebido na resposta. schema: $ref: '#/components/schemas/XFapiInteractionId' X-V: description: | Cabeçalho que indica a versão implementada da API pela instituição financeira para atender à solicitação. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2. required: true schema: $ref: '#/components/schemas/X-V' schemas: TransactionIdentification: type: string pattern: ^[a-zA-Z0-9]{1,35}$ maxLength: 35 example: 'E00038166201907261559y6j6' description: | Trata-se de um identificador de transação que deve ser retransmitido intacto pelo PSP do pagador ao gerar a ordem de pagamento. Essa informação permitirá ao recebedor identificar e correlacionar a transferência, quando recebida, com a apresentação das instruções ao pagador. Os caracteres permitidos no contexto do Pix para o campo txid (EMV 62-05) são:Letras minúsculas, de 'a' a 'z' Letras maiúsculas, de 'A' a 'z' Dígitos decimais, de '0' a '9'. [Restrição] Preenchimento condicional de acordo com o conteúdo do campo localInstument: - MANU - O campo transactionIdentification não deve ser preenchido; - DICT - O campo transactionIdentification não deve ser preenchido; - INIC - O campo transactionIdentification deve ser preenchido obrigatoriamente e deve conter até 25 caracteres alfanuméricos ([a-z|A-Z|0-9]); - AUTO – O campo transactionIdentification não deve ser preenchido. ResponseErrorCreateConsent: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - DATA_PAGAMENTO_INVALIDA - DETALHE_PAGAMENTO_INVALIDO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - ERRO_IDEMPOTENCIA - NAO_INFORMADO - FUNCIONALIDADE_NAO_HABILITADA example: DATA_PAGAMENTO_INVALIDA description: | Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: - DATA_PAGAMENTO_INVALIDA - DETALHE_PAGAMENTO_INVALIDO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - ERRO_IDEMPOTENCIA - NAO_INFORMADO - FUNCIONALIDADE_NAO_HABILITADA title: type: string maxLength: 255 pattern: '[\w\W\s]*' example: Forma de pagamento inválida. description: | Título específico do erro reportado, de acordo com o código enviado: - DATA_PAGAMENTO_INVALIDA: Data de pagamento inválida. - DETALHE_PAGAMENTO_INVALIDO: Detalhe do pagamento inválido. - PARAMETRO_NAO_INFORMADO: Parâmetro não informado. - PARAMETRO_INVALIDO: Parâmetro inválido. - ERRO_IDEMPOTENCIA: Erro idempotência. - NAO_INFORMADO: Não informado. - FUNCIONALIDADE_NAO_HABILITADA: A detentora de conta não oferece o serviço nessa modalidade. detail: type: string maxLength: 2048 pattern: '[\w\W\s]*' example: 'Forma de pagamento [Modalidade] não suportada.' description: | Descrição específica do erro de acordo com o código reportado: - DATA_PAGAMENTO_INVALIDA: Data de pagamento inválida para a forma de pagamento selecionada. - DETALHE_PAGAMENTO_INVALIDO: Parâmetro [nome_campo] não obedece às regras de negócio. - PARAMETRO_NAO_INFORMADO: Parâmetro [nome_campo] obrigatório não informado. - PARAMETRO_INVALIDO: Parâmetro [nome_campo] não obedece as regras de formatação esperadas. - ERRO_IDEMPOTENCIA: Conteúdo da mensagem (claim data) diverge do conteúdo associado a esta chave de idempotência (x-idempotency-key). - NAO_INFORMADO: Não reportado/identificado pela instituição detentora de conta. - FUNCIONALIDADE_NAO_HABILITADA: A detentora de conta não oferece o serviço nessa modalidade. meta: $ref: '#/components/schemas/Meta' 422ResponseErrorRecurringConsents: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - CONSENTIMENTO_NAO_PERMITE_CANCELAMENTO - CAMPO_NAO_PERMITIDO - PERMISSAO_INSUFICIENTE - DETALHE_EDICAO_INVALIDO - FALTAM_SINAIS_OBRIGATORIOS_PLATAFORMA - PARAMETRO_INVALIDO - PARAMETRO_NAO_INFORMADO example: CAMPO_NAO_PERMITIDO title: type: string maxLength: 255 pattern: '[\w\W\s]*' example: O pagamento está com status que não permite o cancelamento. description: | Título específico do erro reportado, de acordo com o código enviado: - CONSENTIMENTO_NAO_PERMITE_CANCELAMENTO: O status do consentimento não permite a realização do cancelamento (em status "CONSUMED" ou "REJECTED"). - CAMPO_NAO_PERMITIDO: O(s) campo(s) solicitado(s) para edição não podem ser editados. - PERMISSAO_INSUFICIENTE: Consentimento possui múltiplas alçadas aprovadoras e não permite a edição pelo usuário atual. - DETALHE_EDICAO_INVALIDO: A tentativa de edição do consentimento não respeitou as regras de negócio descritas nos campos. - FALTAM_SINAIS_OBRIGATORIOS_PLATAFORMA: Os sinais obrigatórios para a plataforma do usuário não foram enviados em sua totalidade. - PARAMETRO_INVALIDO: Os parâmetros informados não obedecem a formatação especificada. - PARAMETRO_NAO_INFORMADO: Algum ou todos os campos obrigatórios não foram informados. detail: type: string maxLength: 2048 pattern: '[\w\W\s]*' example: 'O pagamento está com status que não permite o cancelamento' description: | Descrição específica do erro de acordo com o código reportado: - CONSENTIMENTO_NAO_PERMITE_CANCELAMENTO: O status do consentimento não permite a realização do cancelamento (em status "CONSUMED" ou "REJECTED") - CAMPO_NAO_PERMITIDO: O(s) campo(s) solicitado(s) para edição não podem ser editados. - PERMISSAO_INSUFICIENTE: Consentimento possui múltiplas alçadas aprovadoras e não permite a edição pelo usuário atual. - DETALHE_EDICAO_INVALIDO: A tentativa de edição do consentimento não respeitou as regras de negócio descritas nos campos. - FALTAM_SINAIS_OBRIGATORIOS_PLATAFORMA: Os sinais obrigatórios para a plataforma do usuário não foram enviados em sua totalidade. - PARAMETRO_INVALIDO: Os parâmetros informados não obedecem a formatação especificada. - PARAMETRO_NAO_INFORMADO: Algum ou todos os campos obrigatórios não foram informados. meta: $ref: '#/components/schemas/Meta' 422ResponseErrorCreateRetryPixRecurringPayment: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 9 items: type: object required: - code - title - detail properties: code: type: string enum: - ERRO_IDEMPOTENCIA - CONSENTIMENTO_INVALIDO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - PAGAMENTO_RECUSADO_DETENTORA - LIMITE_TENTATIVAS_EXCEDIDO - FORA_PRAZO_PERMITIDO - FALHA_INFRAESTRUTURA_DETENTORA - DETALHE_TENTATIVA_INVALIDO - NAO_PERMITIDO example: LIMITE_TENTATIVAS_EXCEDIDO description: | Códigos de erros previstos na criação da iniciação de pagamento: - ERRO_IDEMPOTENCIA: Erro idempotência. - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final). - PARAMETRO_NAO_INFORMADO: Parâmetro não informado. - PARAMETRO_INVALIDO: Parâmetro inválido. - PAGAMENTO_RECUSADO_DETENTORA: Pagamento recusado pela detentora de conta. - FALHA_INFRAESTRUTURA_DETENTORA - Ocorreu uma falha de infraestrutura interna na detentora durante o processamento do pagamento. - LIMITE_TENTATIVAS_EXCEDIDO: O limite de tentativas para liquidação do pagamento permitidas pelo arranjo foi excedido. - FORA_PRAZO_PERMITIDO: O horário ou período da requisição não permite o agendamento pelo detentor. - DETALHE_TENTATIVA_INVALIDO: O parâmetro [nome_do(s)_campo(s)] inseridos para a nova tentativa de pagamento não condizem com o pagamento original que falhou e não são permitidos na nova tentativa de pagamento. - NAO_PERMITIDO: Valida se o valor do originalRecurringPaymentId aponta para um pagamento de Pix Automático title: type: string maxLength: 255 pattern: '[\w\W\s]*' example: Saldo insuficiente. description: | Título específico do erro reportado, de acordo com o código enviado: - ERRO_IDEMPOTENCIA: Erro idempotência. - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final). - PARAMETRO_NAO_INFORMADO: Parâmetro não informado. - PARAMETRO_INVALIDO: Parâmetro inválido. - PAGAMENTO_RECUSADO_DETENTORA: Pagamento recusado pela detentora de conta. - FALHA_INFRAESTRUTURA_DETENTORA - Ocorreu uma falha de infraestrutura interna na detentora durante o processamento do pagamento. - LIMITE_TENTATIVAS_EXCEDIDO: Limite de tentativas excedido. - FORA_PRAZO_PERMITIDO: Tentativa fora do prazo. - DETALHE_TENTATIVA_INVALIDO: Nova tentativa inválida - NAO_PERMITIDO: Valida se o valor do originalRecurringPaymentId aponta para um pagamento de Pix Automático detail: type: string maxLength: 2048 pattern: '[\w\W\s]*' example: A conta selecionada não possui saldo suficiente para realizar o pagamento. description: | Descrição específica do erro de acordo com o código reportado: - ERRO_IDEMPOTENCIA: Erro idempotência. - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final). - PARAMETRO_NAO_INFORMADO: Parâmetro não informado. - PARAMETRO_INVALIDO: Parâmetro inválido. - PAGAMENTO_RECUSADO_DETENTORA: Pagamento recusado pela detentora de conta. - FALHA_INFRAESTRUTURA_DETENTORA - Ocorreu uma falha de infraestrutura interna na detentora durante o processamento do pagamento. - LIMITE_TENTATIVAS_EXCEDIDO: O limite de tentativas para liquidação do pagamento permitidas pelo arranjo foi excedido. - FORA_PRAZO_PERMITIDO: O horário ou período da requisição não permite o agendamento pelo detentor. - DETALHE_TENTATIVA_INVALIDO: O parâmetro [nome_do(s)_campo(s)] inseridos para a nova tentativa de pagamento não condizem com o pagamento original que falhou e não são permitidos na nova tentativa de pagamento. - NAO_PERMITIDO: Valida se o valor do originalRecurringPaymentId aponta para um pagamento de Pix Automático meta: $ref: '#/components/schemas/Meta' 422ResponseErrorCreatePixRecurringPayment: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 9 items: type: object required: - code - title - detail properties: code: type: string enum: - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - LIMITE_PERIODO_VALOR_EXCEDIDO - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO - CONSENTIMENTO_INVALIDO - CONSENTIMENTO_PENDENTE_AUTORIZACAO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - NAO_INFORMADO - PAGAMENTO_DIVERGENTE_CONSENTIMENTO - DETALHE_PAGAMENTO_INVALIDO - PAGAMENTO_RECUSADO_DETENTORA - PAGAMENTO_RECUSADO_SPI - ERRO_IDEMPOTENCIA - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO - LIMITE_TENTATIVAS_EXCEDIDO - FORA_PRAZO_PERMITIDO - DETALHE_TENTATIVA_INVALIDO example: SALDO_INSUFICIENTE description: | Códigos de erros previstos na criação da iniciação de pagamento: - SALDO_INSUFICIENTE: Esta conta não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE: Valida se o valor ultrapassa o limite estabelecido [na instituição (conta ou canal)/no arranjo] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. - LIMITE_PERIODO_VALOR_EXCEDIDO: A transação não pode ser realizada pois o valor parametrizado no consentimento foi excedido. - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO: A transação não pode ser realizada pois a quantidade parametrizada no consentimento foi excedida. - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final). - CONSENTIMENTO_PENDENTE_AUTORIZACAO: Consentimento pendente autorização de múltiplas alçadas (status “PARTIALLY_ACCEPTED”). - PARAMETRO_NAO_INFORMADO: Parâmetro não informado. - PARAMETRO_INVALIDO: Parâmetro inválido. - NAO_INFORMADO: Não informada pela detentora de conta. - PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento. - DETALHE_PAGAMENTO_INVALIDO: Detalhe do pagamento inválido. - PAGAMENTO_RECUSADO_DETENTORA: Pagamento recusado pela detentora de conta. - PAGAMENTO_RECUSADO_SPI: Pagamento recusado no Sistema de Pagamentos Instantâneos (SPI). - ERRO_IDEMPOTENCIA: Erro idempotência. - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO: Limite total excedido - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO: O valor da transação ultrapassar o limite de valor por transação. - LIMITE_TENTATIVAS_EXCEDIDO: O limite de tentativas para liquidação do pagamento permitidas pelo arranjo foi excedido. - FORA_PRAZO_PERMITIDO: O horário ou período da requisição não permite o agendamento pelo detentor. - DETALHE_TENTATIVA_INVALIDO: O parâmetro [nome_do(s)_campo(s)] inseridos para a nova tentativa de pagamento não condizem com o pagamento original que falhou e não são permitidos na nova tentativa de pagamento. title: type: string maxLength: 255 pattern: '[\w\W\s]*' example: Saldo insuficiente. description: | Título específico do erro reportado, de acordo com o código enviado: - SALDO_INSUFICIENTE: Esta conta não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE: Valida se o valor ultrapassa o limite estabelecido [na instituição (conta ou canal)/no arranjo] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. - LIMITE_PERIODO_VALOR_EXCEDIDO: A transação não pode ser realizada pois o valor parametrizado no consentimento foi excedido. - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO: A transação não pode ser realizada pois a quantidade parametrizada no consentimento foi excedida. - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final). - CONSENTIMENTO_PENDENTE_AUTORIZACAO: Consentimento pendente autorização de múltiplas alçadas (status “PARTIALLY_ACCEPTED”). - PARAMETRO_NAO_INFORMADO: Parâmetro não informado. - PARAMETRO_INVALIDO: Parâmetro inválido. - NAO_INFORMADO: Não informada pela detentora de conta. - PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento. - DETALHE_PAGAMENTO_INVALIDO: Detalhe do pagamento inválido. - PAGAMENTO_RECUSADO_DETENTORA: Pagamento recusado pela detentora de conta. - PAGAMENTO_RECUSADO_SPI: Pagamento recusado no Sistema de Pagamentos Instantâneos (SPI). - ERRO_IDEMPOTENCIA: Erro idempotência. - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO: Limite total excedido - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO: Limite de transação excedido. - LIMITE_TENTATIVAS_EXCEDIDO: Limite de tentativas excedido. - FORA_PRAZO_PERMITIDO: Tentativa fora do prazo. - DETALHE_TENTATIVA_INVALIDO: Nova tentativa inválida detail: type: string maxLength: 2048 pattern: '[\w\W\s]*' example: A conta selecionada não possui saldo suficiente para realizar o pagamento. description: | Descrição específica do erro de acordo com o código reportado: - SALDO_INSUFICIENTE: Esta conta não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE: Valida se o valor ultrapassa o limite estabelecido [na instituição (conta ou canal)/no arranjo] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. - LIMITE_PERIODO_VALOR_EXCEDIDO: A transação não pode ser realizada pois o valor parametrizado no consentimento foi excedido. - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO: A transação não pode ser realizada pois a quantidade parametrizada no consentimento foi excedida. - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final). - CONSENTIMENTO_PENDENTE_AUTORIZACAO: Consentimento pendente autorização de múltiplas alçadas (status “PARTIALLY_ACCEPTED”). - PARAMETRO_NAO_INFORMADO: Parâmetro não informado. - PARAMETRO_INVALIDO: Parâmetro inválido. - NAO_INFORMADO: Não informada pela detentora de conta. - PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento. - DETALHE_PAGAMENTO_INVALIDO: Detalhe do pagamento inválido. - PAGAMENTO_RECUSADO_DETENTORA: Pagamento recusado pela detentora de conta. - PAGAMENTO_RECUSADO_SPI: Pagamento recusado no Sistema de Pagamentos Instantâneos (SPI). - ERRO_IDEMPOTENCIA: Erro idempotência. - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO: O valor da transação excede o limite global do consentimento. - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO: O valor da transação ultrapassar o limite de valor por transação. - LIMITE_TENTATIVAS_EXCEDIDO: O limite de tentativas para liquidação do pagamento permitidas pelo arranjo foi excedido. - FORA_PRAZO_PERMITIDO: O horário ou período da requisição não permite o agendamento pelo detentor. - DETALHE_TENTATIVA_INVALIDO: O parâmetro [nome_do(s)_campo(s)] inseridos para a nova tentativa de pagamento não condizem com o pagamento original que falhou e não são permitidos na nova tentativa de pagamento. meta: $ref: '#/components/schemas/Meta' 422ResponseErrorCreateRecurringPaymentsPaymentId: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - PAGAMENTO_NAO_PERMITE_CANCELAMENTO - CANCELAMENTO_FORA_PERIODO_PERMITIDO - PARAMETRO_INVALIDO - PARAMETRO_NAO_INFORMADO example: PAGAMENTO_NAO_PERMITE_CANCELAMENTO description: | - PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento está com um status que não permite cancelamento. - CANCELAMENTO_FORA_PERIODO_PERMITIDO: O usuário solicitou o cancelamento fora da janela de tempo permitido. - PARAMETRO_INVALIDO: Os parâmetros informados não obedecem a formatação especificada. - PARAMETRO_NAO_INFORMADO: Algum ou todos os campos obrigatórios não foram informados. title: type: string maxLength: 255 pattern: '[\w\W\s]*' example: O pagamento está com um status que não permite o cancelamento. description: | - PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento está com um status que não permite cancelamento. - CANCELAMENTO_FORA_PERIODO_PERMITIDO: O usuário solicitou o cancelamento fora da janela de tempo permitido. - PARAMETRO_INVALIDO: Os parâmetros informados não obedecem a formatação especificada. - PARAMETRO_NAO_INFORMADO: Algum ou todos os campos obrigatórios não foram informados. detail: type: string maxLength: 2048 pattern: '[\w\W\s]*' example: O pagamento está com um status que não permite o cancelamento. description: | - PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento está com um status que não permite cancelamento. - CANCELAMENTO_FORA_PERIODO_PERMITIDO: O usuário solicitou o cancelamento fora da janela de tempo permitido. - PARAMETRO_INVALIDO: Os parâmetros informados não obedecem a formatação especificada. - PARAMETRO_NAO_INFORMADO: Algum ou todos os campos obrigatórios não foram informados. meta: $ref: '#/components/schemas/Meta' BusinessEntity: type: object description: | Usuário (pessoa jurídica) que encontra-se logado na instituição Iniciadora de Pagamento. [Restrição] Preenchimento obrigatório se usuário logado na instituição Iniciadora de Pagamento for um CNPJ (pessoa jurídica). required: - document properties: document: type: object required: - identification - rel properties: identification: type: string maxLength: 14 description: Número do documento de identificação oficial do titular pessoa jurídica. example: '11111111111111' pattern: '^[0-9A-Z]{12}[0-9]{2}$' rel: type: string maxLength: 4 description: Tipo do documento de identificação oficial do titular pessoa jurídica. example: CNPJ pattern: '^[A-Z]{4}$' CreateRecurringConsent: type: object required: - data properties: data: type: object description: Objeto contendo as informações de consentimento para a iniciação de pagamento individual. required: - loggedUser - creditors - recurringConfiguration properties: loggedUser: $ref: '#/components/schemas/LoggedUser' businessEntity: $ref: '#/components/schemas/BusinessEntity' creditors: $ref: '#/components/schemas/Creditors' expirationDateTime: description: | Data e hora em que o consentimento deve deixar de ser válido. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC (UTC time format). [Restrição] Caso o consentimento seja para Pix Automático ("automatic" selecionado no oneOf "/data/recurringConfiguration/") o horário de expiração do consentimento precisa ser às 23:59:59 (UTC). type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 additionalInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento type: string example: 'Minha recorrência' pattern: '[\w\W\s]*' maxLength: 140 debtorAccount: type: object description: | Objeto que contém a identificação da conta de origem do pagador. - Caso a ITP tenha coletado as informações de conta do usuário pagador, essas poderão ser enviadas no consentimento para a detentora neste objeto, ou; - Se não coletado pelo ITP, o usuário pagador precisará definir durante a autorização do consentimento. - Mesmo se enviado pela ITP, o usuário pagador pode alterar durante a autorização do consentimento. required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário pagador, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypeConsents' recurringConfiguration: type: object description: Campo destinado a configuração dos diferentes produtos de pagamentos recorrentes. oneOf: - $ref: '#/components/schemas/AutomaticRequest' - $ref: '#/components/schemas/SweepingRequest' - $ref: '#/components/schemas/Vrp' CreateRecurringRetryPixPayment: type: object required: - data properties: data: $ref: '#/components/schemas/CreateRecurringRetryPixPaymentData' CreateRecurringPixPayment: type: object required: - data properties: data: $ref: '#/components/schemas/CreateRecurringPixPaymentData' CreateRecurringRetryPixPaymentData: type: object description: Objeto contendo dados da nova tentativa de pagamento. required: - endToEndId - date properties: endToEndId: $ref: '#/components/schemas/EndToEndIdPost' date: type: string format: date maxLength: 10 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2021-01-01' description: Data em que o pagamento será realizado. Uma string com a utilização de timezone UTC-3 (UTC time format). CreateRecurringPixPaymentData: type: object description: Objeto contendo dados do pagamento e do recebedor (creditor). required: - endToEndId - date - payment - creditorAccount - cnpjInitiator - localInstrument - document properties: recurringConsentId: type: string pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' maxLength: 256 description: | Identificador único do consentimento de longa duração criado para a iniciação de pagamento solicitada. Deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). [Restrição] Este campo é de preenchimento obrigatório quando o valor do campo authorisationFlow for igual a FIDO_FLOW. endToEndId: $ref: '#/components/schemas/EndToEndIdPost' date: type: string format: date maxLength: 10 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2021-01-01' description: Data em que o pagamento será realizado. Uma string com a utilização de timezone UTC-3 (UTC time format). payment: $ref: '#/components/schemas/PaymentPix' creditorAccount: type: object description: | Objeto que contém a identificação da conta de destino do beneficiário/recebedor. [Restrição] - Se /data/paymentReference = "zero", as informações da conta de crédito enviadas (/data/creditorAccount) devem ser iguais as presentes na conta de crédito informada na criação do consentimento(`/data/recurringConfiguration/automatic/firstPayment/creditorAccount`) required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypePayments' remittanceInformation: type: string maxLength: 140 pattern: '[\w\W\s]*' example: Pagamento da nota XPTO035-002. description: | Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. cnpjInitiator: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 example: '50685362000135' description: CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix. ibgeTownCode: type: string minLength: 7 maxLength: 7 pattern: '^\d{7}$' example: '5300108' description: | O campo ibgeTownCode no arranjo Pix tem o mesmo comportamento que o campo codMun descrito no item 1.6.6 do manual do Pix. Caso a informação referente ao município não seja enviada, o PSP do recebedor assumirá que não existem feriados estaduais e municipais no período em questão; authorisationFlow: type: string enum: - HYBRID_FLOW - CIBA_FLOW - FIDO_FLOW example: HYBRID_FLOW description: | Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. [Restrição] Se CIBA ou FIDO, preenchimento obrigatório. Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. riskSignals: $ref: '#/components/schemas/RiskSignalsPayments' localInstrument: type: string description: | Especifica a forma de iniciação do pagamento - MANU - Inserção manual de dados da conta transacional - DICT - Inserção manual de chave Pix - INIC - Indica que o recebedor (creditor) contratou o Iniciador de Pagamentos especificamente para realizar iniciações de pagamento em que o beneficiário é previamente conhecido - AUTO - Indica o pagamento de uma recorrência de Pix automático, onde o consentimento foi previamente autorizado pelo pagador e o pagamento é realizado automaticamente pelo Iniciador de Pagamentos sob comando do recebedor. [Restrição] Caso consentimento associado a tentativa de pagamento seja para Pix automático (objeto “automatic” selecionado no oneOf do campo "/data/recurringConfiguration") e a referência do pagamento indicar uma recorrência (valor do campo "/data/paymentReferente" diferente de "zero"), apenas o método AUTO é permitido, ou; Caso consentimento associado a tentativa de pagamento seja para Pix automático (objeto “automatic” selecionado no oneOf do campo "/data/recurringConfiguration") e a referência do pagamento indicar o pagamento inicial avulso (valor do campo "/data/paymentReferente" igual a "zero"), apenas o método MANU é permitido. enum: - MANU - DICT - INIC - AUTO example: DICT proxy: type: string description: | Chave cadastrada no DICT pertencente ao recebedor. Os tipos de chaves podem ser: telefone, e-mail, cpf/cnpj ou chave aleatória. No caso de telefone celular deve ser informado no padrão E.1641. Para e-mail deve ter o formato xxxxxxxx@xxxxxxx.xxx(.xx) e no máximo 77 caracteres. No caso de CPF deverá ser informado com 11 números, sem pontos ou traços. Para o caso de CNPJ deverá ser informado com 14 números, sem pontos ou traços. No caso de chave aleatória deve ser informado o UUID gerado pelo DICT, conforme formato especificado na [RFC4122](https://tools.ietf.org/html/rfc4122). [Restrição] Se localInstrument for igual a DICT ou INIC, o campo proxy deve ser preenchido. [Restrição] Se informado, a detentora da conta deve validar o proxy no DICT (quando localInstrument for igual a DICT) e validar o objeto creditorAccount. Ação opcional caso o localInstrument for igual a INIC [Restrição] Caso o campo “/data/localInstrument” seja enviado como “MANU”, o campo “/data/proxy” não deve ser informado pattern: '[\w\W\s]*' example: '11221131242' transactionIdentification: $ref: '#/components/schemas/TransactionIdentification' document: type: object description: Informações do documento identificador do recebedor da transação. required: - identification - rel properties: identification: type: string pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' minLength: 11 maxLength: 14 example: '11111111111111' description: | Número do documento de identificação oficial do recebedor pessoa natural ou jurídica. O valor informado deve ser igual a um dos valores enviados na etapa de criação do consentimento (dentro do array “/data/creditors”). Quando não respeitada essa regra, deve ser retornado pelo detentor, de maneira síncrona, erro HTTP 422 - PAGAMENTO_DIVERGENTE_CONSENTIMENTO rel: type: string enum: - CPF - CNPJ example: 'CNPJ' description: Tipo do documento de identificação oficial do titular pessoa natural ou jurídica. originalRecurringPaymentId: $ref: '#/components/schemas/originalRecurringPaymentId' paymentReference: $ref: '#/components/schemas/PaymentReference' PaymentReference: type: string example: '23-07-2025/P1W' minLength: 4 maxLength: 14 pattern: '^zero$|^\d{2}-\d{2}-\d{4}\/P(1W|1M|3M|6M|1Y)$' description: | [Restrição]Campo de preenchimento obrigatório caso seja um pagamento de Pix automático e deve ser enviado para critérios de coleta de métricas do ecossistema. Caso essa regra não seja respeitada, a instituição detentora da conta deve retornar um erro HTTP 422 com o código DETALHE_PAGAMENTO_INVALIDO. - O preenchimento deve seguir a seguinte lógica: - Primeiro Pagamento: Caso se trate do pagamento inicial avulso, especificado no campo “/data/firstPayment”, o valor deste campo deve ser preenchido com a string fixa "zero". - Pagamentos Recorrentes (Subsequentes): Para todos os pagamentos recorrentes realizados após o pagamento inicial, o campo paymentReference deve ser preenchido com uma string de Intervalo ISO 8601 no formato ```/```, que representa o ciclo exato ao qual o pagamento se refere. - O componente `````` deve indicar a data de início do ciclo específico ao qual o pagamento enviado se refere. - O componente `````` deve corresponder ao código da periodicidade do consentimento (P1W para semanal, P1M para mensal, P3M para trimestral, P6M para semestral e P1Y para anual) - Exemplos: - 1: Data de início do ciclo definido no consentimento: 23/07/25 - Periodicidade definida no consentimento: Semanal - Preenchimento do paymentReference: - Primeiro ciclo: 23-07-2025/P1W - Segundo ciclo: 30-07-2025/P1W - Terceiro ciclo: 06-07-2025/P1W - 2: Data de início do ciclo definido no consentimento: 23/07/25 - Periodicidade definida no consentimento: Mensal - Preenchimento do paymentReference: - Primeiro ciclo: 23-07-2025/P1M - Segundo ciclo: 23-08-2025/P1M - Terceiro ciclo: 23-09-2025/P1M RiskSignalsPayments: type: object description: | Sinais de risco para iniciação de pagamentos automáticos [Restrição] Deve ser enviado quando o consentimento for para o produto Sweeping Accounts (O objeto "/data/recurringConfiguration/sweeping" usado no oneOf) properties: manual: type: object required: - deviceId - osVersion - userTimeZoneOffset - language - screenDimensions - accountTenure description: | Representa a coleta de sinais de risco com a presença do usuário [Restrição] Obrigatório de ser enviado quando a transação ocorrer na presença do usuário properties: deviceId: type: string description: ID único do dispositivo gerado pela plataforma. example: 00000000-54b3-e7c7-0000-000046bffd97 isRootedDevice: type: boolean description: | Indica se o dispositivo atualmente está com permissão de “root”. [Restrição] Campos de envio obrigatório quando o sistema operacional utilizado pelo usuário durante o pagamento for Android ou iOS. example: false screenBrightness: type: number format: double description: | Indica o nível de brilho da tela do dispositivo. Em dispositivos Android o valor é um inteiro, entre 0 e 255, inclusive; Em dispositivos iOS o valor é um ponto flutuante entre 0.0 e 1.0. [Restrição] Campos de envio obrigatório quando o sistema operacional utilizado pelo usuário durante o pagamento for Android ou iOS. elapsedTimeSinceBoot: type: integer format: int64 description: | Indica por quanto tempo (em milissegundos) o dispositivo está ligado. [Restrição] Campos de envio obrigatório quando o sistema operacional utilizado pelo usuário durante o pagamento for Android ou iOS. osVersion: type: string description: Versão do sistema operacional. userTimeZoneOffset: type: string description: | Indica a configuração de fuso horário do dispositivo do usuário, com o formato UTC offset: ±hh[:mm] language: type: string description: Indica o idioma do dispositivo no formato ISO 639-1. screenDimensions: type: object description: Dimensões da tela do dispositivo required: - height - width properties: height: type: integer format: int64 description: Altura da tela, em pixels. width: type: integer format: int64 description: Largura da tela, em pixels. accountTenure: type: string format: date pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' description: Data de cadastro do cliente na iniciadora. geolocation: type: object description: Dados de geolocalização do cliente enquanto logado na iniciadora properties: latitude: type: number format: double description: Coordenada latitudial do cliente enquanto logado na iniciadora longitude: type: number format: double description: Coordenada longitudinal do cliente enquanto logado na iniciadora type: type: string description: | Tipo de mecanismo utilizado na geração da geolocalização enum: - COARSE - FINE - INFERRED isCallingProgress: type: boolean description: | Indica chamada ativa no momento do vínculo. [Restrição] Caso o sinal de risco esteja disponível (cliente permitiu que fosse coletado), o mesmo deverá ser enviado isDevModeEnabled: type: boolean description: Indica se o dispositivo está em modo de desenvolvedor. isMockGPS: type: boolean description: Indica se o dispositivo está usando um GPS falso. isEmulated: type: boolean description: Indica se o dispositivo é emulado ou real. isMonkeyRunner: type: boolean description: Indica o uso do MonkeyRunner. isCharging: type: boolean description: Indica se a bateria do dispositivo está sendo carregada. antennaInformation: type: string description: Indica em qual antena o dispositivo está conectado. isUsbConnected: type: boolean description: Indica se o dispositivo está conectado a outro dispositivo via USB. integrity: type: object description: | Informa a integridade do dispositivo e app. No Android, conforme documentação Play API Integrity - [Android](https://developer.android.com/google/play/integrity/overview?hl=pt-br). No iOS, conforme documentação App Attest [iOS](https://developer.apple.com/documentation/devicecheck/establishing_your_app_s_integrity) properties: appRecognitionVerdict: type: string description: Informa a integridade do app deviceRecognitionVerdict: type: string description: Informa a integridade do dispositivo automatic: type: object required: - lastLoginDateTime description: | Representa a coleta de sinais de risco sem a presença do usuário [Restrição] Obrigatório de ser enviado quando a transação não ocorrer na presença do usuário properties: lastLoginDateTime: type: string format: date-time description: | Caso o usuário pagador tenha acesso ao ambiente da iniciadora de pagamentos, utilizar data e hora da última interação do cliente com seu aplicativo/sistema. Para casos onde a iniciadora de pagamentos presta serviços a um terceiro, deve-se enviar o horário que o pagador logou na aplicação do terceiro. pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' pixKeyRegistrationDateTime: type: string format: date-time description: | Data e hora de cadastro da chave Pix do recebedor na iniciadora [Restrição] Campo obrigatório a ser enviado, caso o valor do campo `/data/localInstrument` seja igual a `DICT` ou `INIC`. pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' RiskSignalsConsents: type: object required: - deviceId - isRootedDevice - screenBrightness - elapsedTimeSinceBoot - osVersion - userTimeZoneOffset - language - screenDimensions - accountTenure description: | Sinais de risco para iniciação de pagamentos automáticos [Restrição] Deve ser enviado quando o consentimento for para o produto Pix Automático (O objeto "/data/recurringConfiguration/automatic" usado no oneOf). Só estará presente após a primeira edição do consentimento de longa duração. properties: deviceId: type: string description: ID único do dispositivo gerado pela plataforma. example: 00000000-54b3-e7c7-0000-000046bffd97 isRootedDevice: type: boolean description: Indica se o dispositivo atualmente está com permissão de “root”. example: false screenBrightness: type: number format: double description: | Indica o nível de brilho da tela do dispositivo. Em dispositivos Android o valor é um inteiro, entre 0 e 255, inclusive; Em dispositivos iOS o valor é um ponto flutuante entre 0.0 e 1.0. elapsedTimeSinceBoot: type: integer format: int64 description: Indica por quanto tempo (em milissegundos) o dispositivo está ligado. osVersion: type: string description: Versão do sistema operacional. userTimeZoneOffset: type: string description: | Indica a configuração de fuso horário do dispositivo do usuário, com o formato UTC offset: ±hh[:mm] language: type: string description: Indica o idioma do dispositivo no formato ISO 639-1. screenDimensions: type: object description: Dimensões da tela do dispositivo required: - height - width properties: height: type: integer format: int64 description: Altura da tela, em pixels. width: type: integer format: int64 description: Largura da tela, em pixels. accountTenure: type: string format: date pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' description: Data de cadastro do cliente na iniciadora. geolocation: type: object description: Dados de geolocalização do cliente enquanto logado na iniciadora properties: latitude: type: number format: double description: Coordenada latitudial do cliente enquanto logado na iniciadora longitude: type: number format: double description: Coordenada longitudinal do cliente enquanto logado na iniciadora type: type: string description: | Tipo de mecanismo utilizado na geração da geolocalização enum: - COARSE - FINE - INFERRED isCallingProgress: type: boolean description: | Indica chamada ativa no momento do vínculo. [Restrição] Caso o sinal de risco esteja disponível (cliente permitiu que fosse coletado), o mesmo deverá ser enviado isDevModeEnabled: type: boolean description: Indica se o dispositivo está em modo de desenvolvedor. isMockGPS: type: boolean description: Indica se o dispositivo está usando um GPS falso. isEmulated: type: boolean description: Indica se o dispositivo é emulado ou real. isMonkeyRunner: type: boolean description: Indica o uso do MonkeyRunner. isCharging: type: boolean description: Indica se a bateria do dispositivo está sendo carregada. antennaInformation: type: string description: Indica em qual antena o dispositivo está conectado. isUsbConnected: type: boolean description: Indica se o dispositivo está conectado a outro dispositivo via USB. integrity: type: object description: | Informa a integridade do dispositivo e app. No Android, conforme documentação Play API Integrity - [Android](https://developer.android.com/google/play/integrity/overview?hl=pt-br). No iOS, conforme documentação App Attest [iOS](https://developer.apple.com/documentation/devicecheck/establishing_your_app_s_integrity) properties: appRecognitionVerdict: type: string description: Informa a integridade do app deviceRecognitionVerdict: type: string description: Informa a integridade do dispositivo RiskSignalsConsentEdition: type: object required: - deviceId - osVersion - userTimeZoneOffset - language - screenDimensions - accountTenure description: | Sinais de risco para iniciação de pagamentos automáticos [Restrição] Deve ser enviado quando o consentimento for para o produto Pix Automático (O objeto "/data/recurringConfiguration/automatic" usado no oneOf). Só estará presente após a primeira edição do consentimento de longa duração. Objeto de envio obrigatório para a edição dos parâmetros do consentimento, exceto para o caso de edição exclusiva do campo “/data/creditors/name”. properties: deviceId: type: string description: | ID único do dispositivo gerado pela plataforma. [Android] Informação obtida através do [link](https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID). [iOS] Informação obtida através do [link](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor/). example: 00000000-54b3-e7c7-0000-000046bffd97 isRootedDevice: type: boolean description: | Indica se o dispositivo atualmente está com permissão de “root”. [Restrição] Campos de envio obrigatório quando o sistema operacional utilizado pelo usuário for Android ou iOS. example: false screenBrightness: type: number format: double description: | Indica o nível de brilho da tela do dispositivo. [Android] O valor é inteiro, tipicamente entre 0 a 255, podendo a faixa de valores variar de acordo com o fabricante do celular. Referência no [link](https://developer.android.com/reference/android/provider/Settings.System#SCREEN_BRIGHTNESS). [iOS] O valor é ponto flutuante entre “0.0” e “1.0”. Referência no [link](https://developer.apple.com/documentation/kernel/kern/). [Restrição] Campos de envio obrigatório quando o sistema operacional utilizado pelo for Android ou iOS. elapsedTimeSinceBoot: type: integer format: int64 description: | Indica por quanto tempo (em milissegundos) o dispositivo está ligado. [Android] Informação obtida através do [link](https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime%28%29). [iOS] Informação obtida através do [link](https://developer.apple.com/documentation/kernel/kern/). [Restrição] Campos de envio obrigatório quando o sistema operacional utilizado pelo for Android ou iOS. osVersion: type: string description: | Versão do sistema operacional. [Android] Informação obtida através do [link](https://developer.android.com/reference/android/os/Build.VERSION#RELEASE). [iOS] - Informação obtida através do [link](https://developer.apple.com/documentation/uikit/uidevice/1620043-systemversion/). userTimeZoneOffset: type: string description: | Indica a configuração de fuso horário do dispositivo do usuário, com o formato UTC offset: ±hh[:mm]. O formato especificado permite a omissão da parte correspondente aos minutos, caso esta última tenha valor zero. Assim, ambos os valores '-03:00' e '-03' são válidos e representam o mesmo fuso horário. [Android] Informação obtida através do [link](https://developer.android.com/reference/java/time/ZonedDateTime#getOffset()) ou, para versões anteriores à 8.0, [link](https://developer.android.com/reference/java/util/TimeZone#getOffset(long)). [iOS] Informação obtida através do [link](https://developer.apple.com/documentation/foundation/timezone/). language: type: string description: | Indica o idioma do dispositivo no formato ISO 639-1. [Android] Informação obtida através do [link](https://developer.android.com/reference/java/util/Locale#getLanguage()). [iOS] - Informação obtida através do [link](https://developer.apple.com/documentation/foundation/locale/languagecode/). screenDimensions: type: object description: | Dimensões que o aplicativo ocupa na tela do dispositivo. [Android] Informação obtida através do [link](https://developer.android.com/reference/android/view/WindowMetrics#getBounds()), ou, para versões anteriores à 11, [link](https://developer.android.com/reference/android/util/DisplayMetrics). [iOS] - Informação obtida através do [link](https://developer.apple.com/documentation/metal/mtlrasterizationratemap/3088873-screensize/). required: - height - width properties: height: type: integer format: int64 description: Altura da tela, em pixels. width: type: integer format: int64 description: Largura da tela, em pixels. accountTenure: type: string format: date pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' description: Data de cadastro do cliente na iniciadora. geolocation: type: object description: | Localização do usuário, obtida com seu consentimento. [Android] Informação obtida através do [link](https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderClient#public-abstract-tasklocation-getlastlocation) considerando as permissões necessárias. [iOS] Informação obtida através do [link](https://developer.apple.com/documentation/corelocation/). [Restrição] A ITP deve solicitar ao usuário a permissão para compartilhamento de sua localização. Este campo poderá ser omitido caso o GPS esteja indisponível, isto é, sem sinal, ou em dispositivos sem o hardware necessário; ou caso o usuário negue o consentimento para coleta do dado. properties: latitude: type: number format: double description: Coordenada latitudial do cliente enquanto logado na iniciadora longitude: type: number format: double description: Coordenada longitudinal do cliente enquanto logado na iniciadora type: type: string description: | Tipo de mecanismo utilizado na geração da geolocalização enum: - COARSE - FINE - INFERRED isCallingProgress: type: boolean description: | Indica chamada ativa no momento da solicitação. [Android] Informação obtida através do [link](https://developer.android.com/reference/android/media/AudioManager#getMode()). [iOS] Informação obtida através do [link](https://developer.apple.com/documentation/callkit/). [Restrição] Caso o sinal de risco esteja disponível (cliente permitiu que fosse coletado), o mesmo deverá ser enviado. isDevModeEnabled: type: boolean description: Indica se o dispositivo está em modo de desenvolvedor. isMockGPS: type: boolean description: | Indica se o dispositivo está usando um GPS falso. Deve ser enviado sempre que exista o campo geolocation com tipo COARSE ou FINE. [Android] Informação obtida através do [link](https://developer.android.com/reference/android/location/Location.html#isMock()) ou, para versões anteriores à 12, [link](https://developer.android.com/reference/android/location/Location.html#isFromMockProvider()). [iOS] Informação obtida através dos links: sourceInformation, [link](https://developer.apple.com/documentation/corelocation/cllocation/3861803-sourceinformation). isSimulatedBySoftware, [link](https://developer.apple.com/documentation/corelocation/cllocationsourceinformation/3861807-issimulatedbysoftware). isEmulated: type: boolean description: Indica se o dispositivo é emulado ou real. isMonkeyRunner: type: boolean description: Indica o uso do MonkeyRunner. isCharging: type: boolean description: | Indica se a bateria do dispositivo está sendo carregada. [Android] Informação obtida através do [link](https://developer.android.com/reference/android/os/BatteryManager). [iOS] Informações obtida através do [link](https://developer.apple.com/documentation/uikit/uidevice/1620045-batterymonitoringenabled/). antennaInformation: type: string description: Indica em qual antena o dispositivo está conectado. example: 'CellIdentityLte:{ mCi=2******60 mPci=274 mTac=5***1 mEarfcn=9510 mBands=[28] mBandwidth=2147483647 mMcc=724 mMnc=10 mAlphaLong=VIVO mAlphaShort=VIVO mAdditionalPlmns={} mCsgInfo=null}, CellIdentityLte:{ mCi=1*****01 mPci=361 mTac=3***6 mEarfcn=9410 mBands=[28]mBandwidth=2147483647 mMcc=724 mMnc=03 mAlphaLong=TIMBRASIL mAlphaShort=TIMBRASIL mAdditionalPlmns={} mCsgInfo=null}' isUsbConnected: type: boolean description: Indica se o dispositivo está conectado a outro dispositivo via USB. integrity: type: object description: | Informa a integridade do dispositivo e app. No Android, conforme documentação Play API Integrity - [Android](https://developer.android.com/google/play/integrity/overview?hl=pt-br). No iOS, conforme documentação App Attest [iOS](https://developer.apple.com/documentation/devicecheck/establishing_your_app_s_integrity) properties: appRecognitionVerdict: type: string description: Informa a integridade do app example: PLAY_RECOGNIZED deviceRecognitionVerdict: type: string description: Informa a integridade do dispositivo example: '[\"MEETS_DEVICE_INTEGRITY\"]' CreditorAccountConsent: type: object description: | Recebe os dados de conta do usuário recebedor. required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário pagador, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypeConsents' CreditorAccount: type: object description: | Objeto que contém a identificação da conta de destino do beneficiário/recebedor. [Restrição] Caso o pagamento tenha sido criado utilizando versão 2.0.0 ou superior, o retorno desse objeto é obrigatório pela instituição detentora required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypePayments' DebtorAccount: type: object description: | Objeto que contém a identificação da conta de origem do pagador. As informações quanto à conta de origem do pagador poderão ser trazidas no consentimento para a detentora, caso a iniciadora tenha coletado essas informações do cliente. Do contrário, será coletada na detentora e trazida para a iniciadora como resposta à criação do pagamento. required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário pagador, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypeConsents' originalRecurringPaymentId: type: string description: | Campo que contém o código ou o identificador da tentativa original de pagamento que falhou. A tentativa de pagamento original é a primeira tentativa (Intradia – Primeira Tentativa, vide documentação) realizada para o pagamento de uma determinada recorrência. Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O recurringPaymentId deve ser diferente do endToEndId. Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. [Restrição] Este campo é de envio obrigatório pela Iniciadora quando for uma nova tentativa de liquidação de pagamento que falhou anteriormente. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$ example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl EndToEndId: type: string minLength: 32 maxLength: 32 pattern: '^([E])([0-9A-Z]{8})([0-9]{4})(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])(2[0-3]|[01][0-9])([0-5][0-9])([a-zA-Z0-9]{11})$' example: E9040088820241225150000123873170 description: | Trata-se de um identificador único, gerado na instituição iniciadora de pagamento e recebido na instituição detentora de conta, permeando toda a jornada do pagamento Pix. [Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora. No caso de Pix Automático, a iniciadora deverá, no que tange á composição do endToEndId, utilizar a data para a qual o Pix está sendo agendado e horário fixo 15:00 UTC, que dará para a detentora a janela de efetivação de 00:00 e 23:59 do horário de Brasília, mesmo a janela sendo, para o detentor, até as 21h. EndToEndIdPost: type: string minLength: 32 maxLength: 32 pattern: '^([E])([0-9A-Z]{8})([0-9]{4})(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])(2[0-3]|[01][0-9])([0-5][0-9])([a-zA-Z0-9]{11})$' example: E9040088820241225150000123873170 description: | Deve ser preenchido no formato padrão ExxxxxxxxyyyyMMddHHmmkkkkkkkkkkk (32 caracteres; "case sensitive", isso é, diferencia letras maiúsculas e minúsculas), sendo: - "E" - fixo (1 caractere); - xxxxxxxx - identificação do agente que gerou o EndToEndId, podendo ser: o ISPB do participante direto ou o ISPB do participante indireto (8 caracteres numéricos [0-9]); - yyyyMMddHHmm – data, hora e minuto (12 caracteres), seguindo o horário UTC, da submissão da ordem de pagamento, caso a liquidação seja prioritária, ou prevista para o envio da ordem ao sistema de liquidação, caso seja realizado um agendamento. Para ordens prioritárias e não prioritárias, aceita-se o preenchimento, pelo agente que gerou o EndToEndId, com uma tolerância máxima de 12 horas, para o futuro e para o passado, em relação ao horário efetivo de processamento da ordem pelo SPI; - kkkkkkkkkkk – sequência criada pelo agente que gerou o EndToEndId (11 caracteres alfanuméricos [a-z/A-Z/0-9]). Deve ser único dentro de cada “yyyyMMddHHmm”; Admite-se que o EndToEndId seja gerado pelo participante direto, pelo participante indireto ou pelo iniciador de pagamento. Ele deve ser único, não podendo ser repetido em qualquer outra operação enviada ao SPI. EnumAccountTypePayments: type: string enum: - CACC - SVGS - TRAN example: CACC description: | Tipos de contas usadas para pagamento via Pix. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Segue descrição de cada valor do ENUM para o escopo do Pix. - CACC - Current - Conta Corrente. - SVGS - Savings - Conta de Poupança. - TRAN - TransactingAccount - Conta de Pagamento pré-paga. EnumAccountTypeConsents: type: string enum: - CACC - SVGS - TRAN example: CACC description: | Tipos de contas usadas para pagamento. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Segue descrição de cada valor do ENUM. - CACC - Current - Conta Corrente. - SVGS - Savings - Conta de Poupança. - TRAN - TransactingAccount - Conta de Pagamento pré-paga. EnumAuthorisationStatusType: type: string enum: - AWAITING_AUTHORISATION - PARTIALLY_ACCEPTED - AUTHORISED - REJECTED - REVOKED - CONSUMED example: AWAITING_AUTHORISATION description: | Status atual do consentimento recorrente de acordo com a máquina de estados - AWAITING_AUTHORISATION - Aguardando autorização - PARTIALLY_ACCEPTED - Parcialmente aceito - AUTHORISED - Autorizado - REJECTED - Rejeitado - REVOKED - Revogado - CONSUMED - Consumido EnumPaymentCancellationStatusType: type: string enum: - CANC example: CANC description: | Estado para qual o pagamento deverá transitar EnumPaymentPersonType: type: string enum: - PESSOA_NATURAL - PESSOA_JURIDICA example: PESSOA_NATURAL description: | Titular, pessoa natural ou juridica a quem se referem os dados de recebedor (creditor). EnumPaymentStatusType: type: string enum: - RCVD - CANC - ACCP - ACPD - RJCT - ACSC - PDNG - SCHD example: PDNG description: | Estado atual do pagamento. O estado evolui na seguinte ordem: - RCVD (Received) - Indica que a requisição de pagamento foi recebida com sucesso pela detentora, mas ainda há validações a serem feitas antes de ser submetida para liquidação. - CANC (Cancelled) - Indica que a transação Pix pendente foi cancelada com sucesso pelo usuário antes que fosse confirmada (ACCP) ou rejeitada (RJCT) pela detentora. - ACCP( Accepted Customer Profile) - Indica que todas as verificações necessárias já foram realizadas pela detentora e que a transação está pronta para ser enviada para liquidação (no SPI se for Pix para outra instituição ou internamente se for para outra conta na mesma instituição). - ACPD (Accepted Clearing Processed) - Indica que a detentora já submeteu a transação para liquidação, mas ainda não tem a confirmação se foi liquidada ou rejeitada. - RJCT (Rejected) Indica que a transação foi rejeitada pela detentora ou pelo SPI. - ACSC (Accepted Settlement Completed Debitor Account) - Indica que a transação foi efetivada pela detentora ou pelo SPI. - PDNG (Pending) - Indica que a detentora reteve temporariamente a transação Pix para análise. Não se aplica para Transferências inteligentes. - SCHD (Scheduled) - Indica que a transação Pix foi agendada com sucesso na detentora. Em caso insucesso: - RJCT (REJECTED) - Instrução de pagamento rejeitada. EnumPaymentType: type: string enum: - PIX example: PIX description: | Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. EnumRejectionReasonCodeGet: type: string enum: - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - NAO_INFORMADO - PAGAMENTO_DIVERGENTE_CONSENTIMENTO - PAGAMENTO_RECUSADO_DETENTORA - PAGAMENTO_RECUSADO_SPI - CONSENTIMENTO_INVALIDO - FALHA_INFRAESTRUTURA_SPI - FALHA_INFRAESTRUTURA_ICP - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR - FALHA_INFRAESTRUTURA_DETENTORA - LIMITE_PERIODO_VALOR_EXCEDIDO - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO - TITULARIDADE_INCONSISTENTE - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO - CONSENTIMENTO_REVOGADO - LIMITE_TENTATIVAS_EXCEDIDO - FORA_PRAZO_PERMITIDO - DETALHE_TENTATIVA_INVALIDO - DETALHE_PAGAMENTO_INVALIDO example: SALDO_INSUFICIENTE description: | Código identificador do motivo de rejeição. Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status. - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - NAO_INFORMADO - PAGAMENTO_DIVERGENTE_CONSENTIMENTO - PAGAMENTO_RECUSADO_DETENTORA - PAGAMENTO_RECUSADO_SPI - CONSENTIMENTO_INVALIDO - FALHA_INFRAESTRUTURA_SPI - FALHA_INFRAESTRUTURA_ICP - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR - FALHA_INFRAESTRUTURA_DETENTORA - LIMITE_PERIODO_VALOR_EXCEDIDO - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO - TITULARIDADE_INCONSISTENTE - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO: O valor da transação ultrapassar o limite de valor por transação - CONSENTIMENTO_REVOGADO - LIMITE_TENTATIVAS_EXCEDIDO - FORA_PRAZO_PERMITIDO - DETALHE_TENTATIVA_INVALIDO - DETALHE_PAGAMENTO_INVALIDO [Restrição] Esse motivo deverá ser enviado quando o campo `/data/status` for igual a RJCT (REJECTED). EnumRejectionReasonCode: type: string enum: - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - NAO_INFORMADO - PAGAMENTO_DIVERGENTE_CONSENTIMENTO - PAGAMENTO_RECUSADO_DETENTORA - PAGAMENTO_RECUSADO_SPI - FALHA_INFRAESTRUTURA_SPI - FALHA_INFRAESTRUTURA_ICP - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR - FALHA_INFRAESTRUTURA_DETENTORA - CONSENTIMENTO_INVALIDO - TITULARIDADE_INCONSISTENTE - LIMITE_PERIODO_VALOR_EXCEDIDO - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO - LIMITE_TENTATIVAS_EXCEDIDO - CONSENTIMENTO_REVOGADO - FORA_PRAZO_PERMITIDO - DETALHE_TENTATIVA_INVALIDO - DETALHE_PAGAMENTO_INVALIDO example: SALDO_INSUFICIENTE description: | Código identificador do motivo de rejeição. Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status. - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - NAO_INFORMADO - PAGAMENTO_DIVERGENTE_CONSENTIMENTO - PAGAMENTO_RECUSADO_DETENTORA - PAGAMENTO_RECUSADO_SPI - CONSENTIMENTO_INVALIDO - FALHA_INFRAESTRUTURA_SPI - FALHA_INFRAESTRUTURA_ICP - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR - FALHA_INFRAESTRUTURA_DETENTORA - TITULARIDADE_INCONSISTENTE - LIMITE_PERIODO_VALOR_EXCEDIDO - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO: O valor da transação ultrapassar o limite de valor por transação. - LIMITE_TENTATIVAS_EXCEDIDO: O máximo de tentativas de liquidação permitidas pelo arranjo foi atingido. - CONSENTIMENTO_REVOGADO - FORA_PRAZO_PERMITIDO - DETALHE_TENTATIVA_INVALIDO - DETALHE_PAGAMENTO_INVALIDO [Restrição] Esse motivo deverá ser enviado quando o campo `/data/status` for igual a RJCT (REJECTED). EnumPaymentCancellationReasonType: type: string enum: - CANCELADO_PENDENCIA - CANCELADO_AGENDAMENTO example: CANCELADO_PENDENCIA description: | O preenchimento desse campo para retorno, deve ocorrer pela detentora de contas a partir do status em que o pagamento estiver no momento da solicitação do cancelamento (ex. Status de pagamento = PDNG, campo deve ser preenchido com enum CANCELADO_PENDENCIA) Valores possíveis: CANCELADO_PENDENCIA - Pagamento cancelado enquanto estava na situação PDNG CANCELADO_AGENDAMENTO - Pagamento cancelado enquanto estava na situação SCHD EnumPaymentCancellationFromType: type: string enum: - INICIADORA - DETENTORA example: INICIADORA description: | Campo utilizado para informar o meio pelo qual foi realizado o cancelamento. Valores possíveis: INICIADORA - Pagamento cancelado pelo usuário pagador nos canais da iniciadora DETENTORA - Pagamento cancelado pelo usuário pagador nos canais da detentora Rejection: type: object description: | Objeto contendo as informações de rejeição dos consentimentos. [Restrição] Campo de preenchimento obrigatório caso status do consentimento igual a "REJECTED". required: - rejectedBy - rejectedFrom - rejectedAt properties: rejectedBy: type: string enum: - INICIADORA - USUARIO - DETENTORA example: INICIADORA description: | Quem iniciou a solicitação de rejeição - INICIADORA - USUARIO - DETENTORA rejectedFrom: type: string enum: - INICIADORA - DETENTORA example: DETENTORA description: | Canal onde iniciou-se o processo de rejeição - INICIADORA - DETENTORA rejectedAt: type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 description: Data e hora em que o consentimento foi rejeitado reason: $ref: '#/components/schemas/ConsentRejectionReason' ConsentRejection: type: object properties: status: type: string enum: - REJECTED example: REJECTED description: | Estado atual do consentimento de longa duração rejection: type: object description: | Objeto contendo as informações de rejeição dos consentimentos. required: - rejectedBy - rejectedFrom - reason properties: rejectedBy: type: string enum: - INICIADORA - USUARIO - DETENTORA example: INICIADORA description: | Ator responsável pela solicitação rejeição rejectedFrom: type: string enum: - INICIADORA - DETENTORA example: DETENTORA description: | Canal onde iniciou-se o processo de rejeição - INICIADORA - DETENTORA reason: $ref: '#/components/schemas/ConsentRejectionReason' ConsentRejectionReason: type: object description: | Informações sobre o motivo da rejeição required: - code - detail properties: code: type: string enum: - NAO_INFORMADO - FALHA_INFRAESTRUTURA - TEMPO_EXPIRADO_AUTORIZACAO - REJEITADO_USUARIO - CONTAS_ORIGEM_DESTINO_IGUAIS - CONTA_NAO_PERMITE_PAGAMENTO - AUTENTICACAO_DIVERGENTE example: AUTENTICACAO_DIVERGENTE description: | Código indicador do motivo de rejeição. - NAO_INFORMADO - FALHA_INFRAESTRUTURA - TEMPO_EXPIRADO_AUTORIZACAO - REJEITADO_USUARIO - CONTAS_ORIGEM_DESTINO_IGUAIS - CONTA_NAO_PERMITE_PAGAMENTO - AUTENTICACAO_DIVERGENTE detail: type: string pattern: '[\w\W\s]*' maxLength: 2048 description: | Detalhe sobre o motivo de rejeição indicado no campo `/data/rejection/reason/code` - NAO_INFORMADO: Não informada pela detentora de conta; - FALHA_INFRAESTRUTURA: [Descrição de qual falha na infraestrutura inviabilizou o processamento]; - TEMPO_EXPIRADO_AUTORIZACAO: Consentimento expirou antes que o usuário pudesse confirmá-lo; - REJEITADO_USUARIO: O usuário rejeitou a autorização do consentimento; - CONTAS_ORIGEM_DESTINO_IGUAIS: A conta selecionada é igual à conta destino e não permite realizar esse pagamento; - CONTA_NAO_PERMITE_PAGAMENTO: A conta selecionada é do tipo [salario/investimento/liquidação/outros] e não permite realizar esse pagamento; - AUTENTICACAO_DIVERGENTE : Usuário autenticado no detentor diverge do usuário autenticado no iniciador; example: O usuário rejeitou a autorização do consentimento RejectionReasonGet: type: object description: | Objeto contendo o motivo de rejeição assíncrono required: - code - detail properties: code: $ref: '#/components/schemas/EnumRejectionReasonCodeGet' detail: type: string pattern: '[\w\W\s]*' maxLength: 2048 description: | Detalhe sobre o código identificador do motivo de rejeição. - SALDO_INSUFICIENTE: A conta selecionada não possui saldo suficiente para realizar o pagamento; - VALOR_ACIMA_LIMITE: Valida se o valor ultrapassa o limite estabelecido [na instituição (conta ou canal)/no arranjo] para permitir a realização de transações pelo cliente; - VALOR_INVALIDO: O valor enviado não é válido; - NAO_INFORMADO: Não reportado/identificado pela instituição detentora de conta; - PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento; - PAGAMENTO_RECUSADO_DETENTORA: [descrição do motivo de recusa]; - PAGAMENTO_RECUSADO_SPI: [código de erro conforme tabela de domínios reason PACS.002]; - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final); - FALHA_INFRAESTRUTURA_SPI: Indica uma falha no Sistema de Pagamentos Instantâneos (SPI); - FALHA_INFRAESTRUTURA_ICP: Indica uma falha na Infraestrutura de Chaves Públicas (ICP); - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR: Indica uma falha na infraestrutura do Prestador de Serviço de Pagamento (PSP) que recebe o pagamento; - FALHA_INFRAESTRUTURA_DETENTORA: indica uma falha na infraestrutura da instituição detentora das informações ou recursos; - LIMITE_PERIODO_VALOR_EXCEDIDO – A transação não pode ser realizada pois o valor parametrizado no consentimento foi excedido. - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO – A transação não pode ser realizada pois a quantidade parametrizada no consentimento foi excedida. - TITULARIDADE_INCONSISTENTE: Conta atualmente não associada ao CPF/CNPJ do consentimento de longa duração. - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO: O valor da transação excede o limite global do consentimento. - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO: O valor da transação ultrapassar o limite de valor por transação. - CONSENTIMENTO_REVOGADO: O pagamento estava associado a um consentimento que foi revogado. - LIMITE_TENTATIVAS_EXCEDIDO: O máximo de tentativas de liquidação permitidas pelo arranjo foi atingido - FORA_PRAZO_PERMITIDO: O horário ou período da requisição não permite o agendamento pelo detentor. - DETALHE_TENTATIVA_INVALIDO: O parâmetro [nome_do(s)_campo(s)] inseridos para a nova tentativa de pagamento não condizem com o pagamento original que falhou e não são permitidos na nova tentativa de pagamento. - DETALHE_PAGAMENTO_INVALIDO: Valida se determinado parâmetro informado obedece as regras de negócio RejectionReason: type: object description: | Objeto contendo o motivo de rejeição assíncrono required: - code - detail properties: code: $ref: '#/components/schemas/EnumRejectionReasonCode' detail: type: string pattern: '[\w\W\s]*' maxLength: 2048 description: | Detalhe sobre o código identificador do motivo de rejeição. - SALDO_INSUFICIENTE: A conta selecionada não possui saldo suficiente para realizar o pagamento; - VALOR_ACIMA_LIMITE: Valida se o valor ultrapassa o limite estabelecido [na instituição (conta ou canal)/no arranjo] para permitir a realização de transações pelo cliente; - VALOR_INVALIDO: O valor enviado não é válido; - NAO_INFORMADO: Não reportado/identificado pela instituição detentora de conta; - PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento; - PAGAMENTO_RECUSADO_DETENTORA: [descrição do motivo de recusa]; - PAGAMENTO_RECUSADO_SPI: [código de erro conforme tabela de domínios reason PACS.002]; - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final); - FALHA_INFRAESTRUTURA_SPI: Indica uma falha no Sistema de Pagamentos Instantâneos (SPI); - FALHA_INFRAESTRUTURA_ICP: Indica uma falha na Infraestrutura de Chaves Públicas (ICP); - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR: Indica uma falha na infraestrutura do Prestador de Serviço de Pagamento (PSP) que recebe o pagamento; - FALHA_INFRAESTRUTURA_DETENTORA: indica uma falha na infraestrutura da instituição detentora das informações ou recursos; - TITULARIDADE_INCONSISTENTE: Conta atualmente não associada ao CPF/CNPJ do consentimento de longa duração - LIMITE_PERIODO_VALOR_EXCEDIDO: A transação não pode ser realizada pois o valor parametrizado no consentimento foi excedido. - LIMITE_PERIODO_QUANTIDADE_EXCEDIDO: A transação não pode ser realizada pois a quantidade parametrizada no consentimento foi excedida. - LIMITE_VALOR_TOTAL_CONSENTIMENTO_EXCEDIDO: O valor da transação excede o limite global do consentimento. - LIMITE_VALOR_TRANSACAO_CONSENTIMENTO_EXCEDIDO: O valor da transação ultrapassar o limite de valor por transação. - LIMITE_TENTATIVAS_EXCEDIDO: O máximo de tentativas de liquidação permitidas pelo arranjo foi atingido. - CONSENTIMENTO_REVOGADO: O pagamento estava associado a um consentimento que foi revogado. - FORA_PRAZO_PERMITIDO: O horário ou período da requisição não permite o agendamento pelo detentor. - DETALHE_TENTATIVA_INVALIDO: O parâmetro [nome_do(s)_campo(s)] inseridos para a nova tentativa de pagamento não condizem com o pagamento original que falhou e não são permitidos na nova tentativa de pagamento. - DETALHE_PAGAMENTO_INVALIDO: Valida se determinado parâmetro informado obedece as regras de negócio. ConsentEdition: type: object required: - creditors properties: riskSignals: $ref: '#/components/schemas/RiskSignalsConsentEdition' creditors: type: array minItems: 1 items: type: object description: | Objeto contendo os dados do recebedor (creditor). **Regras para Transferências inteligentes:** 1. Para clientes pessoa física/natural: - Deve aceitar apenas um item no array; e; - O CPF informado deve ser o mesmo do `/data/loggedUser/document/identification`. 2. Para clientes pessoa jurídica: - Não há limite para quantidade de itens no array; e; - O(s) CNPJ informado deve possuir a mesma raiz do CNPJ enviado no campo `/data/businessEntity/document/identification`. **Regras para Pix Automático:** - Apenas um item é permitido no array; e; - O documento informado deve ser de um recebedor pessoa jurídica. properties: name: type: string pattern: ^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$ maxLength: 120 example: Marco Antonio de Brito description: | Em caso de pessoa natural deve ser informado o nome completo do titular da conta do recebedor. Em caso de pessoa jurídica deve ser informada a razão social ou o nome fantasia da conta do recebedor. expirationDateTime: description: | Data e hora em que o consentimento deve deixar de ser válido. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). [Restrição] Caso esse campo não seja enviado, a instituição detentora deve considerar a extensão do prazo para um período indeterminado; ou; Caso enviado, esse campo deve ser, no mínimo, D, sendo D o dia da requisição e o horário deve ser às 23:59:59 (UTC). type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 recurringConfiguration: type: object description: Campo destinado a configuração dos diferentes produtos de pagamentos recorrentes. properties: automatic: type: object description: Definição da configuração de recorrência para pagamentos automáticos properties: maximumVariableAmount: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '1000000.12' description: | Valor máximo permitido por cobrança, caso preenchido, representa um consentimento para pagamentos de valores variáveis. [Restrição] Caso esse campo não seja enviado, a instituição detentora deve considerar o valor máximo do pagamento variável como indefinido; Caso informado, o valor desse campo não deve ser inferior ao valor definido no campo "/data/recurringConfiguration/automatic/minimumVariableAmount". loggedUser: type: object description: | Usuário (pessoa natural) que encontra-se logado na instituição Iniciadora de Pagamento. [Restrição] Objeto de envio obrigatório para a edição dos parâmetros do consentimento, exceto para o caso de edição exclusiva do campo “/data/creditors/name”. required: - document properties: document: type: object required: - identification - rel properties: identification: type: string maxLength: 11 description: Número do documento de identificação oficial do usuário logado na instituição iniciadora. example: '11111111111' pattern: '^\d{11}$' rel: type: string description: Tipo do documento de identificação oficial do usuário logado na instituição iniciadora. enum: - CPF businessEntity: type: object description: | Usuário (pessoa jurídica) que encontra-se logado na instituição Iniciadora de Pagamento. [Restrição] Preenchimento obrigatório se usuário logado na instituição Iniciadora de Pagamento for um CNPJ (pessoa jurídica). required: - document properties: document: type: object required: - identification - rel properties: identification: type: string maxLength: 14 description: Número do documento de identificação oficial do titular pessoa jurídica. example: '11111111111111' pattern: '^[0-9A-Z]{12}[0-9]{2}$' rel: type: string maxLength: 4 description: Tipo do documento de identificação oficial do titular pessoa jurídica. example: CNPJ pattern: '^[A-Z]{4}$' ConsentRevocation: type: object properties: status: type: string enum: - REVOKED example: REVOKED description: | Estado atual do consentimento de longa duração revocation: type: object description: Objeto contendo as informações de revogação dos consentimentos de longa duração. required: - revokedBy - revokedFrom - reason properties: revokedBy: type: string enum: - INICIADORA - USUARIO - DETENTORA example: INICIADORA description: | Quem iniciou a solicitação de revogação - INICIADORA - USUARIO - DETENTORA revokedFrom: type: string enum: - INICIADORA - DETENTORA example: DETENTORA description: | Canal onde iniciou-se o processo de revogação - INICIADORA - DETENTORA reason: $ref: '#/components/schemas/ConsentRevokedReason' ConsentRevokedReason: type: object description: | Informações sobre o motivo da revogação required: - code - detail properties: code: type: string enum: - REVOGADO_RECEBEDOR - REVOGADO_USUARIO - NAO_INFORMADO example: REVOGADO_RECEBEDOR description: | Código indicador do motivo de revogação. - REVOGADO_RECEBEDOR - REVOGADO_USUARIO - NAO_INFORMADO detail: type: string pattern: '[\w\W\s]*' maxLength: 2048 description: | Detalhe sobre o motivo de revogação indicado no campo `/data/revocation/reason/code`. - NAO_INFORMADO: Não informada pela detentora de conta; - REVOGADO_USUARIO: O usuário pagador revogou a recorrência do consentimento; - REVOGADO_RECEBEDOR: O usuário recebedor revogou a recorrência do consentimento. RecurringConfiguration: type: object description: Campo destinado a configuração dos diferentes produtos de pagamentos recorrentes. oneOf: - $ref: '#/components/schemas/Automatic' - $ref: '#/components/schemas/Sweeping' - $ref: '#/components/schemas/Vrp' AutomaticRequest: type: object required: - automatic properties: automatic: type: object description: Definição da configuração de recorrência para pagamentos automáticos required: - contractId - interval - contractDebtor - isRetryAccepted - referenceStartDate properties: contractId: type: string pattern: '^[a-zA-Z0-9]{1,35}$' minLength: 1 maxLength: 35 example: XE00038166201907261559y6j6 description: Identificador do contrato de transação fixedAmount: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' description: | Valor fixo de cobrança, caso preenchido, representa um consentimento para pagamentos de valores fixos, ou não sujeitos a alteração durante a vigência do consentimento. [Restrição] Excludente com o campo “/data/recurringConfiguration/automatic/maximumVariableAmount” maximumVariableAmount: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '1000000.12' description: | Valor máximo permitido por cobrança, caso preenchido, representa um consentimento para pagamentos de valores variáveis. [Restrição] Excludente com o campo “/data/recurringConfiguration/automatic/fixedAmount” interval: type: string enum: - SEMANAL - MENSAL - ANUAL - SEMESTRAL - TRIMESTRAL example: SEMANAL description: | Define a periodicidade permitida para realização de transações - SEMANAL - MENSAL - ANUAL - SEMESTRAL - TRIMESTRAL contractDebtor: $ref: '#/components/schemas/ContractDebtor' firstPayment: $ref: '#/components/schemas/FirstPayment' minimumVariableAmount: type: string pattern: ^((\d{1,16}\.\d{2}))$ minLength: 4 maxLength: 19 example: '100000.12' description: | Valor definido pelo usuário recebedor. Se o usuário pagador atribuir um valor máximo para os pagamentos daquela autorização (campo “maximumVariableAmount”), ele não poderá ser inferior ao piso definido pelo usuário recebedor. Não pode ser preenchido nas autorizações de valor fixo, ou seja, com campo “/data/recurringConfiguration/automatic/fixedAmount”. Não representa um valor mínimo de cobrança para o pagamento. isRetryAccepted: type: boolean description: Indica se é permitido pelo cliente recebedor fazer tentativas de pagamento (extradia), conforme as regras estabelecidas no arranjo Pix. example: false referenceStartDate: type: string format: date pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' description: | Representa a data prevista para o início do ciclo de cobrança dos pagamentos associados à recorrência. Trata-se de uma string com data conforme especificação RFC-3339, seguindo o horário de Brasília (UTC-3). O pagamento inicial avulso, declarado no objeto firstPayment do consentimento, não está sujeito a essa data. example: '2023-05-21' Automatic: type: object required: - automatic properties: automatic: type: object description: Definição da configuração de recorrência para pagamentos automáticos required: - contractId - interval - contractDebtor - isRetryAccepted - useOverdraftLimit - referenceStartDate properties: contractId: type: string pattern: '^[a-zA-Z0-9]{1,35}$' minLength: 1 maxLength: 35 example: XE00038166201907261559y6j6 description: Identificador do contrato de transação fixedAmount: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' description: | Valor fixo de cobrança, caso preenchido, representa um consentimento para pagamentos de valores fixos, ou não sujeitos a alteração durante a vigência do consentimento. [Restrição] Excludente com o campo “/data/recurringConfiguration/automatic/maximumVariableAmount” maximumVariableAmount: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '1000000.12' description: | Valor máximo permitido por cobrança, caso preenchido, representa um consentimento para pagamentos de valores variáveis. [Restrição] Excludente com o campo “/data/recurringConfiguration/automatic/fixedAmount” interval: type: string enum: - SEMANAL - MENSAL - ANUAL - SEMESTRAL - TRIMESTRAL example: SEMANAL description: | Define a periodicidade permitida para realização de transações - SEMANAL - MENSAL - ANUAL - SEMESTRAL - TRIMESTRAL contractDebtor: $ref: '#/components/schemas/ContractDebtor' firstPayment: $ref: '#/components/schemas/FirstPayment' minimumVariableAmount: type: string pattern: ^((\d{1,16}\.\d{2}))$ minLength: 4 maxLength: 19 example: '100000.12' description: | Valor definido pelo usuário recebedor. Se o usuário pagador atribuir um valor máximo para os pagamentos daquela autorização (campo “maximumVariableAmount”), ele não poderá ser inferior ao piso definido pelo usuário recebedor. Não pode ser preenchido nas autorizações de valor fixo, ou seja, com campo “/data/recurringConfiguration/automatic/fixedAmount”. Não representa um valor mínimo de cobrança para o pagamento. isRetryAccepted: type: boolean description: Indica se é permitido pelo cliente recebedor fazer tentativas de pagamento (extradia), conforme as regras estabelecidas no arranjo Pix. example: false useOverdraftLimit: type: boolean default: true example: true description: Indica se o usuário pagador autorizou a utilização de limite pré-aprovado (cheque especial) na sua conta para realização de pagamentos, caso o cliente possua o produto. referenceStartDate: type: string format: date pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' description: | Representa a data prevista para o início do ciclo de cobrança dos pagamentos associados à recorrência. Trata-se de uma string com data conforme especificação RFC-3339, seguindo o horário de Brasília (UTC-3). O pagamento inicial avulso, declarado no objeto firstPayment do consentimento, não está sujeito a essa data. example: '2023-05-21' ContractDebtor: type: object description: Informações sobre o cliente devedor do contrato. Pode possuir titularidade diferente do usuário pagador descrito nos objetos "/data/loggedUser" e "/data/businessEntity". required: - name - document properties: name: type: string pattern: ^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$ maxLength: 120 example: Policarpo Quaresma description: Em caso de pessoa natural deve ser informado o nome completo do titular devedor do contrato. document: type: object required: - identification - rel properties: identification: type: string maxLength: 14 description: Número do documento de identificação oficial do cliente devedor do contrato. example: '11111111111111' pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' rel: type: string description: Tipo do documento de identificação oficial do cliente devedor do contrato. enum: - CPF - CNPJ FirstPayment: type: object description: | Definições para o primeiro pagamento. É considerado como o pagamento da adesão ao serviço pelo usuário pagador. [Restrição] Para casos em que conta recebedora e conta pagadora pertencem ao mesmo detentor (/data/debtorAccount/ispb = /data/recurringConfiguration/automatic/firstPayment/creditorAccount/ispb), o detentor deve garantir que a conta de crédito informada pertence ao titular do CNPJ enviado no campo “/data/creditors/cpfCnpj”. required: - type - date - currency - amount - creditorAccount properties: type: $ref: '#/components/schemas/EnumPaymentType' date: type: string format: date maxLength: 10 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2021-01-01' description: | Define a data alvo da liquidação do pagamento. O fuso horário de Brasília deve ser utilizado para criação e racionalização sobre os dados deste campo. currency: type: string maxLength: 3 pattern: '^([A-Z]{3})$' example: BRL description: | Código da moeda nacional segundo modelo ISO-4217, ou seja, 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil. amount: type: string minLength: 4 maxLength: 19 pattern: '^((\d{1,16}\.\d{2}))$' example: '100000.12' description: | Valor da transação com 2 casas decimais. remittanceInformation: type: string maxLength: 140 pattern: '[\w\W\s]*' example: 'Pagamento da nota RSTO035-002' description: | Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. creditorAccount: $ref: '#/components/schemas/CreditorAccountConsent' SweepingRequest: type: object required: - sweeping properties: sweeping: type: object description: Definição da configuração de recorrência para transferências automáticas de fundos. properties: totalAllowedAmount: type: string minLength: 4 maxLength: 19 pattern: '^((\d{1,16}\.\d{2}))$' example: '100000.12' description: Valor máximo a ser atingido pelo somatório de todas as transações que utilizam o consentimento autorizado pelo cliente. Caso o valor seja superado, a detentora de conta deve negar a transação solicitada pela iniciadora. transactionLimit: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '1000000.12' description: Valor máximo para cada transação de pagamento associada a esse consentimento. Caso valor do pagamento seja maior que esse limite, a detentora de contas deve rejeitar a transação de pagamento. periodicLimits: $ref: "#/components/schemas/PeriodicLimits" startDateTime: type: string format: date-time pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' description: | Description: Data e hora em que o consentimento deve passar a ser válido. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). [Restrição] Caso esse campo não seja enviado pelo iniciador na requisição, o detentor deve preencher esse campo com o mesmo valor atribuído ao campo /data/creationDateTime. example: '2023-05-21T08:30:00Z' Sweeping: type: object required: - sweeping properties: sweeping: type: object description: Definição da configuração de recorrência para transferências automáticas de fundos. required: - useOverdraftLimit - startDateTime properties: totalAllowedAmount: type: string minLength: 4 maxLength: 19 pattern: '^((\d{1,16}\.\d{2}))$' example: '100000.12' description: Valor máximo a ser atingido pelo somatório de todas as transações que utilizam o consentimento autorizado pelo cliente. Caso o valor seja superado, a detentora de conta deve negar a transação solicitada pela iniciadora. transactionLimit: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '1000000.12' description: Valor máximo para cada transação de pagamento associada a esse consentimento. Caso valor do pagamento seja maior que esse limite, a detentora de contas deve rejeitar a transação de pagamento. periodicLimits: $ref: "#/components/schemas/PeriodicLimits" useOverdraftLimit: type: boolean default: true example: true description: Indica se o usuário pagador autorizou a utilização de limite pré-aprovado (cheque especial) na sua conta para realização de pagamentos, caso o cliente possua o produto. startDateTime: type: string format: date-time pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' description: | Description: Data e hora em que o consentimento deve passar a ser válido. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). [Restrição] Caso esse campo não seja enviado pelo iniciador na requisição, o detentor deve preencher esse campo com o mesmo valor atribuído ao campo /data/creationDateTime. example: '2023-05-21T08:30:00Z' PeriodicLimits: type: object description: Limites transacionais por período determinado pelo usuário pagador. properties: day: $ref: '#/components/schemas/Day' week: $ref: '#/components/schemas/Week' month: $ref: '#/components/schemas/Month' year: $ref: '#/components/schemas/Year' Vrp: type: object required: - vrp properties: vrp: type: object description: Definição da configuração de recorrência para realização de transações de valores variáveis properties: transactionLimit: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' description: Limite máximo de valor permitido para cada transação de pagamento. globalLimits: type: object description: Limite transacional máximo para pagamentos, após atingir este valor, o consentimento deve ir para o status "CONSUMED". properties: quantityLimit: type: integer example: 10 description: Quantidade máxima de ocorrência de pagamentos, após atingir este valor, o consentimento deve ir para o status "CONSUMED" transactionLimit: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' description: Valor transacional máximo para pagamentos sob este consentimento, após atingir este valor, o consentimento deve ir para o status "CONSUMED". periodicLimits: type: object description: Limites transacionais por período determinado pelo usuário pagador. properties: day: $ref: '#/components/schemas/Day' week: $ref: '#/components/schemas/Week' month: $ref: '#/components/schemas/Month' year: $ref: '#/components/schemas/Year' Day: type: object description: | Configurar limite transacional diário determinado pelo usuário pagador. [Restrição] Caso enviado o objeto, ao menos um dos campos (`quantityLimit` ou `transactionLimit`) devem ser preenchidos. properties: quantityLimit: type: integer minimum: 1 example: 2 description: Quantidade limite de transações permitidas para ocorrer durante um dia. transactionLimit: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' description: Valor máximo a ser transacionado diariamente. Week: type: object description: | Configurar limite transacional semanal determinado pelo usuário pagador. [Restrição] Caso enviado o objeto, ao menos um dos campos (`quantityLimit` ou `transactionLimit`) devem ser preenchidos properties: quantityLimit: type: integer minimum: 1 example: 10 description: Quantidade limite de transações permitidas para ocorrer durante uma semana. transactionLimit: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' description: Valor máximo a ser transacionado semanalmente. Month: type: object description: | Configurar limite transacional mensal determinado pelo usuário pagador. [Restrição] Caso enviado o objeto, ao menos um dos campos (`quantityLimit` ou `transactionLimit`) devem ser preenchidos properties: quantityLimit: type: integer minimum: 1 example: 30 description: Quantidade limite de transações permitidas para ocorrer durante um mês. transactionLimit: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' description: Valor máximo a ser transacionado mensalmente. Year: type: object description: | Configurar limite transacional anual determinado pelo usuário pagador. [Restrição] Caso enviado o objeto, ao menos um dos campos (`quantityLimit` ou `transactionLimit`) devem ser preenchidos properties: quantityLimit: type: integer minimum: 1 example: 100 description: Quantidade limite de transações permitidas para ocorrer durante um ano. transactionLimit: type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' description: Valor máximo a ser transacionado por um ano, a partir da data definida no campo `/data/startDateTime`. CreditorAccountPostPixPaymentsResponse: type: object description: | Objeto que contém a identificação da conta de destino do beneficiário/recebedor. required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypePayments' Creditors: type: array minItems: 1 items: type: object description: | Objeto contendo os dados do recebedor (creditor). **Regras para Transferências inteligentes:** 1. Para clientes pessoa física/natural: - Deve aceitar apenas um item no array; e; - O CPF informado deve ser o mesmo do `/data/loggedUser/document/identification`. 2. Para clientes pessoa jurídica: - Não há limite para quantidade de itens no array; e; - O(s) CNPJ informado deve possuir a mesma raiz do CNPJ enviado no campo `/data/businessEntity/document/identification`. **Regras para Pix Automático:** - Apenas um item é permitido no array; e; - O documento informado deve ser de um recebedor pessoa jurídica. required: - personType - cpfCnpj - name properties: personType: $ref: '#/components/schemas/EnumPaymentPersonType' cpfCnpj: type: string minLength: 11 maxLength: 14 pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' example: '58764789000137' description: | Identificação da pessoa envolvida na transação. Preencher com o CPF ou CNPJ, de acordo com o valor escolhido no campo type. O CPF será utilizado com 11 números e deverá ser informado sem pontos ou traços. O CNPJ será utilizado com 14 números e deverá ser informado sem pontos ou traços. name: type: string pattern: ^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$ maxLength: 120 example: Marco Antonio de Brito description: | Em caso de pessoa natural deve ser informado o nome completo do titular da conta do recebedor. Em caso de pessoa jurídica deve ser informada a razão social ou o nome fantasia da conta do recebedor. LoggedUser: type: object description: Usuário (pessoa natural) que encontra-se logado na instituição Iniciadora de Pagamento. required: - document properties: document: type: object required: - identification - rel properties: identification: type: string maxLength: 11 description: Número do documento de identificação oficial do usuário. example: '11111111111' pattern: '^\d{11}$' rel: type: string maxLength: 3 description: Tipo do documento de identificação oficial do usuário. example: CPF pattern: '^[A-Z]{3}$' Meta: type: object description: Meta informação referente a API requisitada. required: - requestDateTime properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' LinkSingle: type: object description: Referências para outros recusos da API requisitada. required: - self properties: self: type: string format: url maxLength: 2000 description: URI completo que gerou a resposta atual. example: 'https://api.banco.com.br/open-banking/api/v2/resource' PaymentPix: type: object description: Objeto contendo as informações do pagamento. required: - amount - currency properties: amount: type: string minLength: 4 maxLength: 19 pattern: '^((\d{1,16}\.\d{2}))$' example: '100000.12' description: | Valor da transação com 2 casas decimais. currency: type: string maxLength: 3 pattern: '^([A-Z]{3})$' example: BRL description: | Código da moeda nacional segundo modelo ISO-4217, ou seja, 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil. PatchPixPayment: type: object required: - data properties: data: $ref: '#/components/schemas/PatchPixPaymentData' PatchPixPaymentData: type: object required: - status - cancellation properties: status: $ref: '#/components/schemas/EnumPaymentCancellationStatusType' cancellation: type: object description: | Informações gerais sobre o cancelamento. required: - cancelledBy properties: cancelledBy: type: object description: Informações gerais sobre o usuário que solicitou o cancelamento. required: - document properties: document: type: object description: Objeto que consolida os dados do documento do usuário que solicitou o cancelamento. required: - identification - rel properties: identification: type: string maxLength: 14 description: Número do documento de identificação oficial do pagador ou recebedor, pessoa natural ou jurídica example: '11111111111' pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' rel: type: string description: Tipo de documento de identificação oficial do pagador ou recebedor, pessoa natural ou jurídica. enum: - CPF - CNPJ PixPaymentCancellation: type: object description: | Objeto que contém os dados referentes ao usuário pagador que solicitou o cancelamento, o canal utilizado por ele e o motivo. [Restrição] O objeto cancellation será obrigatório apenas quando o valor do campo status for igual a CANC. required: - cancelledAt - cancelledBy - reason - cancelledFrom properties: reason: $ref: '#/components/schemas/EnumPaymentCancellationReasonType' cancelledFrom: $ref: '#/components/schemas/EnumPaymentCancellationFromType' cancelledAt: type: string description: 'Data e hora que foi realizado o cancelamento, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2021-05-21T08:30:00Z' cancelledBy: type: object description: Informação relacionada ao usuário pagador que solicitou o cancelamento do pagamento. required: - document properties: document: type: object description: Objeto que consolida os dados do documento do usuário que solicitou o cancelamento. required: - identification - rel properties: identification: type: string maxLength: 14 description: Número do documento de identificação oficial do pagador ou recebedor, pessoa natural ou jurídica. example: '11111111111' pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' rel: type: string description: Tipo de documento de identificação oficial do pagador ou recebedor, pessoa natural ou jurídica. enum: - CPF - CNPJ ResponseError: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 13 items: type: object required: - code - title - detail properties: code: description: Código de erro específico do endpoint type: string pattern: '[\w\W\s]*' maxLength: 255 title: description: Título legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 2048 meta: type: object description: Meta informações referente à API requisitada. required: - requestDateTime properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' ResponsePostRecurringConsent: type: object required: - data - links - meta properties: data: type: object description: Objeto contendo as informações de consentimento para a iniciação de pagamento individual. required: - recurringConsentId - statusUpdateDateTime - loggedUser - status - creditors - creationDateTime - recurringConfiguration properties: recurringConsentId: type: string pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' maxLength: 256 description: | Identificador único do consentimento de longa duração criado para a iniciação de pagamento solicitada. Deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://datatracker.ietf.org/doc/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://datatracker.ietf.org/doc/html/rfc8141). statusUpdateDateTime: type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 description: | Data e hora em que o consentimento teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). loggedUser: $ref: '#/components/schemas/LoggedUser' businessEntity: $ref: '#/components/schemas/BusinessEntity' status: $ref: '#/components/schemas/EnumAuthorisationStatusType' creditors: $ref: '#/components/schemas/Creditors' creationDateTime: description: Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 expirationDateTime: description: | Data e hora em que o consentimento deve deixar de ser válido. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC (UTC time format). [Restrição] Caso o consentimento seja para Pix Automático ("automatic" selecionado no oneOf "/data/recurringConfiguration/") o horário de expiração do consentimento precisa ser às 23:59:59 (UTC). type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 additionalInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento type: string example: 'Minha recorrência' pattern: '[\w\W\s]*' maxLength: 140 debtorAccount: type: object description: | Objeto que contém a identificação da conta de origem do pagador. - Caso a ITP tenha coletado as informações de conta do usuário pagador, essas poderão ser enviadas no consentimento para a detentora neste objeto, ou; - Se não coletado pelo ITP, o usuário pagador precisará definir durante a autorização do consentimento. - Mesmo se enviado pela ITP, o usuário pagador pode alterar durante a autorização do consentimento. [Restrições] - Objeto obrigatório que deverá ser retornado quando o consentimento estiver ou passar pelo status AUTHORISED; required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário pagador, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypeConsents' rejection: $ref: '#/components/schemas/Rejection' revocation: type: object description: | Objeto contendo as informações de revogação dos consentimentos. [Restrição] Campo de preenchimento obrigatório caso status do consentimento igual a "REVOKED". required: - revokedBy - revokedFrom - revokedAt properties: revokedBy: type: string enum: - INICIADORA - USUARIO - DETENTORA example: INICIADORA description: | Quem iniciou a solicitação de revogação - INICIADORA - USUARIO - DETENTORA revokedFrom: type: string enum: - INICIADORA - DETENTORA example: DETENTORA description: | Canal onde iniciou-se o processo de revogação - INICIADORA - DETENTORA revokedAt: type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 description: Data e hora em que o consentimento foi revogado reason: type: object description: | Informações sobre o motivo da revogação required: - code - detail properties: code: type: string enum: - NAO_INFORMADO - REVOGADO_USUARIO - REVOGADO_RECEBEDOR example: REVOGADO_RECEBEDOR description: | Código indicador do motivo da revogação detail: type: string pattern: '[\w\W\s]*' maxLength: 2048 description: | Detalhe sobre o motivo de revogação indicado no campo `/data/revocation/reason/code`. - NAO_INFORMADO: Não informada pela detentora de conta; - REVOGADO_USUARIO: O usuário pagador revogou a recorrência do consentimento; - REVOGADO_RECEBEDOR: O usuário recebedor revogou a recorrência do consentimento. example: O usuário rejeitou a autorização do consentimento recurringConfiguration: $ref: '#/components/schemas/RecurringConfiguration' authorisedAtDateTime: type: string format: date-time pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' minLength: 20 maxLength: 20 example: '2021-05-21T08:30:00Z' description: | Data e hora em que o consentimento foi autorizado. [Restrição] Campo de envio obrigatório quando consentimento transitar para AUTHORISED. updatedAtDateTime: type: string format: date-time pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' minLength: 20 maxLength: 20 example: '2021-05-21T08:30:00Z' description: | Data e hora em que o consentimento foi atualizado pelo usuário pagador. O campo deve ser atualizado pelo detentor sempre que o consentimento for editado. Caso a edição seja realizada a partir do iniciador, o detentor deve preencher com a data e hora (UTC) em que recebeu a solicitação de edição. A edição só é permitida para o produto Pix automático. links: $ref: '#/components/schemas/LinkSingle' meta: $ref: '#/components/schemas/Meta' ResponseRecurringConsent: type: object required: - data - links - meta properties: data: type: object description: Objeto contendo as informações de consentimento para a iniciação de pagamento individual. required: - recurringConsentId - statusUpdateDateTime - loggedUser - status - creditors - creationDateTime - recurringConfiguration properties: recurringConsentId: type: string pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' maxLength: 256 description: | Identificador único do consentimento de longa duração criado para a iniciação de pagamento solicitada. Deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://datatracker.ietf.org/doc/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://datatracker.ietf.org/doc/html/rfc8141). statusUpdateDateTime: type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 description: | Data e hora em que o consentimento teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). loggedUser: $ref: '#/components/schemas/LoggedUser' businessEntity: $ref: '#/components/schemas/BusinessEntity' status: $ref: '#/components/schemas/EnumAuthorisationStatusType' creditors: $ref: '#/components/schemas/Creditors' creationDateTime: description: Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 expirationDateTime: description: | Data e hora em que o consentimento deve deixar de ser válido. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC (UTC time format). [Restrição] Caso o consentimento seja para Pix Automático ("automatic" selecionado no oneOf "/data/recurringConfiguration/") o horário de expiração do consentimento precisa ser às 23:59:59 (UTC). type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 additionalInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento type: string example: 'Minha recorrência' pattern: '[\w\W\s]*' maxLength: 140 debtorAccount: type: object description: | Objeto que contém a identificação da conta de origem do pagador. - Caso a ITP tenha coletado as informações de conta do usuário pagador, essas poderão ser enviadas no consentimento para a detentora neste objeto, ou; - Se não coletado pelo ITP, o usuário pagador precisará definir durante a autorização do consentimento. - Mesmo se enviado pela ITP, o usuário pagador pode alterar durante a autorização do consentimento. [Restrições] - Objeto obrigatório que deverá ser retornado quando o consentimento estiver ou passar pelo status AUTHORISED; required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário pagador, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypeConsents' ibgeTownCode: type: string minLength: 7 maxLength: 7 pattern: '^\d{7}$' example: '5300108' description: | Campo utilizado pela iniciadora para cálculo do dia útil de liquidação do pagamento (vide especificação do endToEndId) baseado no município de cadastro do usuário pagador no detentor. [Restrições] Campo de preenchimento obrigatório quando o oneOf utilizado do recurringConfiguration for “automatic”, e o consentimento passar pelo estado AUTHORISED. rejection: $ref: '#/components/schemas/Rejection' revocation: type: object description: | Objeto contendo as informações de revogação dos consentimentos. [Restrição] Campo de preenchimento obrigatório caso status do consentimento igual a "REVOKED". required: - revokedBy - revokedFrom - revokedAt properties: revokedBy: type: string enum: - INICIADORA - USUARIO - DETENTORA example: INICIADORA description: | Quem iniciou a solicitação de revogação - INICIADORA - USUARIO - DETENTORA revokedFrom: type: string enum: - INICIADORA - DETENTORA example: DETENTORA description: | Canal onde iniciou-se o processo de revogação - INICIADORA - DETENTORA revokedAt: type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 description: Data e hora em que o consentimento foi revogado reason: type: object description: | Informações sobre o motivo da revogação required: - code - detail properties: code: type: string enum: - NAO_INFORMADO - REVOGADO_USUARIO - REVOGADO_RECEBEDOR example: REVOGADO_RECEBEDOR description: | Código indicador do motivo da revogação detail: type: string pattern: '[\w\W\s]*' maxLength: 2048 description: | Detalhe sobre o motivo de revogação indicado no campo `/data/revocation/reason/code`. - NAO_INFORMADO: Não informada pela detentora de conta; - REVOGADO_USUARIO: O usuário pagador revogou a recorrência do consentimento; - REVOGADO_RECEBEDOR: O usuário recebedor revogou a recorrência do consentimento. example: O usuário rejeitou a autorização do consentimento recurringConfiguration: $ref: '#/components/schemas/RecurringConfiguration' riskSignals: $ref: '#/components/schemas/RiskSignalsConsents' authorisedAtDateTime: type: string format: date-time pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' minLength: 20 maxLength: 20 example: '2021-05-21T08:30:00Z' description: | Data e hora em que o consentimento foi autorizado. [Restrição] Campo de envio obrigatório quando consentimento transitar para AUTHORISED. updatedAtDateTime: type: string format: date-time pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' minLength: 20 maxLength: 20 example: '2021-05-21T08:30:00Z' description: | Data e hora em que o consentimento foi atualizado pelo usuário pagador. O campo deve ser atualizado pelo detentor sempre que o consentimento for editado. Caso a edição seja realizada a partir do iniciador, o detentor deve preencher com a data e hora (UTC) em que recebeu a solicitação de edição. A edição só é permitida para o produto Pix automático. approvalDueDate: description: | Representa a data máxima para aprovação de um consentimento que encontra-se (ou passou) pelo estado PARTIALLY_ACCEPTED. A aprovação deve ocorrer até as 23:59h do dia informado, caso contrário, consentimento deve ser rejeitado. [Restrição] Deve ser preenchido pela instituição detentora sempre que um consentimento estiver (ou passado) no estado PARTIALLY_ACCEPTED type: string format: date pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2024-12-25' links: $ref: '#/components/schemas/LinkSingle' meta: $ref: '#/components/schemas/Meta' ResponseRecurringConsentPatch: type: object required: - data - links - meta properties: data: type: object description: Objeto contendo as informações de consentimento para a iniciação de pagamento individual. required: - recurringConsentId - statusUpdateDateTime - status - creditors - creationDateTime - recurringConfiguration properties: recurringConsentId: type: string pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' maxLength: 256 description: | Identificador único do consentimento de longa duração criado para a iniciação de pagamento solicitada. Deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://datatracker.ietf.org/doc/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://datatracker.ietf.org/doc/html/rfc8141). statusUpdateDateTime: type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 description: | Data e hora em que o consentimento teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). loggedUser: $ref: '#/components/schemas/LoggedUser' businessEntity: $ref: '#/components/schemas/BusinessEntity' status: $ref: '#/components/schemas/EnumAuthorisationStatusType' creditors: $ref: '#/components/schemas/Creditors' creationDateTime: description: Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 expirationDateTime: description: | Data e hora em que o consentimento deve deixar de ser válido. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC (UTC time format). [Restrição] Caso o consentimento seja para Pix Automático ("automatic" selecionado no oneOf "/data/recurringConfiguration/") o horário de expiração do consentimento precisa ser às 23:59:59 (UTC). type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 additionalInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento type: string example: 'Minha recorrência' pattern: '[\w\W\s]*' maxLength: 140 debtorAccount: type: object description: | Objeto que contém a identificação da conta de origem do pagador. - Caso a ITP tenha coletado as informações de conta do usuário pagador, essas poderão ser enviadas no consentimento para a detentora neste objeto, ou; - Se não coletado pelo ITP, o usuário pagador precisará definir durante a autorização do consentimento. - Mesmo se enviado pela ITP, o usuário pagador pode alterar durante a autorização do consentimento. [Restrições] - Objeto obrigatório que deverá ser retornado quando o consentimento estiver ou passar pelo status AUTHORISED; required: - ispb - number - accountType properties: ispb: type: string minLength: 8 maxLength: 8 pattern: '^[0-9A-Z]{8}$' example: '12345678' description: | Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números. issuer: type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). number: type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' description: | Deve ser preenchido com o número da conta transacional do usuário pagador, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountTypeConsents' rejection: type: object description: | Objeto contendo as informações de rejeição dos consentimentos. [Restrição] Campo de preenchimento obrigatório caso status do consentimento igual a "REJECTED". required: - rejectedBy - rejectedFrom - rejectedAt properties: rejectedBy: type: string enum: - INICIADORA - USUARIO - DETENTORA example: INICIADORA description: | Quem iniciou a solicitação de rejeição - INICIADORA - USUARIO - DETENTORA rejectedFrom: type: string enum: - INICIADORA - DETENTORA example: DETENTORA description: | Canal onde iniciou-se o processo de rejeição - INICIADORA - DETENTORA rejectedAt: type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 description: Data e hora em que o consentimento foi rejeitado reason: $ref: '#/components/schemas/ConsentRejectionReason' revocation: type: object description: | Objeto contendo as informações de revogação dos consentimentos. [Restrição] Campo de preenchimento obrigatório caso status do consentimento igual a "REVOKED". required: - revokedBy - revokedFrom - revokedAt properties: revokedBy: type: string enum: - INICIADORA - USUARIO - DETENTORA example: INICIADORA description: | Quem iniciou a solicitação de revogação - INICIADORA - USUARIO - DETENTORA revokedFrom: type: string enum: - INICIADORA - DETENTORA example: DETENTORA description: | Canal onde iniciou-se o processo de revogação - INICIADORA - DETENTORA revokedAt: type: string format: date-time example: '2021-05-21T08:30:00Z' pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 description: Data e hora em que o consentimento foi revogado reason: type: object description: | Informações sobre o motivo da revogação required: - code - detail properties: code: type: string enum: - NAO_INFORMADO - REVOGADO_USUARIO - REVOGADO_RECEBEDOR example: REVOGADO_RECEBEDOR description: | Código indicador do motivo da revogação detail: type: string pattern: '[\w\W\s]*' maxLength: 2048 description: | Detalhe sobre o motivo de revogação indicado no campo `/data/revocation/reason/code`. - NAO_INFORMADO: Não informada pela detentora de conta; - REVOGADO_USUARIO: O usuário pagador revogou a recorrência do consentimento; - REVOGADO_RECEBEDOR: O usuário recebedor revogou a recorrência do consentimento. example: O usuário rejeitou a autorização do consentimento recurringConfiguration: $ref: '#/components/schemas/RecurringConfiguration' riskSignals: $ref: '#/components/schemas/RiskSignalsConsents' authorisedAtDateTime: type: string format: date-time pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' minLength: 20 maxLength: 20 example: '2021-05-21T08:30:00Z' description: | Data e hora em que o consentimento foi autorizado. [Restrição] Campo de envio obrigatório quando consentimento transitar para AUTHORISED. updatedAtDateTime: type: string format: date-time pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' minLength: 20 maxLength: 20 example: '2021-05-21T08:30:00Z' description: | Data e hora em que o consentimento foi atualizado pelo usuário pagador. O campo deve ser atualizado pelo detentor sempre que o consentimento for editado. Caso a edição seja realizada a partir do iniciador, o detentor deve preencher com a data e hora (UTC) em que recebeu a solicitação de edição. A edição só é permitida para o produto Pix automático. approvalDueDate: description: | Representa a data máxima para aprovação de um consentimento que encontra-se (ou passou) pelo estado PARTIALLY_ACCEPTED. A aprovação deve ocorrer até as 23:59h do dia informado, caso contrário, consentimento deve ser rejeitado. [Restrição] Deve ser preenchido pela instituição detentora sempre que um consentimento estiver (ou passado) no estado PARTIALLY_ACCEPTED type: string format: date pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2024-12-25' links: $ref: '#/components/schemas/LinkSingle' meta: $ref: '#/components/schemas/Meta' PatchRecurringConsent: type: object required: - data properties: data: description: Objeto contendo as informações de rejeição, revogação e edição dos consentimentos oneOf: - $ref: '#/components/schemas/ConsentEdition' - $ref: '#/components/schemas/ConsentRevocation' - $ref: '#/components/schemas/ConsentRejection' ResponseRecurringRetryPaymentsIdPost: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/ResponseRecurringRetryPaymentsPostData' links: $ref: '#/components/schemas/LinkSingle' meta: $ref: '#/components/schemas/Meta' ResponseRecurringPaymentsIdPost: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/ResponseRecurringPaymentsPostData' links: $ref: '#/components/schemas/LinkSingle' meta: $ref: '#/components/schemas/Meta' ResponseRecurringPaymentsIdRead: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/ResponseRecurringPaymentsDataRead' links: $ref: '#/components/schemas/LinkSingle' meta: $ref: '#/components/schemas/Meta' ResponseRecurringPaymentsIdPatch: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/ResponseRecurringPaymentsDataPatch' links: $ref: '#/components/schemas/LinkSingle' meta: $ref: '#/components/schemas/Meta' ResponseRecurringPixPayment: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/ResponseRecurringPixData' links: $ref: '#/components/schemas/LinkSingle' meta: $ref: '#/components/schemas/Meta' ResponseRecurringPixData: type: array items: type: object required: - recurringPaymentId - endToEndId - date - creationDateTime - statusUpdateDateTime - status - payment - document properties: recurringPaymentId: type: string minLength: 1 maxLength: 100 pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl description: | Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O `recurringPaymentId` deve ser diferente do `endToEndId`. Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. recurringConsentId: type: string maxLength: 256 pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' example: 'urn:bancoex:C1DD33123' description: | Identificador único do consentimento criado para a iniciação de pagamento solicitada. Deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). [Restrição] Este campo é de preenchimento obrigatório quando o valor do campo authorisationFlow for igual a FIDO_FLOW. endToEndId: $ref: '#/components/schemas/EndToEndId' date: type: string maxLength: 10 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2023-10-10' description: Data em que o pagamento será realizado. Uma string com a utilização de timezone UTC-3 (UTC time format). creationDateTime: type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Data e hora em que o pagamento foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). statusUpdateDateTime: type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Data e hora em que o pagamento teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). status: $ref: '#/components/schemas/EnumPaymentStatusType' rejectionReason: $ref: '#/components/schemas/RejectionReasonGet' payment: $ref: '#/components/schemas/PaymentPix' remittanceInformation: type: string maxLength: 140 pattern: '[\w\W\s]*' example: Pagamento da nota RSTO035-002. description: | Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. transactionIdentification: $ref: '#/components/schemas/TransactionIdentification' document: type: object description: Informações do documento. required: - identification - rel properties: identification: type: string pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' minLength: 11 maxLength: 14 example: '11111111111111' description: Número do documento de identificação oficial do titular pessoa natural ou jurídica. rel: type: string enum: - CPF - CNPJ example: 'CNPJ' description: Tipo do documento de identificação oficial do titular pessoa natural ou jurídica. originalRecurringPaymentId: $ref: '#/components/schemas/originalRecurringPaymentId' paymentReference: $ref: '#/components/schemas/PaymentReference' ResponseRecurringRetryPaymentsPostData: type: object required: - recurringPaymentId - endToEndId - date - status - originalRecurringPaymentId properties: recurringPaymentId: type: string minLength: 1 maxLength: 100 pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl description: | Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O `recurringPaymentId` deve ser diferente do `endToEndId`. Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. endToEndId: $ref: '#/components/schemas/EndToEndId' date: type: string maxLength: 10 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2023-10-10' description: Data em que o pagamento será realizado. Uma string com a utilização de timezone UTC-3 (UTC time format). status: $ref: '#/components/schemas/EnumPaymentStatusType' originalRecurringPaymentId: $ref: '#/components/schemas/originalRecurringPaymentId' ResponseRecurringPaymentsPostData: type: object required: - recurringPaymentId - endToEndId - date - creationDateTime - statusUpdateDateTime - status - cnpjInitiator - payment - creditorAccount - localInstrument - document properties: recurringPaymentId: type: string minLength: 1 maxLength: 100 pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl description: | Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O `recurringPaymentId` deve ser diferente do `endToEndId`. Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. recurringConsentId: type: string maxLength: 256 pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' example: 'urn:bancoex:C1DD33123' description: | Identificador único do consentimento criado para a iniciação de pagamento solicitada. Deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). [Restrição] Este campo é de preenchimento obrigatório quando o valor do campo authorisationFlow for igual a FIDO_FLOW. endToEndId: $ref: '#/components/schemas/EndToEndId' date: type: string maxLength: 10 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2023-10-10' description: Data em que o pagamento será realizado. Uma string com a utilização de timezone UTC-3 (UTC time format). creationDateTime: type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Data e hora em que o pagamento foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). statusUpdateDateTime: type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Data e hora em que o pagamento teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). status: $ref: '#/components/schemas/EnumPaymentStatusType' rejectionReason: $ref: '#/components/schemas/RejectionReason' cnpjInitiator: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 example: '50685362000135' description: CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix. payment: $ref: '#/components/schemas/PaymentPix' remittanceInformation: type: string maxLength: 140 pattern: '[\w\W\s]*' example: Pagamento da nota RSTO035-002. description: | Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. creditorAccount: $ref: '#/components/schemas/CreditorAccountPostPixPaymentsResponse' debtorAccount: $ref: '#/components/schemas/DebtorAccount' cancellation: $ref: '#/components/schemas/PixPaymentCancellation' authorisationFlow: type: string enum: - HYBRID_FLOW - CIBA_FLOW - FIDO_FLOW example: HYBRID_FLOW description: | Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. [Restrição] Se CIBA ou FIDO, preenchimento obrigatório. Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. localInstrument: type: string description: | Especifica a forma de iniciação do pagamento - MANU - Inserção manual de dados da conta transacional - DICT - Inserção manual de chave Pix - INIC - Indica que o recebedor (creditor) contratou o Iniciador de Pagamentos especificamente para realizar iniciações de pagamento em que o beneficiário é previamente conhecido - AUTO - Indica o pagamento de uma recorrência de Pix automático, onde o consentimento foi previamente autorizado pelo pagador e o pagamento é realizado automaticamente pelo Iniciador de Pagamentos sob comando do recebedor. [Restrição] Caso consentimento associado a tentativa de pagamento seja para Pix automático (objeto “automatic” selecionado no oneOf do campo "/data/recurringConfiguration") e a referência do pagamento indicar uma recorrência (valor do campo "/data/paymentReferente" diferente de "zero"), apenas o método AUTO é permitido, ou; Caso consentimento associado a tentativa de pagamento seja para Pix automático (objeto “automatic” selecionado no oneOf do campo "/data/recurringConfiguration") e a referência do pagamento indicar o pagamento inicial avulso (valor do campo "/data/paymentReferente" igual a "zero"), apenas o método MANU é permitido. enum: - MANU - DICT - INIC - AUTO example: DICT proxy: type: string description: | Chave cadastrada no DICT pertencente ao recebedor. Os tipos de chaves podem ser: telefone, e-mail, cpf/cnpj ou chave aleatória. No caso de telefone celular deve ser informado no padrão E.1641. Para e-mail deve ter o formato xxxxxxxx@xxxxxxx.xxx(.xx) e no máximo 77 caracteres. No caso de CPF deverá ser informado com 11 números, sem pontos ou traços. Para o caso de CNPJ deverá ser informado com 14 números, sem pontos ou traços. No caso de chave aleatória deve ser informado o UUID gerado pelo DICT, conforme formato especificado na [RFC4122](https://tools.ietf.org/html/rfc4122). [Restrição] Se localInstrument for igual a DICT ou INIC, o campo proxy deve ser preenchido. [Restrição] Se informado, a detentora da conta deve validar o proxy no DICT (quando localInstrument for igual a DICT) e validar o objeto creditorAccount. Ação opcional caso o localInstrument for igual a INIC [Restrição] Caso o campo “/data/localInstrument” seja enviado como “MANU”, o campo “/data/proxy” não deve ser informado pattern: '[\w\W\s]*' example: '11221131242' transactionIdentification: $ref: '#/components/schemas/TransactionIdentification' document: type: object description: Informações do documento identificador do recebedor da transação. required: - identification - rel properties: identification: type: string pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' minLength: 11 maxLength: 14 example: '11111111111111' description: | Número do documento de identificação oficial do recebedor pessoa natural ou jurídica. O valor informado deve ser igual a um dos valores enviados na etapa de criação do consentimento (dentro do array “/data/creditors”). Quando não respeitada essa regra, deve ser retornado pelo detentor, de maneira síncrona, erro HTTP 422 - PAGAMENTO_DIVERGENTE_CONSENTIMENTO rel: type: string enum: - CPF - CNPJ example: 'CNPJ' description: Tipo do documento de identificação oficial do titular pessoa natural ou jurídica. originalRecurringPaymentId: $ref: '#/components/schemas/originalRecurringPaymentId' paymentReference: $ref: '#/components/schemas/PaymentReference' ResponseRecurringPaymentsDataRead: type: object required: - recurringPaymentId - endToEndId - date - creationDateTime - statusUpdateDateTime - status - cnpjInitiator - payment - document - localInstrument properties: recurringPaymentId: type: string minLength: 1 maxLength: 100 pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl description: | Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O `recurringPaymentId` deve ser diferente do `endToEndId`. Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. recurringConsentId: type: string maxLength: 256 pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' example: 'urn:bancoex:C1DD33123' description: | Identificador único do consentimento criado para a iniciação de pagamento solicitada. Deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). [Restrição] Este campo é de preenchimento obrigatório quando o valor do campo authorisationFlow for igual a FIDO_FLOW. endToEndId: $ref: '#/components/schemas/EndToEndId' date: type: string maxLength: 10 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2023-10-10' description: Data em que o pagamento será realizado. Uma string com a utilização de timezone UTC-3 (UTC time format). creationDateTime: type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Data e hora em que o pagamento foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). statusUpdateDateTime: type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Data e hora em que o pagamento teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). status: $ref: '#/components/schemas/EnumPaymentStatusType' rejectionReason: $ref: '#/components/schemas/RejectionReason' cnpjInitiator: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 example: '50685362000135' description: CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix. payment: $ref: '#/components/schemas/PaymentPix' remittanceInformation: type: string maxLength: 140 pattern: '[\w\W\s]*' example: Pagamento da nota RSTO035-002. description: | Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. creditorAccount: $ref: '#/components/schemas/CreditorAccount' debtorAccount: $ref: '#/components/schemas/DebtorAccount' cancellation: $ref: '#/components/schemas/PixPaymentCancellation' authorisationFlow: type: string enum: - HYBRID_FLOW - CIBA_FLOW - FIDO_FLOW example: HYBRID_FLOW description: | Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. [Restrição] Se CIBA ou FIDO, preenchimento obrigatório. Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. transactionIdentification: $ref: '#/components/schemas/TransactionIdentification' document: type: object description: Informações do documento identificador do recebedor da transação. required: - identification - rel properties: identification: type: string pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' minLength: 11 maxLength: 14 example: '11111111111111' description: | Número do documento de identificação oficial do recebedor pessoa natural ou jurídica. O valor informado deve ser igual a um dos valores enviados na etapa de criação do consentimento (dentro do array “/data/creditors”). Quando não respeitada essa regra, deve ser retornado pelo detentor, de maneira síncrona, erro HTTP 422 - PAGAMENTO_DIVERGENTE_CONSENTIMENTO rel: type: string enum: - CPF - CNPJ example: 'CNPJ' description: Tipo do documento de identificação oficial do titular pessoa natural ou jurídica. proxy: type: string description: | Chave cadastrada no DICT pertencente ao recebedor. Os tipos de chaves podem ser: telefone, e-mail, cpf/cnpj ou chave aleatória. No caso de telefone celular deve ser informado no padrão E.1641. Para e-mail deve ter o formato xxxxxxxx@xxxxxxx.xxx(.xx) e no máximo 77 caracteres. No caso de CPF deverá ser informado com 11 números, sem pontos ou traços. Para o caso de CNPJ deverá ser informado com 14 números, sem pontos ou traços. No caso de chave aleatória deve ser informado o UUID gerado pelo DICT, conforme formato especificado na [RFC4122](https://tools.ietf.org/html/rfc4122). Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT e validar o campo creditorAccount. Esta validação é opcional caso o localInstrument for igual a INIC. [Restrição] Se localInstrument for igual a DICT, o campo proxy deve ser preenchido. [Restrição] Caso o campo “/data/localInstrument” seja enviado como “MANU”, o campo “/data/proxy” não deve ser informado pattern: '[\w\W\s]*' example: '11221131242' localInstrument: type: string description: | Especifica a forma de iniciação do pagamento - MANU - Inserção manual de dados da conta transacional - DICT - Inserção manual de chave Pix - INIC - Indica que o recebedor (creditor) contratou o Iniciador de Pagamentos especificamente para realizar iniciações de pagamento em que o beneficiário é previamente conhecido - AUTO - Indica o pagamento de uma recorrência de Pix automático, onde o consentimento foi previamente autorizado pelo pagador e o pagamento é realizado automaticamente pelo Iniciador de Pagamentos sob comando do recebedor. [Restrição] Caso consentimento associado a tentativa de pagamento seja para Pix automático (objeto “automatic” selecionado no oneOf do campo "/data/recurringConfiguration") e a referência do pagamento indicar uma recorrência (valor do campo "/data/paymentReferente" diferente de "zero"), apenas o método AUTO é permitido, ou; Caso consentimento associado a tentativa de pagamento seja para Pix automático (objeto “automatic” selecionado no oneOf do campo "/data/recurringConfiguration") e a referência do pagamento indicar o pagamento inicial avulso (valor do campo "/data/paymentReferente" igual a "zero"), apenas o método MANU é permitido. enum: - MANU - DICT - INIC - AUTO example: DICT originalRecurringPaymentId: $ref: '#/components/schemas/originalRecurringPaymentId' paymentReference: $ref: '#/components/schemas/PaymentReference' ResponseRecurringPaymentsDataPatch: type: object required: - recurringPaymentId - endToEndId - date - creationDateTime - statusUpdateDateTime - status - cnpjInitiator - payment - document - localInstrument properties: recurringPaymentId: type: string minLength: 1 maxLength: 100 pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl description: | Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O `recurringPaymentId` deve ser diferente do `endToEndId`. Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. recurringConsentId: type: string maxLength: 256 pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' example: 'urn:bancoex:C1DD33123' description: | Identificador único do consentimento criado para a iniciação de pagamento solicitada. Deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). [Restrição] Este campo é de preenchimento obrigatório quando o valor do campo authorisationFlow for igual a FIDO_FLOW. endToEndId: $ref: '#/components/schemas/EndToEndId' date: type: string maxLength: 10 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' example: '2023-10-10' description: Data em que o pagamento será realizado. Uma string com a utilização de timezone UTC-3 (UTC time format). creationDateTime: type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Data e hora em que o pagamento foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). statusUpdateDateTime: type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Data e hora em que o pagamento teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). status: $ref: '#/components/schemas/EnumPaymentStatusType' rejectionReason: $ref: '#/components/schemas/RejectionReason' cnpjInitiator: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 example: '50685362000135' description: CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix. payment: $ref: '#/components/schemas/PaymentPix' remittanceInformation: type: string maxLength: 140 pattern: '[\w\W\s]*' example: Pagamento da nota RSTO035-002. description: | Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. creditorAccount: $ref: '#/components/schemas/CreditorAccount' debtorAccount: $ref: '#/components/schemas/DebtorAccount' cancellation: $ref: '#/components/schemas/PixPaymentCancellation' authorisationFlow: type: string enum: - HYBRID_FLOW - CIBA_FLOW - FIDO_FLOW example: HYBRID_FLOW description: | Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. [Restrição] Se CIBA ou FIDO, preenchimento obrigatório. Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. transactionIdentification: $ref: '#/components/schemas/TransactionIdentification' document: type: object description: Informações do documento identificador do recebedor da transação. required: - identification - rel properties: identification: type: string pattern: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$' minLength: 11 maxLength: 14 example: '11111111111111' description: | Número do documento de identificação oficial do recebedor pessoa natural ou jurídica. O valor informado deve ser igual a um dos valores enviados na etapa de criação do consentimento (dentro do array “/data/creditors”). Quando não respeitada essa regra, deve ser retornado pelo detentor, de maneira síncrona, erro HTTP 422 - PAGAMENTO_DIVERGENTE_CONSENTIMENTO rel: type: string enum: - CPF - CNPJ example: 'CNPJ' description: Tipo do documento de identificação oficial do titular pessoa natural ou jurídica. proxy: type: string description: | Chave cadastrada no DICT pertencente ao recebedor. Os tipos de chaves podem ser: telefone, e-mail, cpf/cnpj ou chave aleatória. No caso de telefone celular deve ser informado no padrão E.1641. Para e-mail deve ter o formato xxxxxxxx@xxxxxxx.xxx(.xx) e no máximo 77 caracteres. No caso de CPF deverá ser informado com 11 números, sem pontos ou traços. Para o caso de CNPJ deverá ser informado com 14 números, sem pontos ou traços. No caso de chave aleatória deve ser informado o UUID gerado pelo DICT, conforme formato especificado na [RFC4122](https://tools.ietf.org/html/rfc4122). Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT e validar o campo creditorAccount. Esta validação é opcional caso o localInstrument for igual a INIC. [Restrição] Se localInstrument for igual a DICT, o campo proxy deve ser preenchido. [Restrição] Caso o campo “/data/localInstrument” seja enviado como “MANU”, o campo “/data/proxy” não deve ser informado pattern: '[\w\W\s]*' example: '11221131242' localInstrument: type: string description: | Especifica a forma de iniciação do pagamento - MANU - Inserção manual de dados da conta transacional - DICT - Inserção manual de chave Pix - INIC - Indica que o recebedor (creditor) contratou o Iniciador de Pagamentos especificamente para realizar iniciações de pagamento em que o beneficiário é previamente conhecido - AUTO - Indica o pagamento de uma recorrência de Pix automático, onde o consentimento foi previamente autorizado pelo pagador e o pagamento é realizado automaticamente pelo Iniciador de Pagamentos sob comando do recebedor. [Restrição] Caso consentimento associado a tentativa de pagamento seja para Pix automático (objeto “automatic” selecionado no oneOf do campo "/data/recurringConfiguration") e a referência do pagamento indicar uma recorrência (valor do campo "/data/paymentReferente" diferente de "zero"), apenas o método AUTO é permitido, ou; Caso consentimento associado a tentativa de pagamento seja para Pix automático (objeto “automatic” selecionado no oneOf do campo "/data/recurringConfiguration") e a referência do pagamento indicar o pagamento inicial avulso (valor do campo "/data/paymentReferente" igual a "zero"), apenas o método MANU é permitido. enum: - MANU - DICT - INIC - AUTO example: DICT originalRecurringPaymentId: $ref: '#/components/schemas/originalRecurringPaymentId' paymentReference: $ref: '#/components/schemas/PaymentReference' XFapiInteractionId: type: string format: uuid minLength: 1 maxLength: 36 pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' example: d78fc4e5-37ca-4da3-adf2-9b082bf92280 X-V: type: string pattern: '^\d+\.\d+\.\d+$' example: 1.0.0 parameters: pathOriginalRecurringPaymentId: name: originalRecurringPaymentId in: path description: | Campo que contém o identificador da tentativa original de pagamento que falhou. Código ou identificador único criado pela instituição detentora da conta para representar a iniciação de pagamento. required: true schema: type: string minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$ example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl recurringConsentId: name: recurringConsentId in: query description: | O `recurringConsentId` é o identificador único do consentimento de longa duração e deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independe da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição detentora (bancoex). - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). required: true schema: type: string pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' minLength: 1 maxLength: 256 pathRecurringConsentId: name: recurringConsentId in: path description: | O `recurringConsentId` é o identificador único do consentimento de longa duração e deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independe da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentId` temos: - o namespace(urn) - o identificador associado ao namespace da instituição detentora (bancoex). - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). required: true schema: type: string pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' minLength: 1 maxLength: 256 pathRecurringPaymentId: name: recurringPaymentId in: path description: Identificador da operação de pagamento. required: true schema: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' minLength: 1 maxLength: 100 startDate: name: startDate in: query description: Data inicial de corte da ocorrência do pagamento ligada ao consentimento de longa duração. required: false schema: type: string pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' minLength: 10 maxLength: 10 endDate: name: endDate in: query description: Data final de corte para recuperação da ocorrência do pagamento ligada ao consentimento de longa duração. required: false schema: type: string pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' minLength: 10 maxLength: 10 originalRecurringPaymentId: name: originalRecurringPaymentId in: query description: | Campo que contém o código ou o identificador da tentativa original de pagamento que falhou. Código ou identificador único criado pela instituição detentora da conta para representar a iniciação de pagamento. Caso informado, devem ser retornados todos os pagamentos associados ao identificador informado, sendo eles o pagamento original (dono do identificador) e as novas tentativas que enviaram o identificador na sua requisição, indicando que representam nova tentativa. required: false schema: type: string minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$ example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl Authorization: name: Authorization in: header description: Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado required: true schema: type: string pattern: '[\w\W\s]*' minLength: 1 maxLength: 2048 xCustomerUserAgent: name: x-customer-user-agent in: header description: Indica o user-agent que o usuário utiliza. required: false schema: type: string pattern: '[\w\W\s]*' minLength: 1 maxLength: 100 xFapiAuthDate: name: x-fapi-auth-date in: header description: 'Data em que o usuário logou pela última vez com o iniciador. Representada de acordo com a [RFC7231](https://tools.ietf.org/html/rfc7231).Exemplo: Sun, 10 Sep 2017 19:43:31 UTC' required: false schema: type: string pattern: '^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$' minLength: 29 maxLength: 29 xFapiCustomerIpAddress: name: x-fapi-customer-ip-address in: header description: O endereço IP do usuário se estiver atualmente logado com o iniciador. required: false schema: type: string pattern: '[\w\W\s]*' minLength: 1 maxLength: 100 xFapiInteractionId: name: x-fapi-interaction-id in: header description: Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela iniciadora (client) e o seu valor deve ser “espelhado” pela detentora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a detentora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP status code 400. A iniciadora deve acatar o valor recebido da detentora.. required: true schema: type: string format: uuid minLength: 1 maxLength: 36 pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' example: d78fc4e5-37ca-4da3-adf2-9b082bf92280 XIdempotencyKey: name: x-idempotency-key in: header description: Cabeçalho HTTP personalizado. Identificador de solicitação exclusivo para suportar a idempotência. required: true schema: type: string minLength: 1 maxLength: 40 pattern: ^(?!\s)(.*)(\S)$ securitySchemes: OAuth2ClientCredentials: type: oauth2 description: | Fluxo OAuth necessário para que a iniciadora possa consultar ou cancelar pagamentos e criar ou consultar consentimentos. Apenas pagamentos e consentimentos iniciados pela mesma iniciadora de pagamentos podem ser consultados ou cancelados através deste modelo. flows: clientCredentials: tokenUrl: 'https://authserver.example/token' scopes: recurring-payments: Escopo necessário para acesso à API Automatic Payments. OAuth2AuthorizationCode: type: oauth2 description: Fluxo OAuth necessário para que a iniciadora possa iniciar pagamentos. Requer o processo de redirecionamento e autenticação do usuário. flows: authorizationCode: authorizationUrl: 'https://authserver.example/token' tokenUrl: 'https://authserver.example/token' scopes: recurring-payments: Escopo necessário para acesso à API Automatic Payments. openid: Indica que a autorização está sendo realizada utilizando o protocolo definido pela openid. 'recurring-consent:recurringConsentId': Escopo contendo o identificador único do consentimento criado para a iniciação de pagamento solicitada NonRedirectAuthorizationCode: type: oauth2 flows: authorizationCode: authorizationUrl: 'https://authserver.example/token' tokenUrl: 'https://authserver.example/token' scopes: recurring-payments: Escopo necessário para acesso à API Automatic Payments. openid: Indica que a autorização está sendo realizada utilizando o protocolo definido pela openid. 'enrollment:enrollmentId': Permite realizar atualização de um registro com a permissão do cliente. nrp-consents: Consentimento para pagamentos sem redirecionamento. responses: BadRequest: description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionIdBadRequest' BadRequestPaymentsConsents: description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionIdBadRequest' Forbidden: description: O token tem escopo incorreto ou uma política de segurança foi violada content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' InternalServerError: description: Ocorreu um erro no gateway da API ou no microsserviço content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionIdError' GatewayTimeoutWithAdditionalProperties: description: A requisição não foi atendida dentro do tempo limite estabelecido content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionIdError' MethodNotAllowed: description: O consumidor tentou acessar o recurso com um método não suportado content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' NotAcceptable: description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' NotFound: description: O recurso solicitado não existe ou não foi implementado content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' SiteIsOverloaded: description: 'O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento.' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionIdError' UnprocessableEntityPixRetryRecurringPayment: description: 'A solicitação foi bem formada, mas não pôde ser processada devido à lógica de negócios específica da solicitação.' content: application/jwt: schema: $ref: '#/components/schemas/422ResponseErrorCreateRetryPixRecurringPayment' examples: limiteTentativasExcedido: summary: Limite de tentativas excedido value: errors: - code: LIMITE_TENTATIVAS_EXCEDIDO title: Limite de tentativas excedido detail: O limite de tentativas para liquidação do pagamento permitidas pelo arranjo foi excedido. meta: requestDateTime: '2021-05-21T08:30:00Z' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' UnprocessableEntityPixRecurringPayment: description: 'A solicitação foi bem formada, mas não pôde ser processada devido à lógica de negócios específica da solicitação.' content: application/jwt: schema: $ref: '#/components/schemas/422ResponseErrorCreatePixRecurringPayment' examples: Saldo insuficiente: summary: Saldo insuficiente value: errors: - code: SALDO_INSUFICIENTE title: Saldo insuficiente. detail: A conta selecionada não possui saldo suficiente para realizar o pagamento. meta: requestDateTime: '2021-05-21T08:30:00Z' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' UnprocessableEntityPixPatch: description: Seguir as orientações presentes na descrição do endpoint content: application/jwt: schema: $ref: '#/components/schemas/422ResponseErrorCreateRecurringPaymentsPaymentId' examples: Pagamento não permite cancelamento: summary: Pagamento não permite cancelamento value: errors: - code: PAGAMENTO_NAO_PERMITE_CANCELAMENTO title: O pagamento está com um status que não permite o cancelamento. detail: O pagamento está com um status que não permite o cancelamento. meta: requestDateTime: '2021-05-21T08:30:00Z' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' UnprocessableEntityPatch: description: Seguir as orientações presentes na descrição deste endpoint content: application/jwt: schema: $ref: '#/components/schemas/422ResponseErrorRecurringConsents' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' UnprocessableConsents: description: Seguir as orientações presentes na descrição da API, item 1.3 do _header_ da API e seus subitens content: application/jwt: schema: $ref: '#/components/schemas/ResponseErrorCreateConsent' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' Unauthorized: description: Cabeçalho de autenticação ausente/inválido ou token inválido content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' RecurringConsentsConsentId: description: Objeto contendo as informações de consentimento para iniciação de pagamento automático. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseRecurringConsent' RecurringConsentsConsentIdPatch: description: Objeto contendo as informações de consentimento para iniciação de pagamento automático. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseRecurringConsentPatch' RecurringConsentsPost: description: Objeto contendo as informações de consentimento para iniciação de pagamento automático. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponsePostRecurringConsent' 200RecurringPixPaymentRead: description: Dados de iniciação de pagamento Pix obtidos com sucesso. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseRecurringPixPayment' 200RecurringPaymentsIdRead: description: Dados de iniciação de pagamento Pix obtidos com sucesso. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseRecurringPaymentsIdRead' 200RecurringPaymentsIdPatch: description: Dados de iniciação de pagamento Pix obtidos com sucesso. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseRecurringPaymentsIdPatch' 201RecurringPaymentsIdPost: description: Dados de iniciação de pagamento Pix obtidos com sucesso. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseRecurringPaymentsIdPost' 201RecurringRetryPaymentsIdPost: description: Dados de iniciação de pagamento Pix obtidos com sucesso. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseRecurringRetryPaymentsIdPost'