From 724e8d2fa220293ac28453e4785da122bd07cc9a Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Wed, 5 Mar 2025 16:30:21 -0300 Subject: [PATCH 1/5] Update build-and-deploy.yml to v4 --- .github/workflows/build-and-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 86a88299e..5b85684af 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -29,7 +29,7 @@ jobs: - uses: actions/setup-node@v1 with: node-version: '12' - - uses: actions/cache@v2 + - uses: actions/cache@v4 with: path: node_modules key: node-modules-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} @@ -65,4 +65,4 @@ jobs: uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: . \ No newline at end of file + publish_dir: . From f23944065bdcc1f700cdbfa7c936909a81631642 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes Date: Tue, 11 Mar 2025 10:40:54 -0300 Subject: [PATCH 2/5] =?UTF-8?q?feat(automati=20payments):=20EOF-749=20-=20?= =?UTF-8?q?PSV337=20-=20Alterar=20a=20descri=C3=A7=C3=A3o=20da=20mensagem?= =?UTF-8?q?=20de=20resposta=20dos=20endpoints=20de=20consentimento=20na=20?= =?UTF-8?q?API=20Pagamentos=20autom=C3=A1ticos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/automatic-payments/2.0.0.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swagger-apis/automatic-payments/2.0.0.yml b/swagger-apis/automatic-payments/2.0.0.yml index 1d095153a..9a8915712 100644 --- a/swagger-apis/automatic-payments/2.0.0.yml +++ b/swagger-apis/automatic-payments/2.0.0.yml @@ -4951,7 +4951,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 +4962,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 +4973,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' From c263249ff8a25981d5d3b54317c8365198d1a030 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes Date: Tue, 11 Mar 2025 10:43:07 -0300 Subject: [PATCH 3/5] =?UTF-8?q?feat(automatic=20payments):=20EOF-750=20-?= =?UTF-8?q?=20PSV336=20-=20Corrigir=20a=20descri=C3=A7=C3=A3o=20do=20campo?= =?UTF-8?q?=20que=20recebe=20a=20data=20e=20hora=20da=20=C3=BAltima=20muda?= =?UTF-8?q?n=C3=A7a=20de=20estado=20do=20consentimento=20na=20API=20Pagame?= =?UTF-8?q?ntos=20autom=C3=A1ticos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../automaticPaymentsPostRecurringConsents_v2.0.0.csv | 7 ++----- swagger-apis/automatic-payments/2.0.0.yml | 4 +--- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/dictionary/automaticPaymentsPostRecurringConsents_v2.0.0.csv b/dictionary/automaticPaymentsPostRecurringConsents_v2.0.0.csv index 5526f1613..065acd156 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; diff --git a/swagger-apis/automatic-payments/2.0.0.yml b/swagger-apis/automatic-payments/2.0.0.yml index 9a8915712..180ce6c72 100644 --- a/swagger-apis/automatic-payments/2.0.0.yml +++ b/swagger-apis/automatic-payments/2.0.0.yml @@ -3238,9 +3238,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: From d141770dda80c48beaa975177652c8e5842bf896 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes Date: Tue, 11 Mar 2025 10:55:18 -0300 Subject: [PATCH 4/5] =?UTF-8?q?feat(automatic=20payments):=20EOF-751-=20PS?= =?UTF-8?q?V335=20-=20Melhorar=20a=20descri=C3=A7=C3=A3o=20do=20objeto=20q?= =?UTF-8?q?ue=20recebe=20as=20informa=C3=A7=C3=B5es=20da=20conta=20de=20cr?= =?UTF-8?q?=C3=A9dito=20do=20pagador=20no=20consentimento,=20na=20API=20Pa?= =?UTF-8?q?gamentos=20autom=C3=A1ticos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tsGetRecurringConsentsConsentId_v2.0.0.csv | 5 +- ...icPaymentsPostRecurringConsents_v2.0.0.csv | 5 +- swagger-apis/automatic-payments/2.0.0.yml | 65 +++++++++++++++++-- 3 files changed, 66 insertions(+), 9 deletions(-) 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 065acd156..5392db04d 100644 --- a/dictionary/automaticPaymentsPostRecurringConsents_v2.0.0.csv +++ b/dictionary/automaticPaymentsPostRecurringConsents_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/swagger-apis/automatic-payments/2.0.0.yml b/swagger-apis/automatic-payments/2.0.0.yml index 180ce6c72..ef133eeaf 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 @@ -3270,8 +3271,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; @@ -3474,7 +3476,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: From cfa00f2625d179a0db84b40ad04c0def1257f471 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes Date: Tue, 11 Mar 2025 11:10:51 -0300 Subject: [PATCH 5/5] =?UTF-8?q?feat(automatic=20payments):=20EOF-752=20-?= =?UTF-8?q?=20PSV334=20-=20Melhorar=20a=20descri=C3=A7=C3=A3o=20do=20objet?= =?UTF-8?q?o=20que=20recebe=20as=20informa=C3=A7=C3=B5es=20do=20recebedor?= =?UTF-8?q?=20no=20consentimento=20na=20API=20Pagamentos=20autom=C3=A1tico?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/automatic-payments/2.0.0.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/swagger-apis/automatic-payments/2.0.0.yml b/swagger-apis/automatic-payments/2.0.0.yml index ef133eeaf..41f3c74d0 100644 --- a/swagger-apis/automatic-payments/2.0.0.yml +++ b/swagger-apis/automatic-payments/2.0.0.yml @@ -2965,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