diff --git a/dictionary/automaticPaymentsGetRecurringConsentsConsentId_v2.0.0.csv b/dictionary/automaticPaymentsGetRecurringConsentsConsentId_v2.0.0.csv index f2d39112c..a130070e4 100644 --- a/dictionary/automaticPaymentsGetRecurringConsentsConsentId_v2.0.0.csv +++ b/dictionary/automaticPaymentsGetRecurringConsentsConsentId_v2.0.0.csv @@ -48,8 +48,9 @@ Em caso de pessoa jurídica deve ser informada a razão social ou o nome fantasi /data/creationDateTime;creationDateTime;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).;Date Hora;20;Obrigatório;^(\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$;;1;1;"";Não permitido;string;2021-05-21T08:30:00Z; /data/expirationDateTime;expirationDateTime;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).;Date Hora;20;Opcional;^(\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$;;0;1;"";Não permitido;string;2021-05-21T08:30:00Z; /data/additionalInformation;additionalInformation;Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento;Texto;140;Opcional;[\w\W\s]*;;0;1;"";Não permitido;string;Minha recorrência; -/data/debtorAccount;debtorAccount;"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. +/data/debtorAccount;debtorAccount;"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; diff --git a/dictionary/automaticPaymentsPostRecurringConsents_v2.0.0.csv b/dictionary/automaticPaymentsPostRecurringConsents_v2.0.0.csv index 5526f1613..5392db04d 100644 --- a/dictionary/automaticPaymentsPostRecurringConsents_v2.0.0.csv +++ b/dictionary/automaticPaymentsPostRecurringConsents_v2.0.0.csv @@ -6,11 +6,8 @@ Considerando a string urn:bancoex:C1DD33123 como exemplo para `recurringConsentI - 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). ";Texto;256;Obrigatório;"^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*'%\/?#]+$";;1;1;"";Não permitido;string;; -/data/statusUpdateDateTime;statusUpdateDateTime;"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. Caso o campo /data/startDateTime enviado seja anterior ao valor do campo /data/creationDateTime, o detentor deve substituir o valor do campo /data/startDateTime pelo valor do campo /data/creationDateTime -";Date Hora;20;Obrigatório;^(\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$;;1;1;" 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. Caso o campo /data/startDateTime enviado seja anterior ao valor do campo /data/creationDateTime, o detentor deve substituir o valor do campo /data/startDateTime pelo valor do campo /data/creationDateTime -";Não permitido;string;2021-05-21T08:30:00Z; +/data/statusUpdateDateTime;statusUpdateDateTime;"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). +";Date Hora;20;Obrigatório;^(\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$;;1;1;"";Não permitido;string;2021-05-21T08:30:00Z; /data/loggedUser;loggedUser;Usuário (pessoa natural) que encontra-se logado na instituição Iniciadora de Pagamento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; /data/loggedUser/document;document;;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; /data/loggedUser/document/identification;identification;Número do documento de identificação oficial do usuário.;Texto;11;Obrigatório;^\d{11}$;;1;1;"";Não permitido;string;11111111111; @@ -51,8 +48,9 @@ Em caso de pessoa jurídica deve ser informada a razão social ou o nome fantasi /data/creationDateTime;creationDateTime;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).;Date Hora;20;Obrigatório;^(\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$;;1;1;"";Não permitido;string;2021-05-21T08:30:00Z; /data/expirationDateTime;expirationDateTime;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).;Date Hora;20;Opcional;^(\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$;;0;1;"";Não permitido;string;2021-05-21T08:30:00Z; /data/additionalInformation;additionalInformation;Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento;Texto;140;Opcional;[\w\W\s]*;;0;1;"";Não permitido;string;Minha recorrência; -/data/debtorAccount;debtorAccount;"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. +/data/debtorAccount;debtorAccount;"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; diff --git a/swagger-apis/automatic-payments/2.0.0.yml b/swagger-apis/automatic-payments/2.0.0.yml index 1d095153a..41f3c74d0 100644 --- a/swagger-apis/automatic-payments/2.0.0.yml +++ b/swagger-apis/automatic-payments/2.0.0.yml @@ -950,8 +950,9 @@ components: 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. + 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 @@ -2964,9 +2965,17 @@ components: items: type: object description: | - Objeto contendo os dados do recebedor (creditor). Em casos de transferências inteligentes para clientes PJ, os CNPJs informados devem possuir a mesma raiz do CNPJ enviado no campo /data/businessEntity/document/identification. Em casos de transferências inteligentes para clientes PN, deve-se aceitar apenas um item no array e este item deve conter as informações do recebedor. O CPF informado deve ser o mesmo do /data/loggedUser/document/identification. Caso alguma das regras mencionadas não sejam seguidas, o detentor deve rejeitar a solicitação (sincronamente) com o erro DETALHE_PAGAMENTO_INVALIDO, e o detalhe deve ser preenchido com a informação referente ao erro. + Objeto contendo os dados do recebedor (creditor). - [Restrição] Caso o consentimento de longa duração seja para o produto Pix Automático (“automatic” selecionado no oneOf do objeto “/data/recurringConfiguration”), apenas um recebedor é permitido e esse deve ser pessoa jurídica. + **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 @@ -3238,9 +3247,7 @@ components: 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 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. Caso o campo /data/startDateTime enviado seja anterior ao valor do campo /data/creationDateTime, o detentor deve substituir o valor do campo /data/startDateTime pelo valor do campo /data/creationDateTime + 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: @@ -3272,8 +3279,9 @@ components: 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. + 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; @@ -3476,7 +3484,60 @@ components: pattern: '[\w\W\s]*' maxLength: 140 debtorAccount: - $ref: '#/components/schemas/ConsentsDebtorAccount' + 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-9]{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: @@ -4951,7 +5012,7 @@ components: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' RecurringConsentsConsentId: - description: Objeto contendo as informações de consentimento para a iniciação de pagamento individual. + description: Objeto contendo as informações de consentimento para iniciação de pagamento automático. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' @@ -4962,7 +5023,7 @@ components: schema: $ref: '#/components/schemas/ResponseRecurringConsent' RecurringConsentsConsentIdPatch: - description: Objeto contendo as informações de consentimento para a iniciação de pagamento individual. + description: Objeto contendo as informações de consentimento para iniciação de pagamento automático. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId' @@ -4973,7 +5034,7 @@ components: schema: $ref: '#/components/schemas/ResponseRecurringConsentPatch' RecurringConsentsPost: - description: Objeto contendo as informações de consentimento para a iniciação de pagamento individual. + description: Objeto contendo as informações de consentimento para iniciação de pagamento automático. headers: x-fapi-interaction-id: $ref: '#/components/headers/XFapiInteractionId'