From 01bc2731b86c8eb53c054e79f895ee2e62a5fd32 Mon Sep 17 00:00:00 2001 From: Andre Ferreira Trindade Date: Wed, 3 May 2023 10:35:22 -0300 Subject: [PATCH 01/53] fix - sincronizando branch --- swagger-apis/payments/index.html | 7 +- swagger-apis/payments/xxx.yml | 2524 ++++++++++++++++++++++++++++++ 2 files changed, 2528 insertions(+), 3 deletions(-) create mode 100644 swagger-apis/payments/xxx.yml diff --git a/swagger-apis/payments/index.html b/swagger-apis/payments/index.html index 09d5bbe95..65254d7f8 100644 --- a/swagger-apis/payments/index.html +++ b/swagger-apis/payments/index.html @@ -62,8 +62,9 @@ {"name": "1.0.1", "url": "./1.0.1.yml"}, {"name": "1.1.0-rc1.0", "url": "./1.1.0-rc1.0.yml"}, {"name": "1.2.0", "url": "./1.2.0.yml"}, - {"name": "2.0.0", "url": "./2.0.0.yml"}], - "urls.primaryName": "2.0.0", // default spec + {"name": "2.0.0", "url": "./2.0.0.yml"}, + {"name": "x.x.x", "url": "./x.x.x.yml"}], + "urls.primaryName": "x.x.x", // default spec dom_id: '#swagger-ui', deepLinking: true, supportedSubmitMethods:[], @@ -95,4 +96,4 @@ }; - + \ No newline at end of file diff --git a/swagger-apis/payments/xxx.yml b/swagger-apis/payments/xxx.yml new file mode 100644 index 000000000..92d9f0893 --- /dev/null +++ b/swagger-apis/payments/xxx.yml @@ -0,0 +1,2524 @@ +openapi: 3.0.0 +info: + title: API Payment Initiation - Open Finance Brasil + description: | + API de Iniciação de Pagamentos, responsável por viabilizar as operações de iniciação de pagamentos 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 + No diretório de participantes duas `Roles` estão relacionadas à presente API: + - `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 `payments` e os `endpoints` de pagamentos devem possuir os `scopes`, `openid` e `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. + + ## Regras do arranjo Pix + A implementação e o uso da API de Pagamentos Pix devem seguir as regras do arranjo Pix do Banco Central, que podem ser encontradas no link abaixo: + [https://www.bcb.gov.br/estabilidadefinanceira/pix?modalAberto=regulamentacao_pix](https://www.bcb.gov.br/estabilidadefinanceira/pix?modalAberto=regulamentacao_pix) + + ## Assinatura de payloads + + No contexto da API Payment Initiation, 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: + + - Certificados exigidos para assinatura de mensagens: + [Padrões de certificados digitais Open Finance Brasil](https://github.com/OpenBanking-Brasil/specs-seguranca/blob/main/open-banking-brasil-certificate-standards-1_ID1.md#certificado-de-assinatura-certificadoassinatura) + + - Como assinar o payload JWS: [https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/18055279/Como+Assinar+o+Payload+-+v2.0.0-rc1.0+-+Pagamentos](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/18055279/Como+Assinar+o+Payload+-+v2.0.0-rc1.0+-+Pagamentos) + + ## Controle de acesso + + O endpoint de consulta de pagamento GET /pix/payments/{​​​paymentId}​​​ deve 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. + + Para o caso de QR Code estático e dinâmico a detentora deverá obrigatoriamente realizar validações sobre o conteúdo dos campos recebidos. Entretanto, a escolha do momento desta validação na criação do consentimento ou no pagamento, fica a cargo da detentora. + + ## Aprovações de múltipla alçada + + Para o caso de Pix imediato, todas as aprovações necessárias devem ser realizadas nos canais da detentora até às 23:59 (horário de Brasília) da data de solicitação do pagamento. + Já para o caso de Pix agendado, todas as aprovações devem ser realizadas até a data/hora limite suportada pela detentora. + + ## Validações + **Validações** (*após o processo de DCR e obtenção de token client credential*– não escopo dessa documentação) + 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. Na criação do consentimento (*POST /consents*); + 2. Na criação do pagamento - Síncrono (*POST /payments*); + 3. Validações na consulta do pagamento (*GET /pix/payments/{paymentId}*); + 4. Demais validações executadas durante o processamento assíncrono pela detentora (consultadas pela iniciadora através do endpoint *GET /pix/payments/{paymentId}*). + + **Os tipos de validações dispostas abaixo não determinam a ordem em que as instituições devem implementá-las** + + 1. **Validações na criação do consentimento (_POST /consents_)** + 1.1 **Orientações Iniciais** +  1.1.1 Não devem ser retornadas informações associadas ao usuário/cliente (ex. insuficiência de saldo, conta inexistente/bloqueada), uma vez que o cliente ainda não autorizou o consentimento / consumo de seus dados para o pagamento. +  1.1.2 Não devem ser executadas validações no DICT (Diretório de Identificadores de Contas Transacionais do Pix), a partir dos dados compartilhados nesse *endpoint*. Tais validações podem ocorrer somente na criação do pagamento; + 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 400 – (BAD REQUEST); +  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 são 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 Forma de pagamento: Valida se a forma de pagamento é suportada pela detentora (FORMA_PAGAMENTO_INVALIDA) **Obs. No detalhe do erro, a variável “modalidade” deve ser comunicada pela detentora da forma mais clara possível - ex. modalidade de pagamento não suportada (_localInstrument_ - QRES) ou tipo de arranjo pagamento não suportado (_type_ – ex. Pix / TED – previsto para inclusão futura);** +  1.3.2.2 Data de pagamento: Valida se a data de pagamento enviada é válida para a forma de pagamento selecionada (DATA_PAGAMENTO_INVALIDA); +  1.3.2.3 Detalhes do pagamento: Valida se determinado parâmetro informado obedece às regras de negócio (DETALHE_PAGAMENTO_INVALIDO); +  1.3.2.4 Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO); +  1.3.2.5 Idempotência: Valida se há divergência entre chave de idempotência e informações enviadas (ERRO_IDEMPOTENCIA). + + 2. **Validações na criação do pagamento - Síncrono (_POST /payments_)** + 2.1 **Casos de erro relacionados às permissões de segurança para acesso à API (ex. certificado, access_token, jwt, assinatura)** +  2.1.1 Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (INVALID_CLIENT); +  2.1.2 Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED); +  2.1.3 Validação de assinatura da mensagem: Valida se assinatura das mensagens enviadas está correta – HTTP Code 400 (BAD_SIGNATURE); +  2.1.4 Validação de Claims (exceto data); +  2.1.4.1 Valida se dados (aud, iss, iat e jti) são válidos - HTTP status code 400 – (BAD REQUEST); +  2.1.4.2 Valida reuso de jti - HTTP Code 403 (INVALID_CLIENT). + 2.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):** +  2.2.1 **Sintáticos** +  2.3.1.1 Envio de campos obrigatórios: Valida se todos os campos obrigatórios são informados (PARAMETRO_NAO_INFORMADO); +  2.3.1.2 Formatação de parâmetros: Valida se parâmetros informados obedecem a formatação especificada (PARAMETRO_INVALIDO). +  2.2.2 **Semânticos** +  2.2.2.1 Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE); +  2.2.2.2 Limites da transação: Valida se valor (ou quantidade de transações) ultrapassa faixa de limite parametrizada na detentora (VALOR_ACIMA_LIMITE); +  2.2.2.3 Valor informado (QR Code): Valida se valor enviado é válido para o QR Code informado (VALOR_INVALIDO); +  2.2.2.4 Cobrança inválida: Valida expiração, vencimento e status (COBRANCA_INVALIDA); +  2.2.2.5 Status Consentimento: Valida se status de consentimento é diferente de “AUTHORISED” (CONSENTIMENTO_INVALIDO); +  2.2.2.6 Divergência entre pagamento e consentimento: Valida se dados do pagamento são diferentes dos dados do consentimento (PAGAMENTO_DIVERGENTE_CONSENTIMENTO) +  2.2.2.7 Recusado pela detentora: Valida se pagamento foi recusado pela detentora (PAGAMENTO_RECUSADO_DETENTORA), com a descrição do motivo de recusa (ex. chave Pix inválida, QRCode inválido, conta bloqueada); +  2.2.2.8 Detalhes do pagamento: Valida se determinado parâmetro informado obedece às regras de negócio (DETALHE_PAGAMENTO_INVALIDO); +  2.2.2.9 Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO); +  2.2.2.10 Idempotência: Valida se há divergência entre chave de idempotência e informações enviadas (ERRO_IDEMPOTENCIA). + 2.3 **Casos de erro para validações síncronas no DICT** +  Nesse cenário, o pagamento não é criado, porém o consentimento deve ser alterado para o status CONSUMED Retorno esperado do endpoint POST/Payments: HTTP Code 422 - Unprocessable Entity: +  • Erro por dados inválidos: Conforme item **2.2.2.8** +  • Erro por suspeita de fraude: Conforme item **2.2.2.9** + + 3. **Validações na consulta do pagamento (_GET /pix/payments/{paymentId}_)** + 3.1 **Casos de erro relacionados às permissões de segurança para acesso à API (ex. certificado, access_token)** +  3.1.1 Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (INVALID_CLIENT); +  3.1.2 Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED). + + 4. **Demais validações executadas durante o processamento assíncrono pela detentora, poderão ser consultados pela iniciadora através do endpoint _GET /pix/payments/{paymentId}_ previstos com retorno HTTP Code 200 – OK com status RJCT (Rejected) e rejectionReason conforme abaixo (detalhamento adicional na documentação técnica da API):** + 4.1 **Demais validações durante processamento assíncrono** +  4.1.1 Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE); +  4.1.2 Limites da transação: Valida se valor (ou quantidade de transações) ultrapassa faixa de limite parametrizada na detentora (VALOR_ACIMA_LIMITE); +  4.1.3 Valor informado (QR Code): Valida se valor enviado é válido para o QR Code informado (VALOR_INVALIDO); +  4.1.4 Cobrança inválida: Valida expiração, vencimento e status (COBRANCA_INVALIDA); +  4.1.5 Divergência entre pagamento e consentimento: Valida se dados do pagamento são diferentes dos dados do consentimento (PAGAMENTO_DIVERGENTE_CONSENTIMENTO); +  4.1.6 Recusado pela detentora: Valida se pagamento foi recusado pela detentora (PAGAMENTO_RECUSADO_DETENTORA), com a descrição do motivo de recusa (ex. chave Pix inválida, QRCode inválido, conta bloqueada); +  4.1.7 Detalhes do pagamento: Valida se determinado parâmetro informado obedece às regras de negócio (DETALHE_PAGAMENTO_INVALIDO); +  4.1.8 Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO); +  4.1.9 Validação SPI: Externaliza validações no SPI (PAGAMENTO_RECUSADO_SPI); + 4.2 **Casos de erro para validações assíncronas no DICT** +  Neste cenário o pagamento é criado com sucesso (status RCVD) e o consentimento é consumido (status CONSUMED), porém, as validações contra o DICT só ocorrerão de forma assíncrona e em caso de negativa será percebido pela iniciadora na consulta do pagamento (GET /Payments). +  Retorno esperado do endpoint GET /Payments: HTTP Code 200 - OK. +  Status do Pagamento: RJCT (Rejected), com as seguintes opções rejectionReason: +  • Erro por dados inválidos: Conforme item **4.1.7**; +  • Erro por suspeita de fraude: Conforme item **4.1.8**. + version: 2.0.1-rc1.0 + 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/payments/v2' + description: Servidor de Produção + - url: 'https://apih.banco.com.br/open-banking/payments/v2' + description: Servidor de Homologação +tags: + - name: Pagamentos +paths: + /consents: + post: + tags: + - Pagamentos + summary: Criar consentimento para a iniciação de pagamento. + operationId: paymentsPostConsents + description: Método de criação do consentimento para a iniciação de pagamento. + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/XIdempotencyKey' + requestBody: + content: + application/jwt: + schema: + $ref: '#/components/schemas/CreatePaymentConsent' + description: Payload para criação do consentimento para iniciação do pagamento. + required: true + responses: + '201': + $ref: '#/components/responses/201PaymentsConsentsConsentCreated' + '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' + '415': + $ref: '#/components/responses/UnsupportedMediaType' + '422': + $ref: '#/components/responses/UnprocessableEntityConsents' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2ClientCredentials: + - payments + '/consents/{consentId}': + get: + tags: + - Pagamentos + summary: Consultar consentimento para iniciação de pagamento. + operationId: paymentsGetConsentsConsentId + description: Método para consulta do consentimento para a iniciação de pagamento. + parameters: + - $ref: '#/components/parameters/consentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + responses: + '200': + $ref: '#/components/responses/200PaymentsConsentsConsentIdRead' + '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' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2ClientCredentials: + - payments + /pix/payments: + post: + tags: + - Pagamentos + summary: Criar iniciação de pagamento. + operationId: paymentsPostPixPayments + description: Método para criar uma iniciação de pagamento. + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/XIdempotencyKey' + requestBody: + content: + application/jwt: + schema: + $ref: '#/components/schemas/CreatePixPayment' + description: Payload para criação da iniciação do pagamento Pix. + required: true + responses: + '201': + $ref: '#/components/responses/201PaymentsInitiationPixPaymentCreated' + '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' + '415': + $ref: '#/components/responses/UnsupportedMediaType' + '422': + $ref: '#/components/responses/UnprocessableEntityPixPayments' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2AuthorizationCode: + - openid + - 'consent:consentId' + - payments + '/pix/payments/{paymentId}': + get: + tags: + - Pagamentos + summary: Consultar iniciação de pagamento. + operationId: paymentsGetPixPaymentsPaymentId + description: Método para consultar uma iniciação de pagamento. + parameters: + - $ref: '#/components/parameters/paymentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + responses: + '200': + $ref: '#/components/responses/200PaymentsInitiationPixPaymentIdRead' + '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' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2AuthorizationCode: + - openid + - payments + - OAuth2ClientCredentials: + - payments + patch: + tags: + - Pagamentos + summary: Cancelar iniciação de pagamento. + operationId: paymentsPatchPixPaymentsPaymentId + description: | + + Esse endpoint deve ser usado para cancelar, a pedido do cliente pagador, as transações que estejam em uma das seguintes situações: Agendada com sucesso (SCHD), retida para análise (PDNG) ou aguardando autorização de múltiplas alçadas (PATC). + + - 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/PATC 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. + + O cancelamento de pagamento deve ser enviado até 23:59 (Horário de Brasília) do dia anterior à data de efetivação do pagamento. + parameters: + - $ref: '#/components/parameters/paymentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + requestBody: + content: + application/jwt: + schema: + $ref: '#/components/schemas/PatchPixPayment' + description: Payload para cancelamento do pagamento. + required: true + responses: + '200': + $ref: '#/components/responses/200PatchPixPayments' + '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/UnprocessableEntityPixPayments' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2ClientCredentials: + - payments +components: + schemas: + 422ResponseErrorCreateConsent: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 3 + items: + type: object + required: + - code + - title + - detail + properties: + code: + type: string + enum: + - FORMA_PAGAMENTO_INVALIDA + - DATA_PAGAMENTO_INVALIDA + - DETALHE_PGTO_INVALIDO + - PARAMETRO_NAO_INFORMADO + - PARAMETRO_INVALIDO + - ERRO_IDEMPOTENCIA + - NAO_INFORMADO + example: FORMA_PAGAMENTO_INVALIDA + description: | + Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento inválida. + • 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. + 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: + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento inválida. + • 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. + 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: + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento [Modalidade] não suportada. + • 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. + meta: + $ref: '#/components/schemas/Meta' + 422ResponseErrorCreatePixPayment: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 9 + items: + type: object + required: + - code + - title + - detail + properties: + code: + $ref: '#/components/schemas/EnumErrorsCreatePayment' + 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: Saldo insuficiente. + + • BENEFICIARIO_INCOMPATIVEL: Beneficiário incompatível. + + • VALOR_INCOMPATIVEL: Valor da transação incompatível. + + • VALOR_ACIMA_LIMITE: Acima do limite estabelecido. + + • VALOR_INVALIDO: Valor inválido. + + • COBRANCA_INVALIDA: Cobrança inválida. + + • CONSENTIMENTO_INVALIDO: Consentimento inválido. + + • JANELA_OPER_INVALIDA: Janela de operação inválida. + + • PARAMETRO_NAO_INFORMADO: Parâmetro obrigatório não informado. + + • PARAMETRO_INVALIDO: Parâmetro com valor inválido. + + • NAO_INFORMADO: Não informado. + + • PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Divergência entre pagamento e 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. + 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: A conta selecionada não possui saldo suficiente para realizar o pagamento. + + • BENEFICIARIO_INCOMPATIVEL: O beneficiário informado no consentimento não é o mesmo do esperado pelo DICT. + + • VALOR_INCOMPATIVEL: O valor informado no consentimento não é o mesmo valor do informado no payload de pagamento. + + • VALOR_ACIMA_LIMITE: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + + • VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. + + • COBRANCA_INVALIDA: Validação de expiração, validação de vencimento ou Status Válido. + + • CONSENTIMENTO_INVALIDO: Consentimento inválido (status diferente de "AUTHORISED" ou está expirado). + + • JANELA_OPER_INVALIDA: Requisição está fora da janela de funcionamento. + + • PARAMETRO_NAO_INFORMADO: endToEndId + + • PARAMETRO_INVALIDO: endToEndId + + • NAO_INFORMADO: Não reportado/identificado pela instituição detentora de conta. + + • PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento. + + • DETALHE_PAGAMENTO_INVALIDO: Parâmetro [nome_campo] não obedece às regras de negócio. + + • PAGAMENTO_RECUSADO_DETENTORA: [descrição do motivo de recusa]. + + • PAGAMENTO_RECUSADO_SPI: [código de erro conforme tabela de domínios reason PACS.002]. + + • ERRO_IDEMPOTENCIA: Conteúdo da mensagem (claim data) diverge do conteúdo associado a esta chave de idempotência (x-idempotency-key). + 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: '^\d{14}$' + rel: + type: string + maxLength: 4 + description: Tipo do documento de identificação oficial do titular pessoa jurídica. + example: CNPJ + pattern: '^[A-Z]{4}$' + CreatePaymentConsent: + 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 + - creditor + - payment + properties: + loggedUser: + $ref: '#/components/schemas/LoggedUser' + businessEntity: + $ref: '#/components/schemas/BusinessEntity' + creditor: + $ref: '#/components/schemas/Identification' + payment: + type: object + description: Objeto contendo dados de pagamento para consentimento. + required: + - type + - currency + - amount + - details + properties: + type: + $ref: '#/components/schemas/EnumPaymentType' + schedule: + oneOf: + - $ref: '#/components/schemas/Schedule' + 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: | + [Restrição] Mutuamente excludente com o objeto schedule. + + Este campo é obrigatório no caso de pagamento único. + + Neste caso, o objeto schedule não deve ser informado. + 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. O valor deve ser o mesmo enviado no consentimento. + + Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. + Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. + 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, conforme segue: + + 1. 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; + details: + $ref: '#/components/schemas/Details' + debtorAccount: + $ref: '#/components/schemas/DebtorAccount' + CreatePixPayment: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/CreatePixPaymentData' + CreatePixPaymentData: + type: object + description: Objeto contendo dados do pagamento e do recebedor (creditor). + required: + - endToEndId + - localInstrument + - payment + - creditorAccount + - cnpjInitiator + properties: + endToEndId: + $ref: '#/components/schemas/EndToEndIdWithoutRestriction' + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + payment: + $ref: '#/components/schemas/PaymentPix' + creditorAccount: + $ref: '#/components/schemas/CreditorAccount' + 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. + qrCode: + type: string + maxLength: 512 + pattern: '[\w\W\s]*' + example: | + 00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012 + BR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062 + 530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB + CD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76 + description: | + Sequência de caracteres que corresponde ao QR Code disponibilizado para o pagador. + É a sequência de caracteres que seria lida pelo leitor de QR Code, e deve propiciar o retorno dos dados do pagador após consulta na DICT. + Essa funcionalidade é possível tanto para QR Code estático quanto para QR Code dinâmico. + No arranjo do Pix esta é a mesma sequência gerada e/ou lida pela funcionalidade Pix Copia e Cola. + Este campo deverá ser no formato UTF-8. + [Restrição] Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes. + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. + cnpjInitiator: + type: string + pattern: '^\d{14}$' + maxLength: 14 + example: '50685362000135' + description: CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix. + 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]). + – QRES - Caso o QR Code estático possua o dado <TxId> preenchido, o campo transactionIdentification deverá ser preenchido com este valor, caso o QR Code não possua o <TxId> o campo transactionIdentification não deverá ser preenchido. O <TxId> deve conter até 25 caracteres alfanuméricos ([a-z|A-Z|0-9]). + – QRDN - Será obrigatório seu preenchimento com o <TxId> do payload JSON do QR Code dinâmico. O <TxId> deve conter entre 26 e 35 caracteres alfanuméricos ([a-z|A-Z|0-9]). + + A detentora de conta deve validar se a condicionalidade e o formato do campo foram atendidas pela iniciadora de pagamento. + 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, conforme segue: + + 1. 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; + CreditorAccount: + 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-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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + number: + type: string + minLength: 1 + maxLength: 20 + pattern: '^[0-9]{1,20}$' + example: '1234567890' + description: | + Deve ser preenchido com o número da conta 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/EnumAccountPaymentsType' + 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-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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + 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/EnumAccountPaymentsType' + Details: + type: object + description: | + Objeto contendo os detalhes do pagamento. + required: + - localInstrument + - creditorAccount + properties: + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + qrCode: + type: string + maxLength: 512 + pattern: '[\w\W\s]*' + example: | + 00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012 + BR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062 + 530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB + CD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76 + description: | + Sequência de caracteres que corresponde ao QR Code disponibilizado para o pagador. + É a sequência de caracteres que seria lida pelo leitor de QR Code, e deve propiciar o retorno dos dados do pagador após consulta na DICT. + Essa funcionalidade é possível tanto para QR Code estático quanto para QR Code dinâmico. + No arranjo do Pix esta é a mesma sequência gerada e/ou lida pela funcionalidade Pix Copia e Cola. + Este campo deverá ser no formato UTF-8. + [Restrição] Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes. + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] + Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. + Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. + creditorAccount: + $ref: '#/components/schemas/CreditorAccount' + EndToEndId: + type: string + minLength: 32 + maxLength: 32 + pattern: '^([E])([0-9]{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: E9040088820210128000800123873170 + 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. + EndToEndIdWithoutRestriction: + type: string + minLength: 32 + maxLength: 32 + pattern: '^([E])([0-9]{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: E9040088820210128000800123873170 + 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 – sequencial criado 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. + + No caso de Pix agendamento, a iniciadora deverá, no que tange a 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. + EnumAccountPaymentsType: + type: string + enum: + - CACC + - SLRY + - 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. + SLRY - Salary - Conta-Salário. + SVGS - Savings - Conta de Poupança. + TRAN - TransactingAccount - Conta de Pagamento pré-paga. + EnumAuthorisationStatusType: + type: string + enum: + - AWAITING_AUTHORISATION + - AUTHORISED + - REJECTED + - CONSUMED + example: AWAITING_AUTHORISATION + description: | + Retorna o estado do consentimento, o qual no momento de sua criação será AWAITING_AUTHORISATION. + Este estado será alterado depois da autorização do consentimento na detentora da conta do pagador (Debtor) para AUTHORISED ou REJECTED. + O consentimento fica no estado CONSUMED após ocorrer a iniciação do pagamento referente ao consentimento. + Em caso de consentimento expirado a detentora deverá retornar o status REJECTED. + Estados possíveis: + AWAITING_AUTHORISATION - Aguardando autorização + AUTHORISED - Autorizado + REJECTED - Rejeitado + CONSUMED - Consumido + EnumErrorsCreatePayment: + type: string + enum: + - SALDO_INSUFICIENTE + - BENEFICIARIO_INCOMPATIVEL + - VALOR_INCOMPATIVEL + - VALOR_ACIMA_LIMITE + - VALOR_INVALIDO + - COBRANCA_INVALIDA + - CONSENTIMENTO_INVALIDO + - JANELA_OPER_INVALIDA + - PARAMETRO_NAO_INFORMADO + - PARAMETRO_INVALIDO + - NAO_INFORMADO + - PAGAMENTO_DIVERGENTE_CONSENTIMENTO + - DETALHE_PAGAMENTO_INVALIDO + - PAGAMENTO_RECUSADO_DETENTORA + - PAGAMENTO_RECUSADO_SPI + - ERRO_IDEMPOTENCIA + 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. + + • BENEFICIARIO_INCOMPATIVEL: O beneficiário informado no consentimento não é o mesmo do esperado pelo DICT. + + • VALOR_INCOMPATIVEL: O valor informado no consentimento não é o mesmo valor do informado no payload de pagamento. + + • VALOR_ACIMA_LIMITE: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + + • VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. + + • COBRANCA_INVALIDA: Validação de expiração, validação de vencimento, Status Válido. + + • CONSENTIMENTO_INVALIDO: Consentimento inválido (status não é "authorised" ou está expirado). + + • JANELA_OPER_INVALIDA: Requisição está fora da janela de funcionamento. + + • 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. + EnumLocalInstrument: + type: string + enum: + - MANU + - DICT + - QRDN + - QRES + - INIC + example: DICT + 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 + - QRDN - QR code dinâmico + - QRES - QR code estático + - 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. + EnumPaymentCancellationStatusType: + type: string + enum: + - CANC + example: CANC + description: | + Utilizado para informar para qual estado deve ir o pagamento. + Atualmente o único valor possível é CANC. + EnumPaymentPersonType: + type: string + enum: + - PESSOA_NATURAL + - PESSOA_JURIDICA + description: | + Titular, pessoa natural ou juridica a quem se referem os dados de recebedor (creditor). + EnumPaymentStatusType: + type: string + enum: + - RCVD + - PATC + - CANC + - ACCP + - ACPD + - RJCT + - ACSC + - PDNG + - SCHD + example: PDNG + description: | + Estado atual da iniciação de pagamento. O estado evolui na seguinte ordem: + + 1. 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. + + 2. PATC (Partially Accepted Technical Correct) - Indica que a transação precisa da confirmação de mais autorizadores para que o processamento do pagamento possa prosseguir. + + 3. 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. + + 4. 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). + + 5. 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. + + 6. RJCT (Rejected) Indica que a transação foi rejeitada pela detentora ou pelo SPI. + + 7. ACSC (Accepted Settlement Completed Debitor Account) - Indica que a transação foi efetivada pela detentora ou pelo SPI. + + 8. PDNG (Pending) - Indica que a detentora reteve temporariamente a transação Pix para análise. + + 9. 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. + EnumRejectionReasonType: + type: string + enum: + - SALDO_INSUFICIENTE + - VALOR_ACIMA_LIMITE + - VALOR_INVALIDO + - COBRANCA_INVALIDA + - NAO_INFORMADO + - PAGAMENTO_DIVERGENTE_CONSENTIMENTO + - DETALHE_PAGAMENTO_INVALIDO + - PAGAMENTO_RECUSADO_DETENTORA + - PAGAMENTO_RECUSADO_SPI + - FALHA_INFRAESTRUTURA + example: SALDO_INSUFICIENTE + description: | + Define o código da razão pela qual o pagamento foi rejeitado + + SALDO_INSUFICIENTE + + VALOR_ACIMA_LIMITE + + VALOR_INVALIDO + + COBRANCA_INVALIDA + + NAO_INFORMADO + + PAGAMENTO_DIVERGENTE_CONSENTIMENTO + + DETALHE_PAGAMENTO_INVALIDO + + PAGAMENTO_RECUSADO_DETENTORA + + PAGAMENTO_RECUSADO_SPI + + FALHA_INFRAESTRUTURA + EnumPaymentCancellationReasonType: + type: string + enum: + - CANCELADO_PENDENCIA + - CANCELADO_AGENDAMENTO + - CANCELADO_MULTIPLAS_ALCADAS + 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 + + CANCELADO_MULTIPLAS_ALCADAS - Pagamento cancelado enquanto estava na situação PATC + 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 + RejectionReason: + type: object + description: |- + Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status + [Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED). + required: + - code + - detail + properties: + code: + $ref: '#/components/schemas/EnumRejectionReasonType' + detail: + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + description: Contém informações adicionais ao pagamento rejeitado + Identification: + type: object + description: Objeto contendo os dados do recebedor (creditor). + required: + - personType + - cpfCnpj + - name + properties: + personType: + $ref: '#/components/schemas/EnumPaymentPersonType' + cpfCnpj: + type: string + minLength: 11 + maxLength: 14 + pattern: '^\d{11}$|^\d{14}$' + 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À-ÖØ-öø-ÿ'' -]+)$' + 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, formato UTC.' + type: string + 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: uri + maxLength: 2000 + description: URI completo que gerou a resposta atual. + example: 'https://api.banco.com.br/open-banking/api/v1/resource' + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + PaymentConsent: + type: object + description: Objeto contendo dados de pagamento para consentimento. + required: + - type + - currency + - amount + - details + properties: + type: + $ref: '#/components/schemas/EnumPaymentType' + schedule: + oneOf: + - $ref: '#/components/schemas/Schedule' + 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: | + [Restrição] Mutuamente excludente com o objeto schedule. + + Este campo é obrigatório no caso de pagamento único. + + Neste caso, o objeto schedule não deve ser informado. + 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. + 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, conforme segue: + + 1. 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; + details: + $ref: '#/components/schemas/Details' + PaymentPix: + type: object + description: Objeto contendo dados do pagameto como moeda e valor. + 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. O valor deve ser o mesmo enviado no consentimento. + + Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. + Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. + 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: | + Objeto que agrupa as informações de qual foi o usuário pagador que solicitou o cancelamento da transação. + Observação: este campo é necessário porque, em casos de múltiplas alçadas de autorização, é possível que o pagamento seja solicitado por um usuário pagador e cancelado por outro. + required: + - cancelledBy + properties: + 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: 11 + description: Número do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: '11111111111' + pattern: '^\d{11}$' + rel: + type: string + maxLength: 3 + description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: CPF + pattern: '^[A-Z]{3}$' + PatchPixPaymentCancellation: + 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. + 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, 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: 11 + description: Número do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: '11111111111' + pattern: '^\d{11}$' + rel: + type: string + maxLength: 3 + description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: CPF + pattern: '^[A-Z]{3}$' + 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, 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: 11 + description: Número do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: '11111111111' + pattern: '^\d{11}$' + rel: + type: string + maxLength: 3 + description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: CPF + pattern: '^[A-Z]{3}$' + 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, formato UTC.' + type: string + maxLength: 20 + format: date-time + example: '2021-05-21T08:30:00Z' + ResponsePaymentConsent: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + description: Objeto contendo as informações de resposta do consentimento para a iniciação de pagamento individual. + required: + - consentId + - statusUpdateDateTime + - creationDateTime + - expirationDateTime + - status + - loggedUser + - creditor + - payment + properties: + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + description: 'Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação RFC-3339, 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 da iniciação de pagamento expira, devendo ser sempre o creationDateTime mais 5 minutos. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format). + O consentimento é criado com o status AWAITING_AUTHORISATION, e deve assumir o status AUTHORIZED ou REJECTED antes do tempo de expiração - 5 minutos. Caso o tempo seja expirado, o status deve assumir REJECTED. + Para o cenário em que o status assumiu AUTHORISED, o tempo máximo do expirationDateTime do consentimento deve assumir "now + 60 minutos". Este é o tempo para consumir o consentimento autorizado, mudando seu status para CONSUMED. Não é possível prorrogar este tempo e a criação de um novo consentimento será necessária para os cenários de insucesso. + O tempo do expirationDateTime é garantido com os 15 minutos do access token, sendo possível utilizar mais três refresh tokens até totalizar 60 minutos. + 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 + 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 recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format). + status: + $ref: '#/components/schemas/EnumAuthorisationStatusType' + loggedUser: + $ref: '#/components/schemas/LoggedUser' + businessEntity: + $ref: '#/components/schemas/BusinessEntity' + creditor: + $ref: '#/components/schemas/Identification' + payment: + $ref: '#/components/schemas/PaymentConsent' + debtorAccount: + $ref: '#/components/schemas/DebtorAccount' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponseCreatePaymentConsent: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + description: Objeto contendo as informações de resposta do consentimento para a iniciação de pagamento individual. + required: + - consentId + - statusUpdateDateTime + - creationDateTime + - expirationDateTime + - status + - loggedUser + - creditor + - payment + properties: + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + description: 'Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação RFC-3339, 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 da iniciação de pagamento expira, devendo ser sempre o creationDateTime mais 5 minutos. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format). + O consentimento é criado com o status AWAITING_AUTHORISATION, e deve assumir o status AUTHORIZED ou REJECTED antes do tempo de expiração - 5 minutos. Caso o tempo seja expirado, o status deve assumir REJECTED. + Para o cenário em que o status assumiu AUTHORISED, o tempo máximo do expirationDateTime do consentimento deve assumir "now + 60 minutos". Este é o tempo para consumir o consentimento autorizado, mudando seu status para CONSUMED. Não é possível prorrogar este tempo e a criação de um novo consentimento será necessária para os cenários de insucesso. + O tempo do expirationDateTime é garantido com os 15 minutos do access token, sendo possível utilizar mais três refresh tokens até totalizar 60 minutos. + 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 + 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 recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format). + status: + $ref: '#/components/schemas/EnumAuthorisationStatusType' + loggedUser: + $ref: '#/components/schemas/LoggedUser' + businessEntity: + $ref: '#/components/schemas/BusinessEntity' + creditor: + $ref: '#/components/schemas/Identification' + payment: + type: object + description: Objeto contendo dados de pagamento para consentimento. + required: + - type + - currency + - amount + - details + properties: + type: + $ref: '#/components/schemas/EnumPaymentType' + schedule: + oneOf: + - $ref: '#/components/schemas/Schedule' + 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: | + [Restrição] Mutuamente excludente com o objeto schedule. + + Este campo é obrigatório no caso de pagamento único. + + Neste caso, o objeto schedule não deve ser informado. + 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. O valor deve ser o mesmo enviado no consentimento. + + Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. + Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. + 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, conforme segue: + + 1. 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; + details: + $ref: '#/components/schemas/Details' + debtorAccount: + $ref: '#/components/schemas/DebtorAccount' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponsePixPayment: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/ResponsePixPaymentData' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponsePatchPixPayment: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/ResponsePatchPixPaymentData' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponsePatchPixPaymentData: + type: object + description: Objeto contendo dados do pagamento e da conta do recebedor (creditor). + required: + - paymentId + - endToEndId + - consentId + - creationDateTime + - statusUpdateDateTime + - status + - localInstrument + - payment + - creditorAccount + - cnpjInitiator + - debtorAccount + - cancellation + properties: + paymentId: + 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 individual. O `paymentId` 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' + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora em que o recurso foi criado. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + statusUpdateDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora da última atualização da iniciação de pagamento. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave 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, conforme segue: + + 1. 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; + status: + $ref: '#/components/schemas/EnumPaymentStatusType' + rejectionReason: + $ref: '#/components/schemas/RejectionReason' + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + cnpjInitiator: + type: string + pattern: '^\d{14}$' + 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' + 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. + + [Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. + 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' + cancellation: + $ref: '#/components/schemas/PatchPixPaymentCancellation' + debtorAccount: + $ref: '#/components/schemas/DebtorAccount' + ResponseCreatePixPayment: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + description: Objeto contendo dados do pagamento e da conta do recebedor (creditor). + required: + - paymentId + - endToEndId + - consentId + - creationDateTime + - statusUpdateDateTime + - status + - localInstrument + - payment + - creditorAccount + - cnpjInitiator + - debtorAccount + properties: + paymentId: + 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 individual. O `paymentId` 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' + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora em que o recurso foi criado. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + statusUpdateDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora da última atualização da iniciação de pagamento. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave 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, conforme segue: + + 1. 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; + status: + $ref: '#/components/schemas/EnumPaymentStatusType' + rejectionReason: + $ref: '#/components/schemas/RejectionReason' + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + cnpjInitiator: + type: string + pattern: '^\d{14}$' + 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: + type: object + description: Objeto contendo dados do pagameto como moeda e valor. + 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. O valor deve ser o mesmo enviado no consentimento. + + Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. + Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. + 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. + 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. + + [Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. + 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' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponsePixPaymentData: + type: object + description: Objeto contendo dados do pagamento e da conta do recebedor (creditor). + required: + - paymentId + - endToEndId + - consentId + - creationDateTime + - statusUpdateDateTime + - status + - localInstrument + - payment + - creditorAccount + - cnpjInitiator + - debtorAccount + properties: + paymentId: + 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 individual. O `paymentId` 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' + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora em que o recurso foi criado. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + statusUpdateDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora da última atualização da iniciação de pagamento. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave 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, conforme segue: + + 1. 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; + status: + $ref: '#/components/schemas/EnumPaymentStatusType' + rejectionReason: + $ref: '#/components/schemas/RejectionReason' + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + cnpjInitiator: + type: string + pattern: '^\d{14}$' + 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' + 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. + + [Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. + 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' + cancellation: + $ref: '#/components/schemas/PixPaymentCancellation' + debtorAccount: + $ref: '#/components/schemas/DebtorAccount' + Schedule: + type: object + description: | + [Restrição] Mutuamente excludente com o campo date. + + Este campo é obrigatório no caso de agendamento. + + Neste caso, o campo date não deve ser informado. + required: + - single + properties: + single: + type: object + description: Define a política de agendamento único. + required: + - date + properties: + 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. + + Observação: Esse campo deverá sempre ser no mínimo D+1 corrido, ou seja, a data imediatamente posterior em relação a data do consentimento considerando o fuso horário de Brasília e deverá ser no máximo D+365 corridos a partir da data do consentimento considerando o fuso horário de Brasília + XFapiInteractionId: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + maxLength: 100 + description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' + parameters: + consentId: + name: consentId + in: path + description: | + O consentId é o identificador único do consentimento 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 independente da localização. + Considerando a string urn:bancoex:C1DD33123 como exemplo para consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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()+,\-.:=@;$_!*''%\/?#]+$' + maxLength: 256 + paymentId: + name: paymentId + 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}$' + maxLength: 100 + 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]*' + 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 receptor. 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 receptor. + required: false + schema: + type: string + pattern: '[\w\W\s]*' + minLength: 1 + maxLength: 100 + xFapiInteractionId: + name: x-fapi-interaction-id + in: header + description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' + required: false + schema: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + minLength: 1 + maxLength: 100 + 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 + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + securitySchemes: + OpenId: + type: openIdConnect + openIdConnectUrl: 'https://auth.mockbank.poc.raidiam.io/.well-known/openid-configuration' + OAuth2ClientCredentials: + 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. + Apenas pagamentos iniciados pela mesma iniciadora de pagamentos podem ser consultados ou cancelados através de modelo client credentials. + flows: + clientCredentials: + tokenUrl: 'https://authserver.example/token' + scopes: + payments: Escopo necessário para acesso à API Payment Initiation. + 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: + payments: Escopo necessário para acesso à API Payment Initiation. + 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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' + TooManyRequests: + description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + Retry-After: + description: | + Cabeçalho que indica o tempo (em segundos) que o cliente deverá aguardar para realizar uma nova tentativa de chamada. Este cabeçalho deverá estar presente quando o código HTTP de retorno for 429 Too many requests. + schema: + description: | + Cabeçalho que indica o tempo (em segundos) que o cliente deverá aguardar para realizar uma nova tentativa de chamada. Este cabeçalho deverá estar presente quando o código HTTP de retorno for 429 Too many requests. + type: integer + UnprocessableEntityConsents: + 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/422ResponseErrorCreateConsent' + examples: + Forma de pagamento inválida: + summary: Forma de pagamento inválida + value: + errors: + - code: FORMA_PAGAMENTO_INVALIDA + title: Forma de pagamento inválida. + detail: 'Forma de pagamento [Modalidade] não suportada.' + meta: + requestDateTime: '2021-05-21T08:30:00Z' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + UnprocessableEntityPixPayments: + 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/422ResponseErrorCreatePixPayment' + 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + UnsupportedMediaType: + description: O formato do payload não é um formato suportado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + 201PaymentsConsentsConsentCreated: + description: Consentimento de pagamento criado com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponseCreatePaymentConsent' + 200PaymentsConsentsConsentIdRead: + description: Dados do consentimento de pagamento obtidos com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponsePaymentConsent' + 201PaymentsInitiationPixPaymentCreated: + description: Iniciação de pagamento Pix criada com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponseCreatePixPayment' + 200PaymentsInitiationPixPaymentIdRead: + description: Dados de iniciação de pagamento Pix obtidos com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponsePixPayment' + 200PatchPixPayments: + description: Iniciação de pagamento Pix cancelada com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponsePatchPixPayment' \ No newline at end of file From 1c40286f4fd26788a5cd1d976e96d6a6d1ead778 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 9 Jun 2023 09:43:36 -0300 Subject: [PATCH 02/53] =?UTF-8?q?feat(Payments):=20ORB-2742=20-=20PB54=20-?= =?UTF-8?q?=20Alterar=20vers=C3=A3o=20X=20para=20vers=C3=A3o=20Minor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/payments/{xxx.yml => 2.1.0.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename swagger-apis/payments/{xxx.yml => 2.1.0.yml} (99%) diff --git a/swagger-apis/payments/xxx.yml b/swagger-apis/payments/2.1.0.yml similarity index 99% rename from swagger-apis/payments/xxx.yml rename to swagger-apis/payments/2.1.0.yml index 92d9f0893..af592999f 100644 --- a/swagger-apis/payments/xxx.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -123,7 +123,7 @@ info:  Status do Pagamento: RJCT (Rejected), com as seguintes opções rejectionReason:  • Erro por dados inválidos: Conforme item **4.1.7**;  • Erro por suspeita de fraude: Conforme item **4.1.8**. - version: 2.0.1-rc1.0 + version: 2.1.0 license: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' From 7b4cd0884c89b88ea92127f6c76bc1ca28f9639b Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 9 Jun 2023 09:52:25 -0300 Subject: [PATCH 03/53] =?UTF-8?q?ffix(Payments):=20ORB-2742=20-=20PB54=20-?= =?UTF-8?q?=20atualiza=C3=A7=C3=A3o=20index?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/payments/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swagger-apis/payments/index.html b/swagger-apis/payments/index.html index 65254d7f8..ecfed09c3 100644 --- a/swagger-apis/payments/index.html +++ b/swagger-apis/payments/index.html @@ -63,8 +63,8 @@ {"name": "1.1.0-rc1.0", "url": "./1.1.0-rc1.0.yml"}, {"name": "1.2.0", "url": "./1.2.0.yml"}, {"name": "2.0.0", "url": "./2.0.0.yml"}, - {"name": "x.x.x", "url": "./x.x.x.yml"}], - "urls.primaryName": "x.x.x", // default spec + {"name": "2.1.0", "url": "./2.1.0.yml"}], + "urls.primaryName": "2.1.0", // default spec dom_id: '#swagger-ui', deepLinking: true, supportedSubmitMethods:[], From 72e733265933b1314dbb675234122f13ac1a3399 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 9 Jun 2023 13:03:18 -0300 Subject: [PATCH 04/53] =?UTF-8?q?feat(Payments):=20ORB-2740=20-=20SB28=20-?= =?UTF-8?q?=20Alterar=20descri=C3=A7=C3=A3o=20rejectionReasons=20-=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../paymentsGetPixPaymentsPaymentId_v2.csv | 20 +++++++++---------- .../paymentsPatchPixPaymentsPaymentId_v2.csv | 20 +++++++++---------- dictionary/paymentsPostPixPayments_v2.csv | 20 +++++++++---------- swagger-apis/payments/2.1.0.yml | 20 +++++++++---------- 4 files changed, 36 insertions(+), 44 deletions(-) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv index 93c33607a..d510ddb65 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv @@ -78,25 +78,23 @@ SCHD";1;1;"";Não permitido;string;PDNG; [Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; /data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado -SALDO_INSUFICIENTE +- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. -VALOR_ACIMA_LIMITE +- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. -VALOR_INVALIDO +- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. -COBRANCA_INVALIDA +- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status Válido. -NAO_INFORMADO +- NAO_INFORMADO - Não reportado/identificado pela instituição detentora de conta. -PAGAMENTO_DIVERGENTE_CONSENTIMENTO +- PAGAMENTO_DIVERGENTE_CONSENTIMENTO - Dados do pagamento divergentes dos dados do consentimento. -DETALHE_PAGAMENTO_INVALIDO +- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. -PAGAMENTO_RECUSADO_DETENTORA +- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. -PAGAMENTO_RECUSADO_SPI - -FALHA_INFRAESTRUTURA +- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv index 77418bbdb..0804d72fe 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv @@ -78,25 +78,23 @@ SCHD";1;1;"";Não permitido;string;PDNG; [Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; /data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado -SALDO_INSUFICIENTE +- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. -VALOR_ACIMA_LIMITE +- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. -VALOR_INVALIDO +- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. -COBRANCA_INVALIDA +- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status Válido. -NAO_INFORMADO +- NAO_INFORMADO - Não reportado/identificado pela instituição detentora de conta. -PAGAMENTO_DIVERGENTE_CONSENTIMENTO +- PAGAMENTO_DIVERGENTE_CONSENTIMENTO - Dados do pagamento divergentes dos dados do consentimento. -DETALHE_PAGAMENTO_INVALIDO +- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. -PAGAMENTO_RECUSADO_DETENTORA +- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. -PAGAMENTO_RECUSADO_SPI - -FALHA_INFRAESTRUTURA +- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/dictionary/paymentsPostPixPayments_v2.csv b/dictionary/paymentsPostPixPayments_v2.csv index 0219a7e67..202a2a9a1 100644 --- a/dictionary/paymentsPostPixPayments_v2.csv +++ b/dictionary/paymentsPostPixPayments_v2.csv @@ -78,25 +78,23 @@ SCHD";1;1;"";Não permitido;string;PDNG; [Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; /data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado -SALDO_INSUFICIENTE +- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. -VALOR_ACIMA_LIMITE +- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. -VALOR_INVALIDO +- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. -COBRANCA_INVALIDA +- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status Válido. -NAO_INFORMADO +- NAO_INFORMADO - Não reportado/identificado pela instituição detentora de conta. -PAGAMENTO_DIVERGENTE_CONSENTIMENTO +- PAGAMENTO_DIVERGENTE_CONSENTIMENTO - Dados do pagamento divergentes dos dados do consentimento. -DETALHE_PAGAMENTO_INVALIDO +- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. -PAGAMENTO_RECUSADO_DETENTORA +- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. -PAGAMENTO_RECUSADO_SPI - -FALHA_INFRAESTRUTURA +- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index af592999f..655982491 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -1109,25 +1109,23 @@ components: description: | Define o código da razão pela qual o pagamento foi rejeitado - SALDO_INSUFICIENTE + - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE + - VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. - VALOR_INVALIDO + - VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. - COBRANCA_INVALIDA + - COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status Válido. - NAO_INFORMADO + - NAO_INFORMADO - Não reportado/identificado pela instituição detentora de conta. - PAGAMENTO_DIVERGENTE_CONSENTIMENTO + - PAGAMENTO_DIVERGENTE_CONSENTIMENTO - Dados do pagamento divergentes dos dados do consentimento. - DETALHE_PAGAMENTO_INVALIDO + - DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. - PAGAMENTO_RECUSADO_DETENTORA + - PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. - PAGAMENTO_RECUSADO_SPI - - FALHA_INFRAESTRUTURA + - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. EnumPaymentCancellationReasonType: type: string enum: From 70eb1abcba9f8afc7b6e56a0fc2f1afbfc9ddeaf Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 9 Jun 2023 13:06:10 -0300 Subject: [PATCH 05/53] feat(Payments): ORB-2692 - PB42 - Alterar ENUM --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index af592999f..379a09d30 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -427,7 +427,7 @@ components: enum: - FORMA_PAGAMENTO_INVALIDA - DATA_PAGAMENTO_INVALIDA - - DETALHE_PGTO_INVALIDO + - DETALHE_PAGAMENTO_INVALIDO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - ERRO_IDEMPOTENCIA From 7d28ba2179b76d84397d3a53e5bdb001985e8540 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 9 Jun 2023 16:34:08 -0300 Subject: [PATCH 06/53] =?UTF-8?q?fix(Payments):=20ORB-2740=20-=20SB28=20-?= =?UTF-8?q?=20Alterar=20descri=C3=A7=C3=A3o=20rejectionReasons=20-=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionary/paymentsGetPixPaymentsPaymentId_v2.csv | 2 ++ dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv | 2 ++ dictionary/paymentsPostPixPayments_v2.csv | 2 ++ swagger-apis/payments/2.1.0.yml | 2 ++ 4 files changed, 8 insertions(+) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv index d510ddb65..b9b99965f 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv @@ -95,6 +95,8 @@ SCHD";1;1;"";Não permitido;string;PDNG; - PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. + +- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv index 0804d72fe..a30357234 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv @@ -95,6 +95,8 @@ SCHD";1;1;"";Não permitido;string;PDNG; - PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. + +- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/dictionary/paymentsPostPixPayments_v2.csv b/dictionary/paymentsPostPixPayments_v2.csv index 202a2a9a1..53422737f 100644 --- a/dictionary/paymentsPostPixPayments_v2.csv +++ b/dictionary/paymentsPostPixPayments_v2.csv @@ -95,6 +95,8 @@ SCHD";1;1;"";Não permitido;string;PDNG; - PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. + +- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index d3c296c01..9f52d29ca 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -1126,6 +1126,8 @@ components: - PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. + + - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. EnumPaymentCancellationReasonType: type: string enum: From 8278dbc5371b7e23d609badc6b14dab2d2c688a5 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 12:36:14 +0000 Subject: [PATCH 07/53] feat(Payments): ORB-2798 - PB55 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 9f52d29ca..0535b2bf6 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -2298,7 +2298,7 @@ components: payments: Escopo necessário para acesso à API Payment Initiation. responses: BadRequest: - description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' + description: 'Seguir as orientações presentes na descrição da API, subitem 1.2.3' content: application/json; charset=utf-8: schema: @@ -2417,7 +2417,7 @@ components: schema: $ref: '#/components/schemas/XFapiInteractionId' UnprocessableEntityPixPayments: - 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.' + description: 'Seguir as orientações presentes na descrição da API, item 1.3 e seus subitens.' content: application/jwt: schema: From d0be7634e9bff1ffbbef130179095e047f13a7b8 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 12:54:42 +0000 Subject: [PATCH 08/53] feat(Payments): ORB-2798 - PB55 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 34 +++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 0535b2bf6..8e225a868 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -164,7 +164,7 @@ paths: '201': $ref: '#/components/responses/201PaymentsConsentsConsentCreated' '400': - $ref: '#/components/responses/BadRequest' + $ref: '#/components/responses/BadRequestPayments' '401': $ref: '#/components/responses/Unauthorized' '403': @@ -263,7 +263,7 @@ paths: '201': $ref: '#/components/responses/201PaymentsInitiationPixPaymentCreated' '400': - $ref: '#/components/responses/BadRequest' + $ref: '#/components/responses/BadRequestPayments' '401': $ref: '#/components/responses/Unauthorized' '403': @@ -277,7 +277,7 @@ paths: '415': $ref: '#/components/responses/UnsupportedMediaType' '422': - $ref: '#/components/responses/UnprocessableEntityPixPayments' + $ref: '#/components/responses/UnprocessableEntityPixPayment' '429': $ref: '#/components/responses/TooManyRequests' '500': @@ -2258,7 +2258,7 @@ components: name: x-fapi-interaction-id in: header description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' - required: false + required: true schema: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' @@ -2298,6 +2298,12 @@ components: payments: Escopo necessário para acesso à API Payment Initiation. 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' + BadRequestPayments: description: 'Seguir as orientações presentes na descrição da API, subitem 1.2.3' content: application/json; charset=utf-8: @@ -2394,8 +2400,24 @@ components: description: | Cabeçalho que indica o tempo (em segundos) que o cliente deverá aguardar para realizar uma nova tentativa de chamada. Este cabeçalho deverá estar presente quando o código HTTP de retorno for 429 Too many requests. type: integer + UnprocessableEntityPixPayment: + description: 'Seguir as orientações presentes na descrição da API, item 1.3 e seus subitens.' + content: + application/jwt: + schema: + $ref: '#/components/schemas/422ResponseErrorCreatePixPayment' + 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' UnprocessableEntityConsents: - 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.' + description: 'Seguir as orientações presentes na descrição da API, item 1.3 e seus subitens.' content: application/jwt: schema: @@ -2417,7 +2439,7 @@ components: schema: $ref: '#/components/schemas/XFapiInteractionId' UnprocessableEntityPixPayments: - description: 'Seguir as orientações presentes na descrição da API, item 1.3 e seus subitens.' + description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' content: application/jwt: schema: From 5f10cab49798ee2fcaf2bc450e16fa93634387cf Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 12:56:45 +0000 Subject: [PATCH 09/53] feat(Payments): ORB-2798 - PB55 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 8e225a868..c7cb71034 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -2258,7 +2258,7 @@ components: name: x-fapi-interaction-id in: header description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' - required: true + required: false schema: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' From b185fbae750481c35ebdf9dc8810e6a2a82f81f2 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 12:58:00 +0000 Subject: [PATCH 10/53] feat(Payments): ORB-2800 - PB56 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index c7cb71034..8e225a868 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -2258,7 +2258,7 @@ components: name: x-fapi-interaction-id in: header description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' - required: false + required: true schema: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' From 68cba66cf262168de8acc87005c42b54aaa8600b Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 13:06:22 +0000 Subject: [PATCH 11/53] feat(Payments): ORB-2802 - PB57 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 8e225a868..5701f330a 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -2445,13 +2445,13 @@ components: schema: $ref: '#/components/schemas/422ResponseErrorCreatePixPayment' examples: - Saldo insuficiente: - summary: Saldo insuficiente + Pagamento não permite cancelamento: + summary: Pagamento não permite cancelamento value: errors: - - code: SALDO_INSUFICIENTE - title: Saldo insuficiente. - detail: A conta selecionada não possui saldo suficiente para realizar o pagamento. + - code: PAGAMENTO_NAO_PERMITE_CANCELAMENTO + title: Pagamento não permite cancelamento + detail: Pagamento não permite cancelamento meta: requestDateTime: '2021-05-21T08:30:00Z' headers: From 150124f36ae10079b0c0bd089d9b713bd8246933 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 13:09:21 +0000 Subject: [PATCH 12/53] feat(Payments): ORB-2804 - PB58 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 5701f330a..b20218101 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -60,7 +60,7 @@ info:  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 400 – (BAD REQUEST); +  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** @@ -79,7 +79,7 @@ info:  2.1.2 Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED);  2.1.3 Validação de assinatura da mensagem: Valida se assinatura das mensagens enviadas está correta – HTTP Code 400 (BAD_SIGNATURE);  2.1.4 Validação de Claims (exceto data); -  2.1.4.1 Valida se dados (aud, iss, iat e jti) são válidos - HTTP status code 400 – (BAD REQUEST); +  2.1.4.1 Valida se dados (aud, iss, iat e jti) são válidos - HTTP status code 403 – (INVALID_CLIENT);  2.1.4.2 Valida reuso de jti - HTTP Code 403 (INVALID_CLIENT). 2.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):**  2.2.1 **Sintáticos** From eeadd51bb9d859039f6205e33f4cd8220eaf7363 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 13:15:39 +0000 Subject: [PATCH 13/53] feat(Payments): ORB-2806 - PB59 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index b20218101..195c075cd 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -1198,7 +1198,7 @@ components: O CNPJ será utilizado com 14 números e deverá ser informado sem pontos ou traços. name: type: string - pattern: '^([A-Za-zÀ-ÖØ-öø-ÿ'' -]+)$' + pattern: '^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d'' -]+)$' maxLength: 120 example: Marco Antonio de Brito description: | From 1c7c146a11a11a4041a1ceac7875e111600feb4b Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 10:21:35 -0300 Subject: [PATCH 14/53] Update swagger-apis/payments/2.1.0.yml Co-authored-by: Felipe Baumgartel <123478935+FelipeBaumgartel@users.noreply.github.com> --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index c7cb71034..3f23ec2f3 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -2401,7 +2401,7 @@ components: Cabeçalho que indica o tempo (em segundos) que o cliente deverá aguardar para realizar uma nova tentativa de chamada. Este cabeçalho deverá estar presente quando o código HTTP de retorno for 429 Too many requests. type: integer UnprocessableEntityPixPayment: - description: 'Seguir as orientações presentes na descrição da API, item 1.3 e seus subitens.' + description: 'Seguir as orientações presentes na descrição da API, itens 2.2 e 2.3 e seus subitens.' content: application/jwt: schema: From 19429b39caffe5f2e7a225b7a5f84b5b47cf5120 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 13:25:04 +0000 Subject: [PATCH 15/53] feat(Payments): ORB-2798 - PB55 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 3f23ec2f3..4cd00122f 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -263,7 +263,7 @@ paths: '201': $ref: '#/components/responses/201PaymentsInitiationPixPaymentCreated' '400': - $ref: '#/components/responses/BadRequestPayments' + $ref: '#/components/responses/BadRequestPixPayments' '401': $ref: '#/components/responses/Unauthorized' '403': @@ -2309,6 +2309,12 @@ components: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' + BadRequestPixPayments: + description: 'Seguir as orientações presentes na descrição da API, subitem 2.1.3.' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' headers: x-fapi-interaction-id: description: | From fbca1bcdac542053eff993d39310b2e997f6c091 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 13:32:26 +0000 Subject: [PATCH 16/53] feat(Payments): ORB-2808 - PB60 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 19068e1fb..8ede2d4da 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -357,7 +357,7 @@ paths: - 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. - O cancelamento de pagamento deve ser enviado até 23:59 (Horário de Brasília) do dia anterior à data de efetivação do pagamento. + O cancelamento de pagamento agendado (SCHD) pode ser enviado até 23:59 (Horário de Brasília) do dia anterior à data de efetivação do pagamento. parameters: - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/Authorization' From 47ef19a134981ef75d97768824d11cac3a68bb9b Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 13:42:17 +0000 Subject: [PATCH 17/53] feat(Payments): ORB-2802 - PB57 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 100 +++----------------------------- 1 file changed, 7 insertions(+), 93 deletions(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 8bbcb6aa3..e06b1383a 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -425,23 +425,11 @@ components: code: type: string enum: - - FORMA_PAGAMENTO_INVALIDA - - DATA_PAGAMENTO_INVALIDA - - DETALHE_PAGAMENTO_INVALIDO - - PARAMETRO_NAO_INFORMADO - - PARAMETRO_INVALIDO - - ERRO_IDEMPOTENCIA - - NAO_INFORMADO - example: FORMA_PAGAMENTO_INVALIDA + - PAGAMENTO_NAO_PERMITE_CANCELAMENTO + example: PAGAMENTO_NAO_PERMITE_CANCELAMENTO description: | Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: - • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento inválida. - • 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. + • Pagamento não permite cancelamento title: type: string maxLength: 255 @@ -449,13 +437,7 @@ components: example: Forma de pagamento inválida. description: | Título específico do erro reportado, de acordo com o código enviado: - • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento inválida. - • 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. + • Pagamento não permite cancelamento detail: type: string maxLength: 2048 @@ -463,13 +445,7 @@ components: example: 'Forma de pagamento [Modalidade] não suportada.' description: | Descrição específica do erro de acordo com o código reportado: - • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento [Modalidade] não suportada. - • 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. + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento meta: $ref: '#/components/schemas/Meta' 422ResponseErrorCreatePixPayment: @@ -497,38 +473,7 @@ components: example: Saldo insuficiente. description: | Título específico do erro reportado, de acordo com o código enviado: - - • SALDO_INSUFICIENTE: Saldo insuficiente. - - • BENEFICIARIO_INCOMPATIVEL: Beneficiário incompatível. - - • VALOR_INCOMPATIVEL: Valor da transação incompatível. - - • VALOR_ACIMA_LIMITE: Acima do limite estabelecido. - - • VALOR_INVALIDO: Valor inválido. - - • COBRANCA_INVALIDA: Cobrança inválida. - - • CONSENTIMENTO_INVALIDO: Consentimento inválido. - - • JANELA_OPER_INVALIDA: Janela de operação inválida. - - • PARAMETRO_NAO_INFORMADO: Parâmetro obrigatório não informado. - - • PARAMETRO_INVALIDO: Parâmetro com valor inválido. - - • NAO_INFORMADO: Não informado. - - • PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Divergência entre pagamento e 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. + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento detail: type: string maxLength: 2048 @@ -536,38 +481,7 @@ components: 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: A conta selecionada não possui saldo suficiente para realizar o pagamento. - - • BENEFICIARIO_INCOMPATIVEL: O beneficiário informado no consentimento não é o mesmo do esperado pelo DICT. - - • VALOR_INCOMPATIVEL: O valor informado no consentimento não é o mesmo valor do informado no payload de pagamento. - - • VALOR_ACIMA_LIMITE: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. - - • VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. - - • COBRANCA_INVALIDA: Validação de expiração, validação de vencimento ou Status Válido. - - • CONSENTIMENTO_INVALIDO: Consentimento inválido (status diferente de "AUTHORISED" ou está expirado). - - • JANELA_OPER_INVALIDA: Requisição está fora da janela de funcionamento. - - • PARAMETRO_NAO_INFORMADO: endToEndId - - • PARAMETRO_INVALIDO: endToEndId - - • NAO_INFORMADO: Não reportado/identificado pela instituição detentora de conta. - - • PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento. - - • DETALHE_PAGAMENTO_INVALIDO: Parâmetro [nome_campo] não obedece às regras de negócio. - - • PAGAMENTO_RECUSADO_DETENTORA: [descrição do motivo de recusa]. - - • PAGAMENTO_RECUSADO_SPI: [código de erro conforme tabela de domínios reason PACS.002]. - - • ERRO_IDEMPOTENCIA: Conteúdo da mensagem (claim data) diverge do conteúdo associado a esta chave de idempotência (x-idempotency-key). + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento meta: $ref: '#/components/schemas/Meta' BusinessEntity: From 83efc8c18b036000eb44ddd84ff3f98b0a4e09c3 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 14:03:08 +0000 Subject: [PATCH 18/53] feat(Payments): ORB-2802 - PB57 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 151 ++++++++++++++++++++++++++++++-- 1 file changed, 142 insertions(+), 9 deletions(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index e06b1383a..bb7b52eeb 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -425,11 +425,23 @@ components: code: type: string enum: - - PAGAMENTO_NAO_PERMITE_CANCELAMENTO - example: PAGAMENTO_NAO_PERMITE_CANCELAMENTO + - FORMA_PAGAMENTO_INVALIDA + - DATA_PAGAMENTO_INVALIDA + - DETALHE_PAGAMENTO_INVALIDO + - PARAMETRO_NAO_INFORMADO + - PARAMETRO_INVALIDO + - ERRO_IDEMPOTENCIA + - NAO_INFORMADO + example: FORMA_PAGAMENTO_INVALIDA description: | Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: - • Pagamento não permite cancelamento + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento inválida. + • 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. title: type: string maxLength: 255 @@ -437,7 +449,13 @@ components: example: Forma de pagamento inválida. description: | Título específico do erro reportado, de acordo com o código enviado: - • Pagamento não permite cancelamento + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento inválida. + • 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. detail: type: string maxLength: 2048 @@ -445,10 +463,16 @@ components: example: 'Forma de pagamento [Modalidade] não suportada.' description: | Descrição específica do erro de acordo com o código reportado: - • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento [Modalidade] não suportada. + • 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. meta: $ref: '#/components/schemas/Meta' - 422ResponseErrorCreatePixPayment: + 422ResponseErrorCreatePixPayments: type: object required: - errors @@ -473,6 +497,105 @@ components: example: Saldo insuficiente. description: | Título específico do erro reportado, de acordo com o código enviado: + + • SALDO_INSUFICIENTE: Saldo insuficiente. + + • BENEFICIARIO_INCOMPATIVEL: Beneficiário incompatível. + + • VALOR_INCOMPATIVEL: Valor da transação incompatível. + + • VALOR_ACIMA_LIMITE: Acima do limite estabelecido. + + • VALOR_INVALIDO: Valor inválido. + + • COBRANCA_INVALIDA: Cobrança inválida. + + • CONSENTIMENTO_INVALIDO: Consentimento inválido. + + • JANELA_OPER_INVALIDA: Janela de operação inválida. + + • PARAMETRO_NAO_INFORMADO: Parâmetro obrigatório não informado. + + • PARAMETRO_INVALIDO: Parâmetro com valor inválido. + + • NAO_INFORMADO: Não informado. + + • PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Divergência entre pagamento e 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. + 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: A conta selecionada não possui saldo suficiente para realizar o pagamento. + + • BENEFICIARIO_INCOMPATIVEL: O beneficiário informado no consentimento não é o mesmo do esperado pelo DICT. + + • VALOR_INCOMPATIVEL: O valor informado no consentimento não é o mesmo valor do informado no payload de pagamento. + + • VALOR_ACIMA_LIMITE: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + + • VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. + + • COBRANCA_INVALIDA: Validação de expiração, validação de vencimento ou Status Válido. + + • CONSENTIMENTO_INVALIDO: Consentimento inválido (status diferente de "AUTHORISED" ou está expirado). + + • JANELA_OPER_INVALIDA: Requisição está fora da janela de funcionamento. + + • PARAMETRO_NAO_INFORMADO: endToEndId + + • PARAMETRO_INVALIDO: endToEndId + + • NAO_INFORMADO: Não reportado/identificado pela instituição detentora de conta. + + • PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento. + + • DETALHE_PAGAMENTO_INVALIDO: Parâmetro [nome_campo] não obedece às regras de negócio. + + • PAGAMENTO_RECUSADO_DETENTORA: [descrição do motivo de recusa]. + + • PAGAMENTO_RECUSADO_SPI: [código de erro conforme tabela de domínios reason PACS.002]. + + • ERRO_IDEMPOTENCIA: Conteúdo da mensagem (claim data) diverge do conteúdo associado a esta chave de idempotência (x-idempotency-key). + meta: + $ref: '#/components/schemas/Meta' + 422ResponseErrorCreatePixPayment: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 9 + items: + type: object + required: + - code + - title + - detail + properties: + code: + $ref: '#/components/schemas/EnumErrorsCreatePixPayment' + 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: + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento detail: type: string @@ -481,6 +604,7 @@ components: 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: + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento meta: $ref: '#/components/schemas/Meta' @@ -877,6 +1001,15 @@ components: AUTHORISED - Autorizado REJECTED - Rejeitado CONSUMED - Consumido + EnumErrorsCreatePixPayment: + type: string + enum: + - PAGAMENTO_NAO_PERMITE_CANCELAMENTO + example: PAGAMENTO_NAO_PERMITE_CANCELAMENTO + description: | + Códigos de erros previstos na criação da iniciação de pagamento: + + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento EnumErrorsCreatePayment: type: string enum: @@ -2325,7 +2458,7 @@ components: content: application/jwt: schema: - $ref: '#/components/schemas/422ResponseErrorCreatePixPayment' + $ref: '#/components/schemas/422ResponseErrorCreatePixPayments' examples: Saldo insuficiente: summary: Saldo insuficiente @@ -2365,8 +2498,8 @@ components: schema: $ref: '#/components/schemas/422ResponseErrorCreatePixPayment' examples: - Pagamento não permite cancelamento: - summary: Pagamento não permite cancelamento + Saldo insuficiente: + summary: Saldo insuficiente value: errors: - code: PAGAMENTO_NAO_PERMITE_CANCELAMENTO From b4bc557eddecb22c60d2aa3c9e4fa728b1e2641d Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 11:22:41 -0300 Subject: [PATCH 19/53] Update swagger-apis/payments/2.1.0.yml Co-authored-by: Felipe Baumgartel <123478935+FelipeBaumgartel@users.noreply.github.com> --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 19068e1fb..aad38d80b 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -1198,7 +1198,7 @@ components: 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'' -]+)$' + pattern: ^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$ maxLength: 120 example: Marco Antonio de Brito description: | From cfa60892447480530ea322a63632968fdb1bf472 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 14:24:20 +0000 Subject: [PATCH 20/53] feat(Payments): ORB-2806 - PB59 - Realizar ajustes --- dictionary/paymentsGetConsentsConsentId_v2.csv | 2 +- dictionary/paymentsPostConsents_v2.csv | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v2.csv b/dictionary/paymentsGetConsentsConsentId_v2.csv index e45c4221b..dc1680b34 100644 --- a/dictionary/paymentsGetConsentsConsentId_v2.csv +++ b/dictionary/paymentsGetConsentsConsentId_v2.csv @@ -50,7 +50,7 @@ O CNPJ será utilizado com 14 números e deverá ser informado sem pontos ou tra ";Texto;14;Obrigatório;^\d{11}$|^\d{14}$;;1;1;"";Não permitido;string;58764789000137;11 /data/creditor/name;name;"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. -";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; +";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; /data/payment;payment;Objeto contendo dados de pagamento para consentimento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; /data/payment/type;type;"Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. ";Texto;;Obrigatório;;PIX;1;1;"";Não permitido;string;PIX; diff --git a/dictionary/paymentsPostConsents_v2.csv b/dictionary/paymentsPostConsents_v2.csv index dde6a23a2..b506ffc3e 100644 --- a/dictionary/paymentsPostConsents_v2.csv +++ b/dictionary/paymentsPostConsents_v2.csv @@ -50,7 +50,7 @@ O CNPJ será utilizado com 14 números e deverá ser informado sem pontos ou tra ";Texto;14;Obrigatório;^\d{11}$|^\d{14}$;;1;1;"";Não permitido;string;58764789000137;11 /data/creditor/name;name;"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. -";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; +";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; /data/payment;payment;Objeto contendo dados de pagamento para consentimento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; /data/payment/type;type;"Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. ";Texto;;Obrigatório;;PIX;1;1;"";Não permitido;string;PIX; From 55d3301aca2c5b3ce4a4b27a1145401ccb7dd5c7 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 14:30:11 +0000 Subject: [PATCH 21/53] feat(Payments): ORB-2810 - PB61 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index d939a3754..308f741ab 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -338,9 +338,6 @@ paths: $ref: '#/components/schemas/ResponseError' security: - OAuth2AuthorizationCode: - - openid - - payments - - OAuth2ClientCredentials: - payments patch: tags: From 9b410c34c42cc64e1f08e38c6dc1ab3ffb1c74df Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 16:09:56 +0000 Subject: [PATCH 22/53] feat(Payments): ORB-2802 - PB57 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 308f741ab..34aae1524 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -589,7 +589,7 @@ components: type: string maxLength: 255 pattern: '[\w\W\s]*' - example: Saldo insuficiente. + example: Pagamento não permite cancelamento. description: | Título específico do erro reportado, de acordo com o código enviado: From 7a6e5bdf300c42b3ae4aacc50aea95ccb8837743 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Tue, 20 Jun 2023 16:59:48 +0000 Subject: [PATCH 23/53] feat(Payments): ORB-2802 - PB57 - Realizar ajustes --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 34aae1524..a9742f175 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -598,7 +598,7 @@ components: type: string maxLength: 2048 pattern: '[\w\W\s]*' - example: A conta selecionada não possui saldo suficiente para realizar o pagamento. + example: Pagamento não permite cancelamento. description: | Descrição específica do erro de acordo com o código reportado: From 3f5d906586a5597c206107221550ba2ffef361fe Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 21 Jun 2023 12:32:29 -0300 Subject: [PATCH 24/53] feat(Payments): ORB-2743 - PB45 - Ajustar propriedades do campo debtorAccount --- .../paymentsGetConsentsConsentId_v2.csv | 14 ++++-- dictionary/paymentsPostConsents_v2.csv | 14 ++++-- swagger-apis/payments/2.1.0.yml | 49 ++++++++++++++++++- 3 files changed, 69 insertions(+), 8 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v2.csv b/dictionary/paymentsGetConsentsConsentId_v2.csv index dc1680b34..730cba979 100644 --- a/dictionary/paymentsGetConsentsConsentId_v2.csv +++ b/dictionary/paymentsGetConsentsConsentId_v2.csv @@ -157,9 +157,17 @@ TRAN - TransactingAccount - Conta de Pagamento pré-paga. SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; -/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. -";Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/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. +No caso em que o cliente não preenche os dados na iniciadora, a detentora deverá persistir as informações da conta selecionada seguindo as condições abaixo. + +[Restrição] +- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. +- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. +";Objeto;;Condicional;;;0;1;" +- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. +- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. +";Não permitido;object;; /data/debtorAccount/ispb;ispb;"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. ";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 /data/debtorAccount/issuer;issuer;"Código da Agência emissora da conta sem dígito. diff --git a/dictionary/paymentsPostConsents_v2.csv b/dictionary/paymentsPostConsents_v2.csv index b506ffc3e..2b36641cd 100644 --- a/dictionary/paymentsPostConsents_v2.csv +++ b/dictionary/paymentsPostConsents_v2.csv @@ -160,9 +160,17 @@ TRAN - TransactingAccount - Conta de Pagamento pré-paga. SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; -/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. -";Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/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. +No caso em que o cliente não preenche os dados na iniciadora, a detentora deverá persistir as informações da conta selecionada seguindo as condições abaixo. + +[Restrição] +- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. +- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. +";Objeto;;Condicional;;;0;1;" +- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. +- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. +";Não permitido;object;; /data/debtorAccount/ispb;ispb;"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. ";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 /data/debtorAccount/issuer;issuer;"Código da Agência emissora da conta sem dígito. diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index a9742f175..fb10d8aed 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -886,6 +886,51 @@ components: se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountPaymentsType' + ConsentsDebtorAccount: + 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. + No caso em que o cliente não preenche os dados na iniciadora, a detentora deverá persistir as informações da conta selecionada seguindo as condições abaixo. + + [Restrição] + - AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. + - REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. + 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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + 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/EnumAccountPaymentsType' Details: type: object description: | @@ -1634,7 +1679,7 @@ components: payment: $ref: '#/components/schemas/PaymentConsent' debtorAccount: - $ref: '#/components/schemas/DebtorAccount' + $ref: '#/components/schemas/ConsentsDebtorAccount' links: $ref: '#/components/schemas/LinkSingle' meta: @@ -1766,7 +1811,7 @@ components: details: $ref: '#/components/schemas/Details' debtorAccount: - $ref: '#/components/schemas/DebtorAccount' + $ref: '#/components/schemas/ConsentsDebtorAccount' links: $ref: '#/components/schemas/LinkSingle' meta: From 0c52cdcc0b9ca4ff8c21f35ec980e20dc97beb32 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 21 Jun 2023 12:42:15 -0300 Subject: [PATCH 25/53] feat(Payments): ORB-2790 - PB49 - Adicionar campo authorizationFlow --- .../paymentsGetPixPaymentsPaymentId_v2.csv | 6 +++ .../paymentsPatchPixPaymentsPaymentId_v2.csv | 6 +++ dictionary/paymentsPostPixPayments_v2.csv | 6 +++ swagger-apis/payments/2.1.0.yml | 50 +++++++++++++++++++ 4 files changed, 68 insertions(+) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv index b9b99965f..9b7959974 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv @@ -218,3 +218,9 @@ TRAN - TransactingAccount - Conta de Pagamento pré-paga. SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; +/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + +[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Texto;;Condicional;;"HYBRID_FLOW +CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Não permitido;string;HYBRID_FLOW; diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv index a30357234..032c8ca42 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv @@ -215,3 +215,9 @@ TRAN - TransactingAccount - Conta de Pagamento pré-paga. SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; +/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + +[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Texto;;Condicional;;"HYBRID_FLOW +CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Não permitido;string;HYBRID_FLOW; diff --git a/dictionary/paymentsPostPixPayments_v2.csv b/dictionary/paymentsPostPixPayments_v2.csv index 53422737f..ba9412b17 100644 --- a/dictionary/paymentsPostPixPayments_v2.csv +++ b/dictionary/paymentsPostPixPayments_v2.csv @@ -187,3 +187,9 @@ TRAN - TransactingAccount - Conta de Pagamento pré-paga. SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; +/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + +[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Texto;;Condicional;;"HYBRID_FLOW +CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Não permitido;string;HYBRID_FLOW; diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index fb10d8aed..426a345d5 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -807,6 +807,16 @@ components: O campo ibgetowncode no arranjo PIX, tem o mesmo comportamento que o campo codMun descrito no item 1.6.6 do manual do PIX, conforme segue: 1. 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; + authorizationFlow: + type: string + enum: + - HYBRID_FLOW + - CIBA_FLOW + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. CreditorAccount: type: object description: | @@ -1470,6 +1480,16 @@ components: description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. example: CPF pattern: '^[A-Z]{3}$' + authorizationFlow: + type: string + enum: + - HYBRID_FLOW + - CIBA_FLOW + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. PatchPixPaymentCancellation: type: object description: | @@ -1965,6 +1985,16 @@ components: $ref: '#/components/schemas/PatchPixPaymentCancellation' debtorAccount: $ref: '#/components/schemas/DebtorAccount' + authorizationFlow: + type: string + enum: + - HYBRID_FLOW + - CIBA_FLOW + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. ResponseCreatePixPayment: type: object required: @@ -2116,6 +2146,16 @@ components: $ref: '#/components/schemas/CreditorAccount' debtorAccount: $ref: '#/components/schemas/DebtorAccount' + authorizationFlow: + type: string + enum: + - HYBRID_FLOW + - CIBA_FLOW + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. links: $ref: '#/components/schemas/LinkSingle' meta: @@ -2242,6 +2282,16 @@ components: $ref: '#/components/schemas/PixPaymentCancellation' debtorAccount: $ref: '#/components/schemas/DebtorAccount' + authorizationFlow: + type: string + enum: + - HYBRID_FLOW + - CIBA_FLOW + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. Schedule: type: object description: | From c73a4c5143e2f2139ae3537368cee65fc3f5c221 Mon Sep 17 00:00:00 2001 From: Andre Ferreira Trindade Date: Wed, 21 Jun 2023 16:04:14 -0300 Subject: [PATCH 26/53] Fix - Change from OAUth2AuthorizationCode to OAuth2ClientCredentials --- swagger-apis/payments/2.1.0.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 426a345d5..6c65dee4f 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -337,7 +337,7 @@ paths: schema: $ref: '#/components/schemas/ResponseError' security: - - OAuth2AuthorizationCode: + - OAuth2ClientCredentials: - payments patch: tags: From 4c6699f96da9953be119508eaa383ec9e0b3c0e0 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 21 Jun 2023 17:28:31 -0300 Subject: [PATCH 27/53] =?UTF-8?q?feat(Payments):=20ORB-2825=20-=20PB51=20-?= =?UTF-8?q?=20Alterar=20descri=C3=A7=C3=A3o=20do=20campo=20accountType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../paymentsGetConsentsConsentId_v2.csv | 32 +++++++++---------- .../paymentsGetPixPaymentsPaymentId_v2.csv | 32 +++++++++---------- .../paymentsPatchPixPaymentsPaymentId_v2.csv | 32 +++++++++---------- dictionary/paymentsPostConsents_v2.csv | 32 +++++++++---------- dictionary/paymentsPostPixPayments_v2.csv | 32 +++++++++---------- swagger-apis/payments/2.1.0.yml | 15 +++++---- 6 files changed, 88 insertions(+), 87 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v2.csv b/dictionary/paymentsGetConsentsConsentId_v2.csv index 730cba979..f40d71348 100644 --- a/dictionary/paymentsGetConsentsConsentId_v2.csv +++ b/dictionary/paymentsGetConsentsConsentId_v2.csv @@ -145,14 +145,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/payment/details/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/payment/details/creditorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/payment/details/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS @@ -179,14 +179,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv index 9b7959974..fb2b2ac8a 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv @@ -149,14 +149,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/creditorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS @@ -206,14 +206,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv index 032c8ca42..8178e3911 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv @@ -149,14 +149,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/creditorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS @@ -203,14 +203,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS diff --git a/dictionary/paymentsPostConsents_v2.csv b/dictionary/paymentsPostConsents_v2.csv index 2b36641cd..2045c8eee 100644 --- a/dictionary/paymentsPostConsents_v2.csv +++ b/dictionary/paymentsPostConsents_v2.csv @@ -148,14 +148,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/payment/details/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/payment/details/creditorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/payment/details/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS @@ -182,14 +182,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS diff --git a/dictionary/paymentsPostPixPayments_v2.csv b/dictionary/paymentsPostPixPayments_v2.csv index ba9412b17..0ea6c9e1e 100644 --- a/dictionary/paymentsPostPixPayments_v2.csv +++ b/dictionary/paymentsPostPixPayments_v2.csv @@ -149,14 +149,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/creditorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS @@ -175,14 +175,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -SLRY - Salary - Conta-Salário. -SVGS - Savings - Conta de Poupança. -TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/2.1.0.yml index 6c65dee4f..2d7fed5ad 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/2.1.0.yml @@ -1027,14 +1027,15 @@ components: - TRAN example: CACC description: | - Tipos de contas usadas para pagamento via Pix. + 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 para o escopo do Pix. - CACC - Current - Conta Corrente. - SLRY - Salary - Conta-Salário. - SVGS - Savings - Conta de Poupança. - TRAN - TransactingAccount - Conta de Pagamento pré-paga. + 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. + - SLRY - Salary - Conta-Salário. + - SVGS - Savings - Conta de Poupança. + - TRAN - TransactingAccount - Conta de Pagamento pré-paga. EnumAuthorisationStatusType: type: string enum: From bae070c8fa71deb64a2cc004de6e6968fbf717ae Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Thu, 22 Jun 2023 15:34:51 -0300 Subject: [PATCH 28/53] =?UTF-8?q?feat(Payments):=20ORB-2763=20-=20PB54=20-?= =?UTF-8?q?=20Criar=20vers=C3=A3o=20Major=203.0.0-beta.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../paymentsGetConsentsConsentId_v2.csv | 48 ++-- .../paymentsGetConsentsConsentId_v3.csv | 195 +++++++++++++++ .../paymentsGetPixPaymentsPaymentId_v2.csv | 58 ++--- .../paymentsGetPixPaymentsPaymentId_v3.csv | 228 ++++++++++++++++++ .../paymentsPatchPixPaymentsPaymentId_v2.csv | 58 ++--- .../paymentsPatchPixPaymentsPaymentId_v3.csv | 225 +++++++++++++++++ dictionary/paymentsPostConsents_v2.csv | 48 ++-- dictionary/paymentsPostConsents_v3.csv | 198 +++++++++++++++ dictionary/paymentsPostPixPayments_v2.csv | 58 ++--- dictionary/paymentsPostPixPayments_v3.csv | 197 +++++++++++++++ .../payments/{2.1.0.yml => 3.0.0-beta.1.yml} | 2 +- swagger-apis/payments/index.html | 4 +- 12 files changed, 1164 insertions(+), 155 deletions(-) create mode 100644 dictionary/paymentsGetConsentsConsentId_v3.csv create mode 100644 dictionary/paymentsGetPixPaymentsPaymentId_v3.csv create mode 100644 dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv create mode 100644 dictionary/paymentsPostConsents_v3.csv create mode 100644 dictionary/paymentsPostPixPayments_v3.csv rename swagger-apis/payments/{2.1.0.yml => 3.0.0-beta.1.yml} (99%) diff --git a/dictionary/paymentsGetConsentsConsentId_v2.csv b/dictionary/paymentsGetConsentsConsentId_v2.csv index f40d71348..e45c4221b 100644 --- a/dictionary/paymentsGetConsentsConsentId_v2.csv +++ b/dictionary/paymentsGetConsentsConsentId_v2.csv @@ -50,7 +50,7 @@ O CNPJ será utilizado com 14 números e deverá ser informado sem pontos ou tra ";Texto;14;Obrigatório;^\d{11}$|^\d{14}$;;1;1;"";Não permitido;string;58764789000137;11 /data/creditor/name;name;"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. -";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; +";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; /data/payment;payment;Objeto contendo dados de pagamento para consentimento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; /data/payment/type;type;"Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. ";Texto;;Obrigatório;;PIX;1;1;"";Não permitido;string;PIX; @@ -145,29 +145,21 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/payment/details/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/payment/details/creditorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/payment/details/creditorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; -/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. -No caso em que o cliente não preenche os dados na iniciadora, a detentora deverá persistir as informações da conta selecionada seguindo as condições abaixo. - -[Restrição] -- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. -- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. -";Objeto;;Condicional;;;0;1;" -- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. -- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. -";Não permitido;object;; +/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. +";Objeto;;Opcional;;;0;1;"";Não permitido;object;; /data/debtorAccount/ispb;ispb;"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. ";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 /data/debtorAccount/issuer;issuer;"Código da Agência emissora da conta sem dígito. @@ -179,14 +171,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv new file mode 100644 index 000000000..4c1963778 --- /dev/null +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -0,0 +1,195 @@ +Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo +/data;data;Objeto contendo as informações de resposta do consentimento para a iniciação de pagamento individual.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/consentId;consentId;"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 consentId temos: +- o namespace(urn) +- o identificador associado ao namespace da instituição transnmissora (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). +";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;urn:bancoex:C1DD33123; +/data/creationDateTime;creationDateTime;Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação RFC-3339, 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 da iniciação de pagamento expira, devendo ser sempre o creationDateTime mais 5 minutos. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format). +O consentimento é criado com o status AWAITING_AUTHORISATION, e deve assumir o status AUTHORIZED ou REJECTED antes do tempo de expiração - 5 minutos. Caso o tempo seja expirado, o status deve assumir REJECTED. +Para o cenário em que o status assumiu AUTHORISED, o tempo máximo do expirationDateTime do consentimento deve assumir ""now + 60 minutos"". Este é o tempo para consumir o consentimento autorizado, mudando seu status para CONSUMED. Não é possível prorrogar este tempo e a criação de um novo consentimento será necessária para os cenários de insucesso. +O tempo do expirationDateTime é garantido com os 15 minutos do access token, sendo possível utilizar mais três refresh tokens até totalizar 60 minutos. +";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/statusUpdateDateTime;statusUpdateDateTime;"Data e hora em que o recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, 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/status;status;"Retorna o estado do consentimento, o qual no momento de sua criação será AWAITING_AUTHORISATION. +Este estado será alterado depois da autorização do consentimento na detentora da conta do pagador (Debtor) para AUTHORISED ou REJECTED. +O consentimento fica no estado CONSUMED após ocorrer a iniciação do pagamento referente ao consentimento. +Em caso de consentimento expirado a detentora deverá retornar o status REJECTED. +Estados possíveis: +AWAITING_AUTHORISATION - Aguardando autorização +AUTHORISED - Autorizado +REJECTED - Rejeitado +CONSUMED - Consumido +";Texto;;Obrigatório;;"AWAITING_AUTHORISATION +AUTHORISED +REJECTED +CONSUMED";1;1;"";Não permitido;string;AWAITING_AUTHORISATION; +/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; +/data/loggedUser/document/rel;rel;Tipo do documento de identificação oficial do usuário.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;CPF; +/data/businessEntity;businessEntity;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).;Objeto;;Condicional;;;0;1; Preenchimento obrigatório se usuário logado na instituição Iniciadora de Pagamento for um CNPJ (pessoa jurídica).;Não permitido;object;; +/data/businessEntity/document;document;;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/businessEntity/document/identification;identification;Número do documento de identificação oficial do titular pessoa jurídica.;Texto;14;Obrigatório;^\d{14}$;;1;1;"";Não permitido;string;11111111111111; +/data/businessEntity/document/rel;rel;Tipo do documento de identificação oficial do titular pessoa jurídica.;Texto;4;Obrigatório;^[A-Z]{4}$;;1;1;"";Não permitido;string;CNPJ; +/data/creditor;creditor;Objeto contendo os dados do recebedor (creditor).;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/creditor/personType;personType;"Titular, pessoa natural ou juridica a quem se referem os dados de recebedor (creditor). +";Texto;;Obrigatório;;"PESSOA_NATURAL +PESSOA_JURIDICA";1;1;"";Não permitido;string;; +/data/creditor/cpfCnpj;cpfCnpj;"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. +";Texto;14;Obrigatório;^\d{11}$|^\d{14}$;;1;1;"";Não permitido;string;58764789000137;11 +/data/creditor/name;name;"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. +";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; +/data/payment;payment;Objeto contendo dados de pagamento para consentimento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/type;type;"Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. +";Texto;;Obrigatório;;PIX;1;1;"";Não permitido;string;PIX; +/data/payment/schedule;;"[Restrição] Mutuamente excludente com o campo date. + +Este campo é obrigatório no caso de agendamento. + +Neste caso, o campo date não deve ser informado. +";Objeto;;Condicional;;;0;1;" Mutuamente excludente com o campo date. + +Este campo é obrigatório no caso de agendamento. + +Neste caso, o campo date não deve ser informado. +";Não permitido;object;; +/data/payment/schedule/single;single;Define a política de agendamento único.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/schedule/single/date;date;"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. + +Observação: Esse campo deverá sempre ser no mínimo D+1 corrido, ou seja, a data imediatamente posterior em relação a data do consentimento considerando o fuso horário de Brasília e deverá ser no máximo D+365 corridos a partir da data do consentimento considerando o fuso horário de Brasília +";Data;10;Obrigatório;^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$;;1;1;"";Não permitido;string;2021-01-01; +/data/payment/date;date;"[Restrição] Mutuamente excludente com o objeto schedule. + +Este campo é obrigatório no caso de pagamento único. + +Neste caso, o objeto schedule não deve ser informado. +";Data;10;Condicional;^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$;;0;1;" Mutuamente excludente com o objeto schedule. + +Este campo é obrigatório no caso de pagamento único. + +Neste caso, o objeto schedule não deve ser informado. +";Não permitido;string;2021-01-01; +/data/payment/currency;currency;"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. +";Texto;3;Obrigatório;^([A-Z]{3})$;;1;1;"";Não permitido;string;BRL; +/data/payment/amount;amount;"Valor da transação com 2 casas decimais. +";Texto;19;Obrigatório;^((\d{1,16}\.\d{2}))$;;1;1;"";Não permitido;string;100000.12;4 +/data/payment/ibgeTownCode;ibgeTownCode;"O campo ibgetowncode no arranjo PIX, tem o mesmo comportamento que o campo codMun descrito no item 1.6.6 do manual do PIX, conforme segue: + +1. 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; +";Texto;7;Opcional;^\d{7}$;;0;1;"";Não permitido;string;5300108;7 +/data/payment/details;details;"Objeto contendo os detalhes do pagamento. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/details/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: +- MANU - Inserção manual de dados da conta transacional +- DICT - Inserção manual de chave Pix +- QRDN - QR code dinâmico +- QRES - QR code estático +- 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. +";Texto;;Obrigatório;;"MANU +DICT +QRDN +QRES +INIC";1;1;"";Não permitido;string;DICT; +/data/payment/details/qrCode;qrCode;"Sequência de caracteres que corresponde ao QR Code disponibilizado para o pagador. +É a sequência de caracteres que seria lida pelo leitor de QR Code, e deve propiciar o retorno dos dados do pagador após consulta na DICT. +Essa funcionalidade é possível tanto para QR Code estático quanto para QR Code dinâmico. +No arranjo do Pix esta é a mesma sequência gerada e/ou lida pela funcionalidade Pix Copia e Cola. +Este campo deverá ser no formato UTF-8. +[Restrição] Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes. +";Texto;512;Condicional;[\w\W\s]*;;0;1;" Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes. +";Não permitido;string;"00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012 +BR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062 +530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB +CD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76 +"; +/data/payment/details/proxy;proxy;"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 RFC41223. +Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. +Esta validação é opcional caso o localInstrument for igual a INIC. +[Restrição] +Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. +Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Texto;77;Condicional;[\w\W\s]*;;0;1;" +Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. +Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Não permitido;string;12345678901; +/data/payment/details/creditorAccount;creditorAccount;"Objeto que contém a identificação da conta de destino do beneficiário/recebedor. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/details/creditorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/payment/details/creditorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/payment/details/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), +se houver valor alfanumérico, este deve ser convertido para 0. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/payment/details/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; +/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. +No caso em que o cliente não preenche os dados na iniciadora, a detentora deverá persistir as informações da conta selecionada seguindo as condições abaixo. + +[Restrição] +- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. +- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. +";Objeto;;Condicional;;;0;1;" +- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. +- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. +";Não permitido;object;; +/data/debtorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/debtorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/debtorAccount/number;number;"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. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv index fb2b2ac8a..93c33607a 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v2.csv @@ -78,25 +78,25 @@ SCHD";1;1;"";Não permitido;string;PDNG; [Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; /data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado -- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. +SALDO_INSUFICIENTE -- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. +VALOR_ACIMA_LIMITE -- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. +VALOR_INVALIDO -- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status Válido. +COBRANCA_INVALIDA -- NAO_INFORMADO - Não reportado/identificado pela instituição detentora de conta. +NAO_INFORMADO -- PAGAMENTO_DIVERGENTE_CONSENTIMENTO - Dados do pagamento divergentes dos dados do consentimento. +PAGAMENTO_DIVERGENTE_CONSENTIMENTO -- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. +DETALHE_PAGAMENTO_INVALIDO -- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. +PAGAMENTO_RECUSADO_DETENTORA -- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. +PAGAMENTO_RECUSADO_SPI -- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. +FALHA_INFRAESTRUTURA ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO @@ -149,14 +149,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/creditorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/creditorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS @@ -206,21 +206,15 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; -/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. - -[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. -";Texto;;Condicional;;"HYBRID_FLOW -CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. -";Não permitido;string;HYBRID_FLOW; diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv new file mode 100644 index 000000000..b31e4dc6a --- /dev/null +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv @@ -0,0 +1,228 @@ +Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo +/data;data;Objeto contendo dados do pagamento e da conta do recebedor (creditor).;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/paymentId;paymentId;"Código ou identificador único informado pela instituição detentora da conta para representar +a iniciação de pagamento individual. O `paymentId` deve ser diferente do `endToEndId`. +Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. +";Texto;100;Obrigatório;^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$;;1;1;"";Não permitido;string;TXpRMU9UQTROMWhZV2xSU1FUazJSMDl;1 +/data/endToEndId;endToEndId;"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. +";Texto;32;Obrigatório;^([E])([0-9]{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})$;;1;1;" A detentora deve obrigatoriamente retornar o campo Com o mesmo valor recebido da iniciadora. +";Não permitido;string;E9040088820210128000800123873170;32 +/data/consentId;consentId;"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 consentId temos: +- o namespace(urn) +- o identificador associado ao namespace da instituição transnmissora (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). +";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;urn:bancoex:C1DD33123; +/data/creationDateTime;creationDateTime;"Data e hora em que o recurso foi criado. +Uma string com data e hora conforme especificação RFC-3339, +sempre com a utilização de timezone UTC(UTC time format). +";Date Hora;;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;2020-07-21T08:30:00Z; +/data/statusUpdateDateTime;statusUpdateDateTime;"Data e hora da última atualização da iniciação de pagamento. +Uma string com data e hora conforme especificação RFC-3339, +sempre com a utilização de timezone UTC(UTC time format). +";Date Hora;;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;2020-07-21T08:30:00Z; +/data/proxy;proxy;"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 RFC41223. +Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. +Esta validação é opcional caso o localInstrument for igual a INIC. +[Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Texto;77;Condicional;[\w\W\s]*;;0;1;" Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Não permitido;string;12345678901; +/data/ibgeTownCode;ibgeTownCode;"O campo ibgetowncode no arranjo PIX, tem o mesmo comportamento que o campo codMun descrito no item 1.6.6 do manual do PIX, conforme segue: + +1. 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; +";Texto;7;Opcional;^\d{7}$;;0;1;"";Não permitido;string;5300108;7 +/data/status;status;"Estado atual da iniciação de pagamento. O estado evolui na seguinte ordem: + +1. 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. + +2. PATC (Partially Accepted Technical Correct) - Indica que a transação precisa da confirmação de mais autorizadores para que o processamento do pagamento possa prosseguir. + +3. 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. + +4. 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). + +5. 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. + +6. RJCT (Rejected) Indica que a transação foi rejeitada pela detentora ou pelo SPI. + +7. ACSC (Accepted Settlement Completed Debitor Account) - Indica que a transação foi efetivada pela detentora ou pelo SPI. + +8. PDNG (Pending) - Indica que a detentora reteve temporariamente a transação Pix para análise. + +9. SCHD (Scheduled) - Indica que a transação Pix foi agendada com sucesso na detentora. + +Em caso insucesso: + +RJCT (REJECTED) - Instrução de pagamento rejeitada. +";Texto;;Obrigatório;;"RCVD +PATC +CANC +ACCP +ACPD +RJCT +ACSC +PDNG +SCHD";1;1;"";Não permitido;string;PDNG; +/data/rejectionReason;rejectionReason;"Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status +[Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; +/data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado + +- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. + +- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + +- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. + +- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status 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. + +- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. + +- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. + +- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. + +- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. +";Texto;;Obrigatório;;"SALDO_INSUFICIENTE +VALOR_ACIMA_LIMITE +VALOR_INVALIDO +COBRANCA_INVALIDA +NAO_INFORMADO +PAGAMENTO_DIVERGENTE_CONSENTIMENTO +DETALHE_PAGAMENTO_INVALIDO +PAGAMENTO_RECUSADO_DETENTORA +PAGAMENTO_RECUSADO_SPI +FALHA_INFRAESTRUTURA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +/data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; +/data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: +- MANU - Inserção manual de dados da conta transacional +- DICT - Inserção manual de chave Pix +- QRDN - QR code dinâmico +- QRES - QR code estático +- 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. +";Texto;;Obrigatório;;"MANU +DICT +QRDN +QRES +INIC";1;1;"";Não permitido;string;DICT; +/data/cnpjInitiator;cnpjInitiator;CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix.;Texto;14;Obrigatório;^\d{14}$;;1;1;"";Não permitido;string;50685362000135; +/data/payment;payment;Objeto contendo dados do pagameto como moeda e valor.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/amount;amount;"Valor da transação com 2 casas decimais. O valor deve ser o mesmo enviado no consentimento. + +Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. +Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. +";Texto;19;Obrigatório;^((\d{1,16}\.\d{2}))$;;1;1;"";Não permitido;string;100000.12;4 +/data/payment/currency;currency;"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. +";Texto;3;Obrigatório;^([A-Z]{3})$;;1;1;"";Não permitido;string;BRL; +/data/transactionIdentification;transactionIdentification;"Trata-se de um identificador de transação que deve ser retransmitido intacto pelo PSP do pagador ao gerar a ordem de pagamento. + +[Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. +";Texto;35;Condicional;^[a-zA-Z0-9]{1,35}$;;0;1;" A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. +";Não permitido;string;E00038166201907261559y6j6; +/data/remittanceInformation;remittanceInformation;"Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. +";Texto;140;Opcional;[\w\W\s]*;;0;1;"";Não permitido;string;Pagamento da nota RSTO035-002.; +/data/creditorAccount;creditorAccount;"Objeto que contém a identificação da conta de destino do beneficiário/recebedor. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/creditorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/creditorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), +se houver valor alfanumérico, este deve ser convertido para 0. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; +/data/cancellation;cancellation;"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. +";Objeto;;Condicional;;;0;1;" O objeto cancellation será obrigatório apenas quando o valor do campo status for igual a CANC. +";Não permitido;object;; +/data/cancellation/reason;reason;"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 + +CANCELADO_MULTIPLAS_ALCADAS - Pagamento cancelado enquanto estava na situação PATC +";Texto;;Obrigatório;;"CANCELADO_PENDENCIA +CANCELADO_AGENDAMENTO +CANCELADO_MULTIPLAS_ALCADAS";1;1;"";Não permitido;string;CANCELADO_PENDENCIA; +/data/cancellation/cancelledFrom;cancelledFrom;"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 +";Texto;;Obrigatório;;"INICIADORA +DETENTORA";1;1;"";Não permitido;string;INICIADORA; +/data/cancellation/cancelledAt;cancelledAt;Data e hora que foi realizado o cancelamento, conforme especificação RFC-3339, formato UTC.;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/cancellation/cancelledBy;cancelledBy;Informação relacionada ao usuário pagador que solicitou o cancelamento do pagamento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/cancellation/cancelledBy/document;document;Objeto que consolida os dados do documento do usuário que solicitou o cancelamento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/cancellation/cancelledBy/document/identification;identification;Número do documento do usuário pagador responsável pelo cancelamento do pagamento.;Texto;11;Obrigatório;^\d{11}$;;1;1;"";Não permitido;string;11111111111; +/data/cancellation/cancelledBy/document/rel;rel;Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;CPF; +/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. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/debtorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/debtorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/debtorAccount/number;number;"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. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; +/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + +[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Texto;;Condicional;;"HYBRID_FLOW +CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Não permitido;string;HYBRID_FLOW; diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv index 8178e3911..77418bbdb 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v2.csv @@ -78,25 +78,25 @@ SCHD";1;1;"";Não permitido;string;PDNG; [Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; /data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado -- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. +SALDO_INSUFICIENTE -- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. +VALOR_ACIMA_LIMITE -- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. +VALOR_INVALIDO -- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status Válido. +COBRANCA_INVALIDA -- NAO_INFORMADO - Não reportado/identificado pela instituição detentora de conta. +NAO_INFORMADO -- PAGAMENTO_DIVERGENTE_CONSENTIMENTO - Dados do pagamento divergentes dos dados do consentimento. +PAGAMENTO_DIVERGENTE_CONSENTIMENTO -- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. +DETALHE_PAGAMENTO_INVALIDO -- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. +PAGAMENTO_RECUSADO_DETENTORA -- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. +PAGAMENTO_RECUSADO_SPI -- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. +FALHA_INFRAESTRUTURA ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO @@ -149,14 +149,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/creditorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/creditorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS @@ -203,21 +203,15 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; -/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. - -[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. -";Texto;;Condicional;;"HYBRID_FLOW -CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. -";Não permitido;string;HYBRID_FLOW; diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv new file mode 100644 index 000000000..bcc3b71f3 --- /dev/null +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv @@ -0,0 +1,225 @@ +Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo +/data;data;Objeto contendo dados do pagamento e da conta do recebedor (creditor).;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/paymentId;paymentId;"Código ou identificador único informado pela instituição detentora da conta para representar +a iniciação de pagamento individual. O `paymentId` deve ser diferente do `endToEndId`. +Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. +";Texto;100;Obrigatório;^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$;;1;1;"";Não permitido;string;TXpRMU9UQTROMWhZV2xSU1FUazJSMDl;1 +/data/endToEndId;endToEndId;"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. +";Texto;32;Obrigatório;^([E])([0-9]{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})$;;1;1;" A detentora deve obrigatoriamente retornar o campo Com o mesmo valor recebido da iniciadora. +";Não permitido;string;E9040088820210128000800123873170;32 +/data/consentId;consentId;"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 consentId temos: +- o namespace(urn) +- o identificador associado ao namespace da instituição transnmissora (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). +";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;urn:bancoex:C1DD33123; +/data/creationDateTime;creationDateTime;"Data e hora em que o recurso foi criado. +Uma string com data e hora conforme especificação RFC-3339, +sempre com a utilização de timezone UTC(UTC time format). +";Date Hora;;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;2020-07-21T08:30:00Z; +/data/statusUpdateDateTime;statusUpdateDateTime;"Data e hora da última atualização da iniciação de pagamento. +Uma string com data e hora conforme especificação RFC-3339, +sempre com a utilização de timezone UTC(UTC time format). +";Date Hora;;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;2020-07-21T08:30:00Z; +/data/proxy;proxy;"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 RFC41223. +Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. +Esta validação é opcional caso o localInstrument for igual a INIC. +[Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Texto;77;Condicional;[\w\W\s]*;;0;1;" Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Não permitido;string;12345678901; +/data/ibgeTownCode;ibgeTownCode;"O campo ibgetowncode no arranjo PIX, tem o mesmo comportamento que o campo codMun descrito no item 1.6.6 do manual do PIX, conforme segue: + +1. 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; +";Texto;7;Opcional;^\d{7}$;;0;1;"";Não permitido;string;5300108;7 +/data/status;status;"Estado atual da iniciação de pagamento. O estado evolui na seguinte ordem: + +1. 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. + +2. PATC (Partially Accepted Technical Correct) - Indica que a transação precisa da confirmação de mais autorizadores para que o processamento do pagamento possa prosseguir. + +3. 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. + +4. 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). + +5. 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. + +6. RJCT (Rejected) Indica que a transação foi rejeitada pela detentora ou pelo SPI. + +7. ACSC (Accepted Settlement Completed Debitor Account) - Indica que a transação foi efetivada pela detentora ou pelo SPI. + +8. PDNG (Pending) - Indica que a detentora reteve temporariamente a transação Pix para análise. + +9. SCHD (Scheduled) - Indica que a transação Pix foi agendada com sucesso na detentora. + +Em caso insucesso: + +RJCT (REJECTED) - Instrução de pagamento rejeitada. +";Texto;;Obrigatório;;"RCVD +PATC +CANC +ACCP +ACPD +RJCT +ACSC +PDNG +SCHD";1;1;"";Não permitido;string;PDNG; +/data/rejectionReason;rejectionReason;"Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status +[Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; +/data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado + +- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. + +- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + +- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. + +- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status 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. + +- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. + +- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. + +- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. + +- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. +";Texto;;Obrigatório;;"SALDO_INSUFICIENTE +VALOR_ACIMA_LIMITE +VALOR_INVALIDO +COBRANCA_INVALIDA +NAO_INFORMADO +PAGAMENTO_DIVERGENTE_CONSENTIMENTO +DETALHE_PAGAMENTO_INVALIDO +PAGAMENTO_RECUSADO_DETENTORA +PAGAMENTO_RECUSADO_SPI +FALHA_INFRAESTRUTURA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +/data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; +/data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: +- MANU - Inserção manual de dados da conta transacional +- DICT - Inserção manual de chave Pix +- QRDN - QR code dinâmico +- QRES - QR code estático +- 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. +";Texto;;Obrigatório;;"MANU +DICT +QRDN +QRES +INIC";1;1;"";Não permitido;string;DICT; +/data/cnpjInitiator;cnpjInitiator;CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix.;Texto;14;Obrigatório;^\d{14}$;;1;1;"";Não permitido;string;50685362000135; +/data/payment;payment;Objeto contendo dados do pagameto como moeda e valor.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/amount;amount;"Valor da transação com 2 casas decimais. O valor deve ser o mesmo enviado no consentimento. + +Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. +Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. +";Texto;19;Obrigatório;^((\d{1,16}\.\d{2}))$;;1;1;"";Não permitido;string;100000.12;4 +/data/payment/currency;currency;"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. +";Texto;3;Obrigatório;^([A-Z]{3})$;;1;1;"";Não permitido;string;BRL; +/data/transactionIdentification;transactionIdentification;"Trata-se de um identificador de transação que deve ser retransmitido intacto pelo PSP do pagador ao gerar a ordem de pagamento. + +[Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. +";Texto;35;Condicional;^[a-zA-Z0-9]{1,35}$;;0;1;" A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. +";Não permitido;string;E00038166201907261559y6j6; +/data/remittanceInformation;remittanceInformation;"Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. +";Texto;140;Opcional;[\w\W\s]*;;0;1;"";Não permitido;string;Pagamento da nota RSTO035-002.; +/data/creditorAccount;creditorAccount;"Objeto que contém a identificação da conta de destino do beneficiário/recebedor. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/creditorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/creditorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), +se houver valor alfanumérico, este deve ser convertido para 0. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; +/data/cancellation;cancellation;"Objeto que contém os dados referentes ao usuário pagador que solicitou o cancelamento, o canal utilizado por ele e o motivo. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/cancellation/reason;reason;"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 + +CANCELADO_MULTIPLAS_ALCADAS - Pagamento cancelado enquanto estava na situação PATC +";Texto;;Obrigatório;;"CANCELADO_PENDENCIA +CANCELADO_AGENDAMENTO +CANCELADO_MULTIPLAS_ALCADAS";1;1;"";Não permitido;string;CANCELADO_PENDENCIA; +/data/cancellation/cancelledFrom;cancelledFrom;"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 +";Texto;;Obrigatório;;"INICIADORA +DETENTORA";1;1;"";Não permitido;string;INICIADORA; +/data/cancellation/cancelledAt;cancelledAt;Data e hora que foi realizado o cancelamento, conforme especificação RFC-3339, formato UTC.;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/cancellation/cancelledBy;cancelledBy;Informação relacionada ao usuário pagador que solicitou o cancelamento do pagamento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/cancellation/cancelledBy/document;document;Objeto que consolida os dados do documento do usuário que solicitou o cancelamento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/cancellation/cancelledBy/document/identification;identification;Número do documento do usuário pagador responsável pelo cancelamento do pagamento.;Texto;11;Obrigatório;^\d{11}$;;1;1;"";Não permitido;string;11111111111; +/data/cancellation/cancelledBy/document/rel;rel;Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;CPF; +/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. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/debtorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/debtorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/debtorAccount/number;number;"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. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; +/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + +[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Texto;;Condicional;;"HYBRID_FLOW +CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Não permitido;string;HYBRID_FLOW; diff --git a/dictionary/paymentsPostConsents_v2.csv b/dictionary/paymentsPostConsents_v2.csv index 2045c8eee..dde6a23a2 100644 --- a/dictionary/paymentsPostConsents_v2.csv +++ b/dictionary/paymentsPostConsents_v2.csv @@ -50,7 +50,7 @@ O CNPJ será utilizado com 14 números e deverá ser informado sem pontos ou tra ";Texto;14;Obrigatório;^\d{11}$|^\d{14}$;;1;1;"";Não permitido;string;58764789000137;11 /data/creditor/name;name;"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. -";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; +";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; /data/payment;payment;Objeto contendo dados de pagamento para consentimento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; /data/payment/type;type;"Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. ";Texto;;Obrigatório;;PIX;1;1;"";Não permitido;string;PIX; @@ -148,29 +148,21 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/payment/details/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/payment/details/creditorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/payment/details/creditorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; -/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. -No caso em que o cliente não preenche os dados na iniciadora, a detentora deverá persistir as informações da conta selecionada seguindo as condições abaixo. - -[Restrição] -- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. -- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. -";Objeto;;Condicional;;;0;1;" -- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. -- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. -";Não permitido;object;; +/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. +";Objeto;;Opcional;;;0;1;"";Não permitido;object;; /data/debtorAccount/ispb;ispb;"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. ";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 /data/debtorAccount/issuer;issuer;"Código da Agência emissora da conta sem dígito. @@ -182,14 +174,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS diff --git a/dictionary/paymentsPostConsents_v3.csv b/dictionary/paymentsPostConsents_v3.csv new file mode 100644 index 000000000..0085c64ef --- /dev/null +++ b/dictionary/paymentsPostConsents_v3.csv @@ -0,0 +1,198 @@ +Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo +/data;data;Objeto contendo as informações de resposta do consentimento para a iniciação de pagamento individual.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/consentId;consentId;"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 consentId temos: +- o namespace(urn) +- o identificador associado ao namespace da instituição transnmissora (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). +";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;urn:bancoex:C1DD33123; +/data/creationDateTime;creationDateTime;Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação RFC-3339, 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 da iniciação de pagamento expira, devendo ser sempre o creationDateTime mais 5 minutos. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format). +O consentimento é criado com o status AWAITING_AUTHORISATION, e deve assumir o status AUTHORIZED ou REJECTED antes do tempo de expiração - 5 minutos. Caso o tempo seja expirado, o status deve assumir REJECTED. +Para o cenário em que o status assumiu AUTHORISED, o tempo máximo do expirationDateTime do consentimento deve assumir ""now + 60 minutos"". Este é o tempo para consumir o consentimento autorizado, mudando seu status para CONSUMED. Não é possível prorrogar este tempo e a criação de um novo consentimento será necessária para os cenários de insucesso. +O tempo do expirationDateTime é garantido com os 15 minutos do access token, sendo possível utilizar mais três refresh tokens até totalizar 60 minutos. +";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/statusUpdateDateTime;statusUpdateDateTime;"Data e hora em que o recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, 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/status;status;"Retorna o estado do consentimento, o qual no momento de sua criação será AWAITING_AUTHORISATION. +Este estado será alterado depois da autorização do consentimento na detentora da conta do pagador (Debtor) para AUTHORISED ou REJECTED. +O consentimento fica no estado CONSUMED após ocorrer a iniciação do pagamento referente ao consentimento. +Em caso de consentimento expirado a detentora deverá retornar o status REJECTED. +Estados possíveis: +AWAITING_AUTHORISATION - Aguardando autorização +AUTHORISED - Autorizado +REJECTED - Rejeitado +CONSUMED - Consumido +";Texto;;Obrigatório;;"AWAITING_AUTHORISATION +AUTHORISED +REJECTED +CONSUMED";1;1;"";Não permitido;string;AWAITING_AUTHORISATION; +/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; +/data/loggedUser/document/rel;rel;Tipo do documento de identificação oficial do usuário.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;CPF; +/data/businessEntity;businessEntity;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).;Objeto;;Condicional;;;0;1; Preenchimento obrigatório se usuário logado na instituição Iniciadora de Pagamento for um CNPJ (pessoa jurídica).;Não permitido;object;; +/data/businessEntity/document;document;;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/businessEntity/document/identification;identification;Número do documento de identificação oficial do titular pessoa jurídica.;Texto;14;Obrigatório;^\d{14}$;;1;1;"";Não permitido;string;11111111111111; +/data/businessEntity/document/rel;rel;Tipo do documento de identificação oficial do titular pessoa jurídica.;Texto;4;Obrigatório;^[A-Z]{4}$;;1;1;"";Não permitido;string;CNPJ; +/data/creditor;creditor;Objeto contendo os dados do recebedor (creditor).;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/creditor/personType;personType;"Titular, pessoa natural ou juridica a quem se referem os dados de recebedor (creditor). +";Texto;;Obrigatório;;"PESSOA_NATURAL +PESSOA_JURIDICA";1;1;"";Não permitido;string;; +/data/creditor/cpfCnpj;cpfCnpj;"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. +";Texto;14;Obrigatório;^\d{11}$|^\d{14}$;;1;1;"";Não permitido;string;58764789000137;11 +/data/creditor/name;name;"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. +";Texto;120;Obrigatório;^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$;;1;1;"";Não permitido;string;Marco Antonio de Brito; +/data/payment;payment;Objeto contendo dados de pagamento para consentimento.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/type;type;"Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. +";Texto;;Obrigatório;;PIX;1;1;"";Não permitido;string;PIX; +/data/payment/schedule;;"[Restrição] Mutuamente excludente com o campo date. + +Este campo é obrigatório no caso de agendamento. + +Neste caso, o campo date não deve ser informado. +";Objeto;;Condicional;;;0;1;" Mutuamente excludente com o campo date. + +Este campo é obrigatório no caso de agendamento. + +Neste caso, o campo date não deve ser informado. +";Não permitido;object;; +/data/payment/schedule/single;single;Define a política de agendamento único.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/schedule/single/date;date;"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. + +Observação: Esse campo deverá sempre ser no mínimo D+1 corrido, ou seja, a data imediatamente posterior em relação a data do consentimento considerando o fuso horário de Brasília e deverá ser no máximo D+365 corridos a partir da data do consentimento considerando o fuso horário de Brasília +";Data;10;Obrigatório;^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$;;1;1;"";Não permitido;string;2021-01-01; +/data/payment/date;date;"[Restrição] Mutuamente excludente com o objeto schedule. + +Este campo é obrigatório no caso de pagamento único. + +Neste caso, o objeto schedule não deve ser informado. +";Data;10;Condicional;^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$;;0;1;" Mutuamente excludente com o objeto schedule. + +Este campo é obrigatório no caso de pagamento único. + +Neste caso, o objeto schedule não deve ser informado. +";Não permitido;string;2021-01-01; +/data/payment/currency;currency;"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. +";Texto;3;Obrigatório;^([A-Z]{3})$;;1;1;"";Não permitido;string;BRL; +/data/payment/amount;amount;"Valor da transação com 2 casas decimais. O valor deve ser o mesmo enviado no consentimento. + +Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. +Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. +";Texto;19;Obrigatório;^((\d{1,16}\.\d{2}))$;;1;1;"";Não permitido;string;100000.12;4 +/data/payment/ibgeTownCode;ibgeTownCode;"O campo ibgetowncode no arranjo PIX, tem o mesmo comportamento que o campo codMun descrito no item 1.6.6 do manual do PIX, conforme segue: + +1. 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; +";Texto;7;Opcional;^\d{7}$;;0;1;"";Não permitido;string;5300108;7 +/data/payment/details;details;"Objeto contendo os detalhes do pagamento. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/details/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: +- MANU - Inserção manual de dados da conta transacional +- DICT - Inserção manual de chave Pix +- QRDN - QR code dinâmico +- QRES - QR code estático +- 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. +";Texto;;Obrigatório;;"MANU +DICT +QRDN +QRES +INIC";1;1;"";Não permitido;string;DICT; +/data/payment/details/qrCode;qrCode;"Sequência de caracteres que corresponde ao QR Code disponibilizado para o pagador. +É a sequência de caracteres que seria lida pelo leitor de QR Code, e deve propiciar o retorno dos dados do pagador após consulta na DICT. +Essa funcionalidade é possível tanto para QR Code estático quanto para QR Code dinâmico. +No arranjo do Pix esta é a mesma sequência gerada e/ou lida pela funcionalidade Pix Copia e Cola. +Este campo deverá ser no formato UTF-8. +[Restrição] Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes. +";Texto;512;Condicional;[\w\W\s]*;;0;1;" Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes. +";Não permitido;string;"00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012 +BR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062 +530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB +CD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76 +"; +/data/payment/details/proxy;proxy;"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 RFC41223. +Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. +Esta validação é opcional caso o localInstrument for igual a INIC. +[Restrição] +Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. +Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Texto;77;Condicional;[\w\W\s]*;;0;1;" +Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. +Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Não permitido;string;12345678901; +/data/payment/details/creditorAccount;creditorAccount;"Objeto que contém a identificação da conta de destino do beneficiário/recebedor. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/details/creditorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/payment/details/creditorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/payment/details/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), +se houver valor alfanumérico, este deve ser convertido para 0. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/payment/details/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; +/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. +No caso em que o cliente não preenche os dados na iniciadora, a detentora deverá persistir as informações da conta selecionada seguindo as condições abaixo. + +[Restrição] +- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. +- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. +";Objeto;;Condicional;;;0;1;" +- AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. +- REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. +";Não permitido;object;; +/data/debtorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/debtorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/debtorAccount/number;number;"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. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; diff --git a/dictionary/paymentsPostPixPayments_v2.csv b/dictionary/paymentsPostPixPayments_v2.csv index 0ea6c9e1e..0219a7e67 100644 --- a/dictionary/paymentsPostPixPayments_v2.csv +++ b/dictionary/paymentsPostPixPayments_v2.csv @@ -78,25 +78,25 @@ SCHD";1;1;"";Não permitido;string;PDNG; [Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; /data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado -- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. +SALDO_INSUFICIENTE -- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. +VALOR_ACIMA_LIMITE -- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. +VALOR_INVALIDO -- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status Válido. +COBRANCA_INVALIDA -- NAO_INFORMADO - Não reportado/identificado pela instituição detentora de conta. +NAO_INFORMADO -- PAGAMENTO_DIVERGENTE_CONSENTIMENTO - Dados do pagamento divergentes dos dados do consentimento. +PAGAMENTO_DIVERGENTE_CONSENTIMENTO -- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. +DETALHE_PAGAMENTO_INVALIDO -- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. +PAGAMENTO_RECUSADO_DETENTORA -- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. +PAGAMENTO_RECUSADO_SPI -- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. +FALHA_INFRAESTRUTURA ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO @@ -149,14 +149,14 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), se houver valor alfanumérico, este deve ser convertido para 0. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/creditorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/creditorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS @@ -175,21 +175,15 @@ no exercício de atividades da instituição, não podendo ser móvel ou transit /data/debtorAccount/number;number;"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. ";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 -/data/debtorAccount/accountType;accountType;"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. -- SLRY - Salary - Conta-Salário. -- SVGS - Savings - Conta de Poupança. -- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +/data/debtorAccount/accountType;accountType;"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. +SLRY - Salary - Conta-Salário. +SVGS - Savings - Conta de Poupança. +TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; -/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. - -[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. -";Texto;;Condicional;;"HYBRID_FLOW -CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. -";Não permitido;string;HYBRID_FLOW; diff --git a/dictionary/paymentsPostPixPayments_v3.csv b/dictionary/paymentsPostPixPayments_v3.csv new file mode 100644 index 000000000..fc0ffa7f7 --- /dev/null +++ b/dictionary/paymentsPostPixPayments_v3.csv @@ -0,0 +1,197 @@ +Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo +/data;data;Objeto contendo dados do pagamento e da conta do recebedor (creditor).;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/paymentId;paymentId;"Código ou identificador único informado pela instituição detentora da conta para representar +a iniciação de pagamento individual. O `paymentId` deve ser diferente do `endToEndId`. +Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada. +";Texto;100;Obrigatório;^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$;;1;1;"";Não permitido;string;TXpRMU9UQTROMWhZV2xSU1FUazJSMDl;1 +/data/endToEndId;endToEndId;"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. +";Texto;32;Obrigatório;^([E])([0-9]{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})$;;1;1;" A detentora deve obrigatoriamente retornar o campo Com o mesmo valor recebido da iniciadora. +";Não permitido;string;E9040088820210128000800123873170;32 +/data/consentId;consentId;"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 consentId temos: +- o namespace(urn) +- o identificador associado ao namespace da instituição transnmissora (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). +";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;urn:bancoex:C1DD33123; +/data/creationDateTime;creationDateTime;"Data e hora em que o recurso foi criado. +Uma string com data e hora conforme especificação RFC-3339, +sempre com a utilização de timezone UTC(UTC time format). +";Date Hora;;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;2020-07-21T08:30:00Z; +/data/statusUpdateDateTime;statusUpdateDateTime;"Data e hora da última atualização da iniciação de pagamento. +Uma string com data e hora conforme especificação RFC-3339, +sempre com a utilização de timezone UTC(UTC time format). +";Date Hora;;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;2020-07-21T08:30:00Z; +/data/proxy;proxy;"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 RFC41223. +Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. +Esta validação é opcional caso o localInstrument for igual a INIC. +[Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Texto;77;Condicional;[\w\W\s]*;;0;1;" Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. +";Não permitido;string;12345678901; +/data/ibgeTownCode;ibgeTownCode;"O campo ibgetowncode no arranjo PIX, tem o mesmo comportamento que o campo codMun descrito no item 1.6.6 do manual do PIX, conforme segue: + +1. 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; +";Texto;7;Opcional;^\d{7}$;;0;1;"";Não permitido;string;5300108;7 +/data/status;status;"Estado atual da iniciação de pagamento. O estado evolui na seguinte ordem: + +1. 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. + +2. PATC (Partially Accepted Technical Correct) - Indica que a transação precisa da confirmação de mais autorizadores para que o processamento do pagamento possa prosseguir. + +3. 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. + +4. 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). + +5. 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. + +6. RJCT (Rejected) Indica que a transação foi rejeitada pela detentora ou pelo SPI. + +7. ACSC (Accepted Settlement Completed Debitor Account) - Indica que a transação foi efetivada pela detentora ou pelo SPI. + +8. PDNG (Pending) - Indica que a detentora reteve temporariamente a transação Pix para análise. + +9. SCHD (Scheduled) - Indica que a transação Pix foi agendada com sucesso na detentora. + +Em caso insucesso: + +RJCT (REJECTED) - Instrução de pagamento rejeitada. +";Texto;;Obrigatório;;"RCVD +PATC +CANC +ACCP +ACPD +RJCT +ACSC +PDNG +SCHD";1;1;"";Não permitido;string;PDNG; +/data/rejectionReason;rejectionReason;"Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status +[Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).";Objeto;;Condicional;;;0;1; Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).;Não permitido;object;; +/data/rejectionReason/code;code;"Define o código da razão pela qual o pagamento foi rejeitado + +- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. + +- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + +- VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. + +- COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status 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. + +- DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. + +- PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. + +- PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. + +- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. +";Texto;;Obrigatório;;"SALDO_INSUFICIENTE +VALOR_ACIMA_LIMITE +VALOR_INVALIDO +COBRANCA_INVALIDA +NAO_INFORMADO +PAGAMENTO_DIVERGENTE_CONSENTIMENTO +DETALHE_PAGAMENTO_INVALIDO +PAGAMENTO_RECUSADO_DETENTORA +PAGAMENTO_RECUSADO_SPI +FALHA_INFRAESTRUTURA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +/data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; +/data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: +- MANU - Inserção manual de dados da conta transacional +- DICT - Inserção manual de chave Pix +- QRDN - QR code dinâmico +- QRES - QR code estático +- 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. +";Texto;;Obrigatório;;"MANU +DICT +QRDN +QRES +INIC";1;1;"";Não permitido;string;DICT; +/data/cnpjInitiator;cnpjInitiator;CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix.;Texto;14;Obrigatório;^\d{14}$;;1;1;"";Não permitido;string;50685362000135; +/data/payment;payment;Objeto contendo dados do pagameto como moeda e valor.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/payment/amount;amount;"Valor da transação com 2 casas decimais. O valor deve ser o mesmo enviado no consentimento. + +Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. +Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. +";Texto;19;Obrigatório;^((\d{1,16}\.\d{2}))$;;1;1;"";Não permitido;string;100000.12;4 +/data/payment/currency;currency;"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. +";Texto;3;Obrigatório;^([A-Z]{3})$;;1;1;"";Não permitido;string;BRL; +/data/transactionIdentification;transactionIdentification;"Trata-se de um identificador de transação que deve ser retransmitido intacto pelo PSP do pagador ao gerar a ordem de pagamento. + +[Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. +";Texto;35;Condicional;^[a-zA-Z0-9]{1,35}$;;0;1;" A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. +";Não permitido;string;E00038166201907261559y6j6; +/data/remittanceInformation;remittanceInformation;"Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. +";Texto;140;Opcional;[\w\W\s]*;;0;1;"";Não permitido;string;Pagamento da nota RSTO035-002.; +/data/creditorAccount;creditorAccount;"Objeto que contém a identificação da conta de destino do beneficiário/recebedor. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/creditorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/creditorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/creditorAccount/number;number;"Deve ser preenchido com o número da conta do usuário recebedor, com dígito verificador (se este existir), +se houver valor alfanumérico, este deve ser convertido para 0. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/creditorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; +/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. +";Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/debtorAccount/ispb;ispb;"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. +";Texto;8;Obrigatório;^[0-9]{8}$;;1;1;"";Não permitido;string;12345678;8 +/data/debtorAccount/issuer;issuer;"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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Texto;4;Condicional;^[0-9]{1,4}$;;0;1;" Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). +";Não permitido;string;1774;1 +/data/debtorAccount/number;number;"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. +";Texto;20;Obrigatório;^[0-9]{1,20}$;;1;1;"";Não permitido;string;1234567890;1 +/data/debtorAccount/accountType;accountType;"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. +- SLRY - Salary - Conta-Salário. +- SVGS - Savings - Conta de Poupança. +- TRAN - TransactingAccount - Conta de Pagamento pré-paga. +";Texto;;Obrigatório;;"CACC +SLRY +SVGS +TRAN";1;1;"";Não permitido;string;CACC; +/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + +[Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Texto;;Condicional;;"HYBRID_FLOW +CIBA_FLOW";0;1;" Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. +";Não permitido;string;HYBRID_FLOW; diff --git a/swagger-apis/payments/2.1.0.yml b/swagger-apis/payments/3.0.0-beta.1.yml similarity index 99% rename from swagger-apis/payments/2.1.0.yml rename to swagger-apis/payments/3.0.0-beta.1.yml index 2d7fed5ad..3a5313818 100644 --- a/swagger-apis/payments/2.1.0.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -123,7 +123,7 @@ info:  Status do Pagamento: RJCT (Rejected), com as seguintes opções rejectionReason:  • Erro por dados inválidos: Conforme item **4.1.7**;  • Erro por suspeita de fraude: Conforme item **4.1.8**. - version: 2.1.0 + version: '3.0.0-beta.1' license: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' diff --git a/swagger-apis/payments/index.html b/swagger-apis/payments/index.html index ecfed09c3..42b4132b1 100644 --- a/swagger-apis/payments/index.html +++ b/swagger-apis/payments/index.html @@ -63,8 +63,8 @@ {"name": "1.1.0-rc1.0", "url": "./1.1.0-rc1.0.yml"}, {"name": "1.2.0", "url": "./1.2.0.yml"}, {"name": "2.0.0", "url": "./2.0.0.yml"}, - {"name": "2.1.0", "url": "./2.1.0.yml"}], - "urls.primaryName": "2.1.0", // default spec + {"name": "3.0.0-beta.1", "url": "./3.0.0-beta.1.yml"}], + "urls.primaryName": "3.0.0-beta.1", // default spec dom_id: '#swagger-ui', deepLinking: true, supportedSubmitMethods:[], From ac756368c64c48667522a1e55a4c61a9cea31a64 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Thu, 22 Jun 2023 17:32:50 -0300 Subject: [PATCH 29/53] feat(Payments): ORB-2762 - PB43 - Incluir novos rejectionReasons code de Payments --- .../paymentsGetPixPaymentsPaymentId_v3.csv | 19 ++++++++++++++++++- .../paymentsPatchPixPaymentsPaymentId_v3.csv | 19 ++++++++++++++++++- dictionary/paymentsPostPixPayments_v3.csv | 19 ++++++++++++++++++- swagger-apis/payments/3.0.0-beta.1.yml | 17 +++++++++++++++++ 4 files changed, 71 insertions(+), 3 deletions(-) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv index b31e4dc6a..b3dc013c6 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv @@ -97,6 +97,18 @@ SCHD";1;1;"";Não permitido;string;PDNG; - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. + +- FALHA_INFRAESTRUTURA_SPI - Indica uma falha no Sistema de Pagamentos Instantâneos (SPI). + +- FALHA_INFRAESTRUTURA_DICT - Indica uma falha no Diretório de Identificadores de Contas Transacionais (DICT). + +- 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. + +O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO @@ -106,7 +118,12 @@ PAGAMENTO_DIVERGENTE_CONSENTIMENTO DETALHE_PAGAMENTO_INVALIDO PAGAMENTO_RECUSADO_DETENTORA PAGAMENTO_RECUSADO_SPI -FALHA_INFRAESTRUTURA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +FALHA_INFRAESTRUTURA +FALHA_INFRAESTRUTURA_SPI +FALHA_INFRAESTRUTURA_DICT +FALHA_INFRAESTRUTURA_ICP +FALHA_INFRAESTRUTURA_PSP_RECEBEDOR +FALHA_INFRAESTRUTURA_DETENTORA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; /data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; /data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: - MANU - Inserção manual de dados da conta transacional diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv index bcc3b71f3..5199b5d75 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv @@ -97,6 +97,18 @@ SCHD";1;1;"";Não permitido;string;PDNG; - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. + +- FALHA_INFRAESTRUTURA_SPI - Indica uma falha no Sistema de Pagamentos Instantâneos (SPI). + +- FALHA_INFRAESTRUTURA_DICT - Indica uma falha no Diretório de Identificadores de Contas Transacionais (DICT). + +- 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. + +O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO @@ -106,7 +118,12 @@ PAGAMENTO_DIVERGENTE_CONSENTIMENTO DETALHE_PAGAMENTO_INVALIDO PAGAMENTO_RECUSADO_DETENTORA PAGAMENTO_RECUSADO_SPI -FALHA_INFRAESTRUTURA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +FALHA_INFRAESTRUTURA +FALHA_INFRAESTRUTURA_SPI +FALHA_INFRAESTRUTURA_DICT +FALHA_INFRAESTRUTURA_ICP +FALHA_INFRAESTRUTURA_PSP_RECEBEDOR +FALHA_INFRAESTRUTURA_DETENTORA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; /data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; /data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: - MANU - Inserção manual de dados da conta transacional diff --git a/dictionary/paymentsPostPixPayments_v3.csv b/dictionary/paymentsPostPixPayments_v3.csv index fc0ffa7f7..a1ec03fcf 100644 --- a/dictionary/paymentsPostPixPayments_v3.csv +++ b/dictionary/paymentsPostPixPayments_v3.csv @@ -97,6 +97,18 @@ SCHD";1;1;"";Não permitido;string;PDNG; - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. + +- FALHA_INFRAESTRUTURA_SPI - Indica uma falha no Sistema de Pagamentos Instantâneos (SPI). + +- FALHA_INFRAESTRUTURA_DICT - Indica uma falha no Diretório de Identificadores de Contas Transacionais (DICT). + +- 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. + +O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO @@ -106,7 +118,12 @@ PAGAMENTO_DIVERGENTE_CONSENTIMENTO DETALHE_PAGAMENTO_INVALIDO PAGAMENTO_RECUSADO_DETENTORA PAGAMENTO_RECUSADO_SPI -FALHA_INFRAESTRUTURA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +FALHA_INFRAESTRUTURA +FALHA_INFRAESTRUTURA_SPI +FALHA_INFRAESTRUTURA_DICT +FALHA_INFRAESTRUTURA_ICP +FALHA_INFRAESTRUTURA_PSP_RECEBEDOR +FALHA_INFRAESTRUTURA_DETENTORA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; /data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; /data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: - MANU - Inserção manual de dados da conta transacional diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 3a5313818..46db573c3 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1205,6 +1205,11 @@ components: - PAGAMENTO_RECUSADO_DETENTORA - PAGAMENTO_RECUSADO_SPI - FALHA_INFRAESTRUTURA + - FALHA_INFRAESTRUTURA_SPI + - FALHA_INFRAESTRUTURA_DICT + - FALHA_INFRAESTRUTURA_ICP + - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR + - FALHA_INFRAESTRUTURA_DETENTORA example: SALDO_INSUFICIENTE description: | Define o código da razão pela qual o pagamento foi rejeitado @@ -1228,6 +1233,18 @@ components: - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. + + - FALHA_INFRAESTRUTURA_SPI - Indica uma falha no Sistema de Pagamentos Instantâneos (SPI). + + - FALHA_INFRAESTRUTURA_DICT - Indica uma falha no Diretório de Identificadores de Contas Transacionais (DICT). + + - 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. + + O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. EnumPaymentCancellationReasonType: type: string enum: From 2805d59d554cff98facaf04ec088e7b46c713e63 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Thu, 22 Jun 2023 17:39:42 -0300 Subject: [PATCH 30/53] feat(Payments): ORB-2728 - PB46 - Incluir novo ENUM no rejectionReason code de Payments --- dictionary/paymentsGetPixPaymentsPaymentId_v3.csv | 5 ++++- dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv | 5 ++++- dictionary/paymentsPostPixPayments_v3.csv | 5 ++++- swagger-apis/payments/3.0.0-beta.1.yml | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv index b3dc013c6..43890571d 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv @@ -108,6 +108,8 @@ SCHD";1;1;"";Não permitido;string;PDNG; - FALHA_INFRAESTRUTURA_DETENTORA - indica uma falha na infraestrutura da instituição detentora das informações ou recursos. +- CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. + O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE @@ -123,7 +125,8 @@ FALHA_INFRAESTRUTURA_SPI FALHA_INFRAESTRUTURA_DICT FALHA_INFRAESTRUTURA_ICP FALHA_INFRAESTRUTURA_PSP_RECEBEDOR -FALHA_INFRAESTRUTURA_DETENTORA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +FALHA_INFRAESTRUTURA_DETENTORA +CONTAS_ORIGEM_DESTINO_IGUAIS";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; /data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; /data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: - MANU - Inserção manual de dados da conta transacional diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv index 5199b5d75..d36560d36 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv @@ -108,6 +108,8 @@ SCHD";1;1;"";Não permitido;string;PDNG; - FALHA_INFRAESTRUTURA_DETENTORA - indica uma falha na infraestrutura da instituição detentora das informações ou recursos. +- CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. + O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE @@ -123,7 +125,8 @@ FALHA_INFRAESTRUTURA_SPI FALHA_INFRAESTRUTURA_DICT FALHA_INFRAESTRUTURA_ICP FALHA_INFRAESTRUTURA_PSP_RECEBEDOR -FALHA_INFRAESTRUTURA_DETENTORA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +FALHA_INFRAESTRUTURA_DETENTORA +CONTAS_ORIGEM_DESTINO_IGUAIS";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; /data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; /data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: - MANU - Inserção manual de dados da conta transacional diff --git a/dictionary/paymentsPostPixPayments_v3.csv b/dictionary/paymentsPostPixPayments_v3.csv index a1ec03fcf..aa485cb09 100644 --- a/dictionary/paymentsPostPixPayments_v3.csv +++ b/dictionary/paymentsPostPixPayments_v3.csv @@ -108,6 +108,8 @@ SCHD";1;1;"";Não permitido;string;PDNG; - FALHA_INFRAESTRUTURA_DETENTORA - indica uma falha na infraestrutura da instituição detentora das informações ou recursos. +- CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. + O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE @@ -123,7 +125,8 @@ FALHA_INFRAESTRUTURA_SPI FALHA_INFRAESTRUTURA_DICT FALHA_INFRAESTRUTURA_ICP FALHA_INFRAESTRUTURA_PSP_RECEBEDOR -FALHA_INFRAESTRUTURA_DETENTORA";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +FALHA_INFRAESTRUTURA_DETENTORA +CONTAS_ORIGEM_DESTINO_IGUAIS";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; /data/rejectionReason/detail;detail;Contém informações adicionais ao pagamento rejeitado;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; /data/localInstrument;localInstrument;"Especifica a forma de iniciação do pagamento: - MANU - Inserção manual de dados da conta transacional diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 46db573c3..97ff710be 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1210,6 +1210,7 @@ components: - FALHA_INFRAESTRUTURA_ICP - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR - FALHA_INFRAESTRUTURA_DETENTORA + - CONTAS_ORIGEM_DESTINO_IGUAIS example: SALDO_INSUFICIENTE description: | Define o código da razão pela qual o pagamento foi rejeitado @@ -1241,9 +1242,11 @@ components: - 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. + - CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. + O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. EnumPaymentCancellationReasonType: type: string From 3a2f005ce142654fcc181d97f7468b15460efa05 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 23 Jun 2023 10:43:56 -0300 Subject: [PATCH 31/53] feat(Payments): ORB-2715 - PB53 - Remover Enums dos http erros 422 --- swagger-apis/payments/3.0.0-beta.1.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 97ff710be..fec3cb916 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1067,13 +1067,10 @@ components: type: string enum: - SALDO_INSUFICIENTE - - BENEFICIARIO_INCOMPATIVEL - - VALOR_INCOMPATIVEL - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - COBRANCA_INVALIDA - CONSENTIMENTO_INVALIDO - - JANELA_OPER_INVALIDA - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - NAO_INFORMADO @@ -1088,10 +1085,6 @@ components: • SALDO_INSUFICIENTE: Esta conta não possui saldo suficiente para realizar o pagamento. - • BENEFICIARIO_INCOMPATIVEL: O beneficiário informado no consentimento não é o mesmo do esperado pelo DICT. - - • VALOR_INCOMPATIVEL: O valor informado no consentimento não é o mesmo valor do informado no payload de pagamento. - • VALOR_ACIMA_LIMITE: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. • VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. @@ -1100,8 +1093,6 @@ components: • CONSENTIMENTO_INVALIDO: Consentimento inválido (status não é "authorised" ou está expirado). - • JANELA_OPER_INVALIDA: Requisição está fora da janela de funcionamento. - • PARAMETRO_NAO_INFORMADO: Parâmetro não informado. • PARAMETRO_INVALIDO: Parâmetro inválido. From b5f99b9c8746165d137912739c4648cdcc498100 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 23 Jun 2023 10:50:47 -0300 Subject: [PATCH 32/53] feat(Payments): ORB-2713 - PB50 - Incluir objeto complexo de rejectionReason em Consent Payments --- .../paymentsGetConsentsConsentId_v3.csv | 23 ++++++++++ swagger-apis/payments/3.0.0-beta.1.yml | 42 +++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index 4c1963778..f962dc9ad 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -193,3 +193,26 @@ Segue descrição de cada valor do ENUM. SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; +/data/rejectionReason;rejectionReason;Motivo da rejeição do consentimento. Informações complementares sobre o motivo do status;Objeto;;Opcional;;;0;1;"";Não permitido;object;; +/data/rejectionReason/code;code;"Define o código da razão pela qual o consentimento foi rejeitado +- VALOR_INVALIDONAO_INFORMADO +- FALHA_INFRAESTRUTURA +- FALHA_INFRAESTRUTURA_DETENTORA +- TEMPO_EXPIRADO_AUTORIZACAO +- TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO +- CONTAS_ORIGEM_DESTINO_IGUAIS +- CONTA_SALARIO +- SALDO_INSUFICIENTE +- VALOR_ACIMA_LIMITE +- QRCODE_INVALIDO +";Texto;;Obrigatório;;"VALOR_INVALIDONAO_INFORMADO +FALHA_INFRAESTRUTURA +FALHA_INFRAESTRUTURA_DETENTORA +TEMPO_EXPIRADO_AUTORIZACAO +TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO +CONTAS_ORIGEM_DESTINO_IGUAIS +CONTA_SALARIO +SALDO_INSUFICIENTE +VALOR_ACIMA_LIMITE +QRCODE_INVALIDO";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; +/data/rejectionReason/detail;detail;Contém informações adicionais ao consentimento rejeitado.;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index fec3cb916..5cfaebf80 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1183,6 +1183,32 @@ components: example: PIX description: | Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. + EnumConsentRejectionReasonType: + type: string + enum: + - VALOR_INVALIDONAO_INFORMADO + - FALHA_INFRAESTRUTURA + - FALHA_INFRAESTRUTURA_DETENTORA + - TEMPO_EXPIRADO_AUTORIZACAO + - TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO + - CONTAS_ORIGEM_DESTINO_IGUAIS + - CONTA_SALARIO + - SALDO_INSUFICIENTE + - VALOR_ACIMA_LIMITE + - QRCODE_INVALIDO + example: SALDO_INSUFICIENTE + description: | + Define o código da razão pela qual o consentimento foi rejeitado + - VALOR_INVALIDONAO_INFORMADO + - FALHA_INFRAESTRUTURA + - FALHA_INFRAESTRUTURA_DETENTORA + - TEMPO_EXPIRADO_AUTORIZACAO + - TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO + - CONTAS_ORIGEM_DESTINO_IGUAIS + - CONTA_SALARIO + - SALDO_INSUFICIENTE + - VALOR_ACIMA_LIMITE + - QRCODE_INVALIDO EnumRejectionReasonType: type: string enum: @@ -1270,6 +1296,20 @@ components: INICIADORA - Pagamento cancelado pelo usuário pagador nos canais da iniciadora DETENTORA - Pagamento cancelado pelo usuário pagador nos canais da detentora + ConsentRejectionReason: + type: object + description: Motivo da rejeição do consentimento. Informações complementares sobre o motivo do status + required: + - code + - detail + properties: + code: + $ref: '#/components/schemas/EnumConsentRejectionReasonType' + detail: + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + description: Contém informações adicionais ao consentimento rejeitado. RejectionReason: type: object description: |- @@ -1712,6 +1752,8 @@ components: $ref: '#/components/schemas/PaymentConsent' debtorAccount: $ref: '#/components/schemas/ConsentsDebtorAccount' + rejectionReason: + $ref: '#/components/schemas/ConsentRejectionReason' links: $ref: '#/components/schemas/LinkSingle' meta: From f92b650fe62375ff8ee1ff666b223460a593d4de Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 23 Jun 2023 10:53:24 -0300 Subject: [PATCH 33/53] feat(Payments): ORB-2717 - PB63 - Atualizar Enum de Consent Payments --- dictionary/paymentsGetConsentsConsentId_v3.csv | 2 +- swagger-apis/payments/3.0.0-beta.1.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index f962dc9ad..e749906c8 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -211,7 +211,7 @@ FALHA_INFRAESTRUTURA_DETENTORA TEMPO_EXPIRADO_AUTORIZACAO TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO CONTAS_ORIGEM_DESTINO_IGUAIS -CONTA_SALARIO +CONTA_NAO_PERMITE_PAGAMENTO SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE QRCODE_INVALIDO";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 5cfaebf80..fe2ffd849 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1192,7 +1192,7 @@ components: - TEMPO_EXPIRADO_AUTORIZACAO - TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO - CONTAS_ORIGEM_DESTINO_IGUAIS - - CONTA_SALARIO + - CONTA_NAO_PERMITE_PAGAMENTO - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - QRCODE_INVALIDO From 8c7f6500115eb1e86263cacd281067d63dc81285 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 23 Jun 2023 14:43:55 -0300 Subject: [PATCH 34/53] feat(Payments): ORB-2717 - PB63 - Atualizar Enum de Consent Payments --- dictionary/paymentsGetConsentsConsentId_v3.csv | 2 +- swagger-apis/payments/3.0.0-beta.1.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index e749906c8..60f61883f 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -201,7 +201,7 @@ TRAN";1;1;"";Não permitido;string;CACC; - TEMPO_EXPIRADO_AUTORIZACAO - TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO - CONTAS_ORIGEM_DESTINO_IGUAIS -- CONTA_SALARIO +- CONTA_NAO_PERMITE_PAGAMENTO - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - QRCODE_INVALIDO diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index fe2ffd849..f6ffa1602 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1205,7 +1205,7 @@ components: - TEMPO_EXPIRADO_AUTORIZACAO - TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO - CONTAS_ORIGEM_DESTINO_IGUAIS - - CONTA_SALARIO + - CONTA_NAO_PERMITE_PAGAMENTO - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - QRCODE_INVALIDO From bcdbeeb7d5d09baca9c4321ce85474118ea1153f Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 23 Jun 2023 14:45:32 -0300 Subject: [PATCH 35/53] =?UTF-8?q?feat(Payments):=20ORB-2718=20-=20PB64=20-?= =?UTF-8?q?=20Incluir=20descri=C3=A7=C3=A3o=20de=20campo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionary/paymentsGetConsentsConsentId_v3.csv | 18 ++++++++++-------- swagger-apis/payments/3.0.0-beta.1.yml | 18 ++++++++++-------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index e749906c8..4b48b9a18 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -196,20 +196,22 @@ TRAN";1;1;"";Não permitido;string;CACC; /data/rejectionReason;rejectionReason;Motivo da rejeição do consentimento. Informações complementares sobre o motivo do status;Objeto;;Opcional;;;0;1;"";Não permitido;object;; /data/rejectionReason/code;code;"Define o código da razão pela qual o consentimento foi rejeitado - VALOR_INVALIDONAO_INFORMADO -- FALHA_INFRAESTRUTURA +- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. - FALHA_INFRAESTRUTURA_DETENTORA -- TEMPO_EXPIRADO_AUTORIZACAO -- TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO -- CONTAS_ORIGEM_DESTINO_IGUAIS -- CONTA_SALARIO -- SALDO_INSUFICIENTE -- VALOR_ACIMA_LIMITE +- TEMPO_EXPIRADO_AUTORIZACAO - Consentimento expirou antes que o usuário pudesse confirmá-lo. +- TEMPO_EXPIRADO_CONSUMO +- 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. +- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. +- VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - QRCODE_INVALIDO ";Texto;;Obrigatório;;"VALOR_INVALIDONAO_INFORMADO FALHA_INFRAESTRUTURA FALHA_INFRAESTRUTURA_DETENTORA TEMPO_EXPIRADO_AUTORIZACAO -TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO +TEMPO_EXPIRADO_CONSUMO +REJEITADO_USUARIO CONTAS_ORIGEM_DESTINO_IGUAIS CONTA_NAO_PERMITE_PAGAMENTO SALDO_INSUFICIENTE diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index fe2ffd849..fb3559cb5 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1190,7 +1190,8 @@ components: - FALHA_INFRAESTRUTURA - FALHA_INFRAESTRUTURA_DETENTORA - TEMPO_EXPIRADO_AUTORIZACAO - - TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO + - TEMPO_EXPIRADO_CONSUMO + - REJEITADO_USUARIO - CONTAS_ORIGEM_DESTINO_IGUAIS - CONTA_NAO_PERMITE_PAGAMENTO - SALDO_INSUFICIENTE @@ -1200,14 +1201,15 @@ components: description: | Define o código da razão pela qual o consentimento foi rejeitado - VALOR_INVALIDONAO_INFORMADO - - FALHA_INFRAESTRUTURA + - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. - FALHA_INFRAESTRUTURA_DETENTORA - - TEMPO_EXPIRADO_AUTORIZACAO - - TEMPO_EXPIRADO_CONSUMOREJEITADO_USUARIO - - CONTAS_ORIGEM_DESTINO_IGUAIS - - CONTA_SALARIO - - SALDO_INSUFICIENTE - - VALOR_ACIMA_LIMITE + - TEMPO_EXPIRADO_AUTORIZACAO - Consentimento expirou antes que o usuário pudesse confirmá-lo. + - TEMPO_EXPIRADO_CONSUMO + - 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. + - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. + - VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - QRCODE_INVALIDO EnumRejectionReasonType: type: string From 2a7543d730c1de7ebb61d05386c7b37cb3c32428 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 23 Jun 2023 14:49:10 -0300 Subject: [PATCH 36/53] =?UTF-8?q?feat(Payments):=20ORB-2719=20-=20PB65=20-?= =?UTF-8?q?=20Atualizar=20descri=C3=A7=C3=A3o=20de=20Enum=20de=20Payments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionary/paymentsGetPixPaymentsPaymentId_v3.csv | 2 +- dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv | 2 +- dictionary/paymentsPostPixPayments_v3.csv | 2 +- swagger-apis/payments/3.0.0-beta.1.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv index 43890571d..2b39a4cf2 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv @@ -80,7 +80,7 @@ SCHD";1;1;"";Não permitido;string;PDNG; - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. -- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. +- VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv index d36560d36..abb14547f 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv @@ -80,7 +80,7 @@ SCHD";1;1;"";Não permitido;string;PDNG; - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. -- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. +- VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. diff --git a/dictionary/paymentsPostPixPayments_v3.csv b/dictionary/paymentsPostPixPayments_v3.csv index aa485cb09..7eb1ef17b 100644 --- a/dictionary/paymentsPostPixPayments_v3.csv +++ b/dictionary/paymentsPostPixPayments_v3.csv @@ -80,7 +80,7 @@ SCHD";1;1;"";Não permitido;string;PDNG; - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. -- VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. +- VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index fb3559cb5..7db54a8bf 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1236,7 +1236,7 @@ components: - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. - - VALOR_ACIMA_LIMITE - O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + - VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. From 68a31835f091699deeddade33535c8ee0e0b609b Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 23 Jun 2023 15:36:27 -0300 Subject: [PATCH 37/53] feat(Payments): ORB-2714 - PB52 - Alterar propriedades do campo accountType --- .../paymentsGetPixPaymentsPaymentId_v3.csv | 4 - dictionary/paymentsPostPixPayments_v3.csv | 4 - swagger-apis/payments/3.0.0-beta.1.yml | 105 +++++++++++++++++- 3 files changed, 100 insertions(+), 13 deletions(-) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv index 2b39a4cf2..9c73a2115 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv @@ -175,11 +175,9 @@ conta de domiciliados no exterior, contas em moedas estrangeiras e conta corresp Segue descrição de cada valor do ENUM. - CACC - Current - Conta Corrente. -- SLRY - Salary - Conta-Salário. - SVGS - Savings - Conta de Poupança. - TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC -SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; /data/cancellation;cancellation;"Objeto que contém os dados referentes ao usuário pagador que solicitou o cancelamento, o canal utilizado por ele e o motivo. @@ -233,11 +231,9 @@ conta de domiciliados no exterior, contas em moedas estrangeiras e conta corresp Segue descrição de cada valor do ENUM. - CACC - Current - Conta Corrente. -- SLRY - Salary - Conta-Salário. - SVGS - Savings - Conta de Poupança. - TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC -SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; /data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. diff --git a/dictionary/paymentsPostPixPayments_v3.csv b/dictionary/paymentsPostPixPayments_v3.csv index 7eb1ef17b..3d673fae0 100644 --- a/dictionary/paymentsPostPixPayments_v3.csv +++ b/dictionary/paymentsPostPixPayments_v3.csv @@ -175,11 +175,9 @@ conta de domiciliados no exterior, contas em moedas estrangeiras e conta corresp Segue descrição de cada valor do ENUM. - CACC - Current - Conta Corrente. -- SLRY - Salary - Conta-Salário. - SVGS - Savings - Conta de Poupança. - TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC -SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; /data/debtorAccount;debtorAccount;"Objeto que contém a identificação da conta de origem do pagador. @@ -202,11 +200,9 @@ conta de domiciliados no exterior, contas em moedas estrangeiras e conta corresp Segue descrição de cada valor do ENUM. - CACC - Current - Conta Corrente. -- SLRY - Salary - Conta-Salário. - SVGS - Savings - Conta de Poupança. - TRAN - TransactingAccount - Conta de Pagamento pré-paga. ";Texto;;Obrigatório;;"CACC -SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; /data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 7db54a8bf..96aabe718 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -731,7 +731,7 @@ components: payment: $ref: '#/components/schemas/PaymentPix' creditorAccount: - $ref: '#/components/schemas/CreditorAccount' + $ref: '#/components/schemas/PaymentsCreditorAccount' remittanceInformation: type: string maxLength: 140 @@ -856,6 +856,45 @@ components: se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountPaymentsType' + PaymentsCreditorAccount: + 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-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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + number: + type: string + minLength: 1 + maxLength: 20 + pattern: '^[0-9]{1,20}$' + example: '1234567890' + description: | + Deve ser preenchido com o número da conta 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/EnumPaymentsAccountPaymentsType' DebtorAccount: type: object description: | @@ -896,6 +935,46 @@ components: se houver valor alfanumérico, este deve ser convertido para 0. accountType: $ref: '#/components/schemas/EnumAccountPaymentsType' + PaymentsDebtorAccount: + 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-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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + 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/EnumPaymentsAccountPaymentsType' ConsentsDebtorAccount: type: object description: | @@ -1036,6 +1115,22 @@ components: - SLRY - Salary - Conta-Salário. - SVGS - Savings - Conta de Poupança. - TRAN - TransactingAccount - Conta de Pagamento pré-paga. + EnumPaymentsAccountPaymentsType: + 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: @@ -2199,9 +2294,9 @@ components: 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' + $ref: '#/components/schemas/PaymentsCreditorAccount' debtorAccount: - $ref: '#/components/schemas/DebtorAccount' + $ref: '#/components/schemas/PaymentsDebtorAccount' authorizationFlow: type: string enum: @@ -2333,11 +2428,11 @@ components: 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' + $ref: '#/components/schemas/PaymentsCreditorAccount' cancellation: $ref: '#/components/schemas/PixPaymentCancellation' debtorAccount: - $ref: '#/components/schemas/DebtorAccount' + $ref: '#/components/schemas/PaymentsDebtorAccount' authorizationFlow: type: string enum: From 4be56f91a5221bdcaa19c27da3f940346e2e526b Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Mon, 26 Jun 2023 10:49:28 -0300 Subject: [PATCH 38/53] fix(Payments): ORB-2873 - Realizar ajustes - fail --- swagger-apis/payments/3.0.0-beta.1.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 96aabe718..15123de70 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -2593,12 +2593,24 @@ components: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' BadRequestPayments: description: 'Seguir as orientações presentes na descrição da API, subitem 1.2.3' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' BadRequestPixPayments: description: 'Seguir as orientações presentes na descrição da API, subitem 2.1.3.' content: @@ -2712,6 +2724,12 @@ components: 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' UnprocessableEntityConsents: description: 'Seguir as orientações presentes na descrição da API, item 1.3 e seus subitens.' content: From 113f1bef1db7e1af76102b8e2469921043d03af1 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Mon, 26 Jun 2023 11:24:51 -0300 Subject: [PATCH 39/53] fix(Payments): ORB-2715 - PB53 - Remover Enums dos http erros 422 --- swagger-apis/payments/3.0.0-beta.1.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 15123de70..cba42a159 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -497,10 +497,6 @@ components: • SALDO_INSUFICIENTE: Saldo insuficiente. - • BENEFICIARIO_INCOMPATIVEL: Beneficiário incompatível. - - • VALOR_INCOMPATIVEL: Valor da transação incompatível. - • VALOR_ACIMA_LIMITE: Acima do limite estabelecido. • VALOR_INVALIDO: Valor inválido. @@ -509,8 +505,6 @@ components: • CONSENTIMENTO_INVALIDO: Consentimento inválido. - • JANELA_OPER_INVALIDA: Janela de operação inválida. - • PARAMETRO_NAO_INFORMADO: Parâmetro obrigatório não informado. • PARAMETRO_INVALIDO: Parâmetro com valor inválido. @@ -536,10 +530,6 @@ components: • SALDO_INSUFICIENTE: A conta selecionada não possui saldo suficiente para realizar o pagamento. - • BENEFICIARIO_INCOMPATIVEL: O beneficiário informado no consentimento não é o mesmo do esperado pelo DICT. - - • VALOR_INCOMPATIVEL: O valor informado no consentimento não é o mesmo valor do informado no payload de pagamento. - • VALOR_ACIMA_LIMITE: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. • VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. @@ -548,8 +538,6 @@ components: • CONSENTIMENTO_INVALIDO: Consentimento inválido (status diferente de "AUTHORISED" ou está expirado). - • JANELA_OPER_INVALIDA: Requisição está fora da janela de funcionamento. - • PARAMETRO_NAO_INFORMADO: endToEndId • PARAMETRO_INVALIDO: endToEndId From 595155f937e643c8718d12926819d301a0e86627 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Mon, 26 Jun 2023 11:51:58 -0300 Subject: [PATCH 40/53] fix(Payments): ORB-2713 - PB50 - Incluir objeto complexo de rejectionReason em Consent Payments --- dictionary/paymentsGetConsentsConsentId_v3.csv | 6 ++++-- swagger-apis/payments/3.0.0-beta.1.yml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index 4b48b9a18..557cc39b2 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -195,7 +195,8 @@ SVGS TRAN";1;1;"";Não permitido;string;CACC; /data/rejectionReason;rejectionReason;Motivo da rejeição do consentimento. Informações complementares sobre o motivo do status;Objeto;;Opcional;;;0;1;"";Não permitido;object;; /data/rejectionReason/code;code;"Define o código da razão pela qual o consentimento foi rejeitado -- VALOR_INVALIDONAO_INFORMADO +- VALOR_INVALIDO +- NAO_INFORMADO - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. - FALHA_INFRAESTRUTURA_DETENTORA - TEMPO_EXPIRADO_AUTORIZACAO - Consentimento expirou antes que o usuário pudesse confirmá-lo. @@ -206,7 +207,8 @@ TRAN";1;1;"";Não permitido;string;CACC; - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - QRCODE_INVALIDO -";Texto;;Obrigatório;;"VALOR_INVALIDONAO_INFORMADO +";Texto;;Obrigatório;;"VALOR_INVALIDO +NAO_INFORMADO FALHA_INFRAESTRUTURA FALHA_INFRAESTRUTURA_DETENTORA TEMPO_EXPIRADO_AUTORIZACAO diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 15123de70..1fe497c11 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1281,7 +1281,8 @@ components: EnumConsentRejectionReasonType: type: string enum: - - VALOR_INVALIDONAO_INFORMADO + - VALOR_INVALIDO + - NAO_INFORMADO - FALHA_INFRAESTRUTURA - FALHA_INFRAESTRUTURA_DETENTORA - TEMPO_EXPIRADO_AUTORIZACAO @@ -1295,7 +1296,8 @@ components: example: SALDO_INSUFICIENTE description: | Define o código da razão pela qual o consentimento foi rejeitado - - VALOR_INVALIDONAO_INFORMADO + - VALOR_INVALIDO + - NAO_INFORMADO - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. - FALHA_INFRAESTRUTURA_DETENTORA - TEMPO_EXPIRADO_AUTORIZACAO - Consentimento expirou antes que o usuário pudesse confirmá-lo. From 7137edab5568659a76dd2c82ad381f4bc2228fbc Mon Sep 17 00:00:00 2001 From: Andre Ferreira Trindade Date: Tue, 27 Jun 2023 15:42:12 -0300 Subject: [PATCH 41/53] =?UTF-8?q?feat(Payments):=20ORB-2875=20-=20PB69=20-?= =?UTF-8?q?=20Adicionar=20descri=C3=A7=C3=A3o=20ao=20enum=20code=20do=20ob?= =?UTF-8?q?jeto=20RejectionReason?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionary/paymentsGetConsentsConsentId_v3.csv | 2 +- swagger-apis/payments/3.0.0-beta.1.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index 557cc39b2..5b433218d 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -206,7 +206,7 @@ TRAN";1;1;"";Não permitido;string;CACC; - CONTA_NAO_PERMITE_PAGAMENTO - A conta selecionada é do tipo [salario/investimento/liquidação/outros] e não permite realizar esse pagamento. - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. -- QRCODE_INVALIDO +- QRCODE_INVALIDO - O QRCode utilizado para a iniciação de pagamento não é válido. ";Texto;;Obrigatório;;"VALOR_INVALIDO NAO_INFORMADO FALHA_INFRAESTRUTURA diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 9d425d50a..64f68a04c 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1295,7 +1295,7 @@ components: - CONTA_NAO_PERMITE_PAGAMENTO - A conta selecionada é do tipo [salario/investimento/liquidação/outros] e não permite realizar esse pagamento. - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - - QRCODE_INVALIDO + - QRCODE_INVALIDO - O QRCode utilizado para a iniciação de pagamento não é válido. EnumRejectionReasonType: type: string enum: From 1a53326caf1b95bee55f5bb0e69315255a72ea15 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 28 Jun 2023 10:24:00 -0300 Subject: [PATCH 42/53] =?UTF-8?q?fix(Payments):=20ORB-2718=20-=20PB64=20-?= =?UTF-8?q?=20Incluir=20descri=C3=A7=C3=A3o=20de=20campo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../paymentsGetConsentsConsentId_v3.csv | 25 +++++++++++------- swagger-apis/payments/3.0.0-beta.1.yml | 26 ++++++++++++------- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index 5b433218d..c8fd6cf22 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -197,16 +197,15 @@ TRAN";1;1;"";Não permitido;string;CACC; /data/rejectionReason/code;code;"Define o código da razão pela qual o consentimento foi rejeitado - VALOR_INVALIDO - NAO_INFORMADO -- FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. +- FALHA_INFRAESTRUTURA - FALHA_INFRAESTRUTURA_DETENTORA -- TEMPO_EXPIRADO_AUTORIZACAO - Consentimento expirou antes que o usuário pudesse confirmá-lo. +- TEMPO_EXPIRADO_AUTORIZACAO - TEMPO_EXPIRADO_CONSUMO -- 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. -- SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. -- VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. -- QRCODE_INVALIDO - O QRCode utilizado para a iniciação de pagamento não é válido. +- REJEITADO_USUARIO +- CONTAS_ORIGEM_DESTINO_IGUAIS +- CONTA_NAO_PERMITE_PAGAMENTO +- SALDO_INSUFICIENTE +- VALOR_ACIMA_LIMITE ";Texto;;Obrigatório;;"VALOR_INVALIDO NAO_INFORMADO FALHA_INFRAESTRUTURA @@ -219,4 +218,12 @@ CONTA_NAO_PERMITE_PAGAMENTO SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE QRCODE_INVALIDO";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; -/data/rejectionReason/detail;detail;Contém informações adicionais ao consentimento rejeitado.;Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;; +/data/rejectionReason/detail;detail;"Contém informações adicionais ao consentimento rejeitado. +- 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. +- SALDO_INSUFICIENTE: A conta selecionada não possui saldo suficiente para realizar o pagamento. +- VALOR_ACIMA_LIMITE: O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. +";Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;O usuário rejeitou a autorização do consentimento; diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 64f68a04c..06855eec4 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1286,16 +1286,15 @@ components: Define o código da razão pela qual o consentimento foi rejeitado - VALOR_INVALIDO - NAO_INFORMADO - - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. + - FALHA_INFRAESTRUTURA - FALHA_INFRAESTRUTURA_DETENTORA - - TEMPO_EXPIRADO_AUTORIZACAO - Consentimento expirou antes que o usuário pudesse confirmá-lo. + - TEMPO_EXPIRADO_AUTORIZACAO - TEMPO_EXPIRADO_CONSUMO - - 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. - - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. - - VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. - - QRCODE_INVALIDO - O QRCode utilizado para a iniciação de pagamento não é válido. + - REJEITADO_USUARIO + - CONTAS_ORIGEM_DESTINO_IGUAIS + - CONTA_NAO_PERMITE_PAGAMENTO + - SALDO_INSUFICIENTE + - VALOR_ACIMA_LIMITE EnumRejectionReasonType: type: string enum: @@ -1396,7 +1395,16 @@ components: type: string pattern: '[\w\W\s]*' maxLength: 2048 - description: Contém informações adicionais ao consentimento rejeitado. + description: | + Contém informações adicionais ao consentimento rejeitado. + - 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. + - SALDO_INSUFICIENTE: A conta selecionada não possui saldo suficiente para realizar o pagamento. + - VALOR_ACIMA_LIMITE: O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. + example: O usuário rejeitou a autorização do consentimento RejectionReason: type: object description: |- From b7e97068b388c587a61999e43cb92865ce269d6d Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 28 Jun 2023 10:50:38 -0300 Subject: [PATCH 43/53] =?UTF-8?q?fix(Payments):=20ORB-2718=20-=20PB64=20-?= =?UTF-8?q?=20Incluir=20descri=C3=A7=C3=A3o=20de=20campo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionary/paymentsGetConsentsConsentId_v3.csv | 1 + swagger-apis/payments/3.0.0-beta.1.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index c8fd6cf22..8c7811c42 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -206,6 +206,7 @@ TRAN";1;1;"";Não permitido;string;CACC; - CONTA_NAO_PERMITE_PAGAMENTO - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE +- QRCODE_INVALIDO ";Texto;;Obrigatório;;"VALOR_INVALIDO NAO_INFORMADO FALHA_INFRAESTRUTURA diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 06855eec4..9e4f45372 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1295,6 +1295,7 @@ components: - CONTA_NAO_PERMITE_PAGAMENTO - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE + - QRCODE_INVALIDO EnumRejectionReasonType: type: string enum: From 2f48a38e4499a8208e946035e7cd336c881fa13f Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Wed, 28 Jun 2023 14:11:37 -0300 Subject: [PATCH 44/53] fix(Payments): descricao detail de rejectionReason --- dictionary/paymentsGetConsentsConsentId_v3.csv | 1 + swagger-apis/payments/3.0.0-beta.1.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index 8c7811c42..699affe48 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -227,4 +227,5 @@ QRCODE_INVALIDO";1;1;"";Não permitido;string;SALDO_INSUFICIENTE; - CONTA_NAO_PERMITE_PAGAMENTO: A conta selecionada é do tipo [salario/investimento/liquidação/outros] e não permite realizar esse pagamento. - SALDO_INSUFICIENTE: A conta selecionada não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE: O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. +- QRCODE_INVALIDO: O QRCode utilizado para a iniciação de pagamento não é válido. ";Texto;2048;Obrigatório;[\w\W\s]*;;1;1;"";Não permitido;string;O usuário rejeitou a autorização do consentimento; diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 9e4f45372..76ac1ae9e 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1405,6 +1405,7 @@ components: - CONTA_NAO_PERMITE_PAGAMENTO: A conta selecionada é do tipo [salario/investimento/liquidação/outros] e não permite realizar esse pagamento. - SALDO_INSUFICIENTE: A conta selecionada não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE: O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. + - QRCODE_INVALIDO: O QRCode utilizado para a iniciação de pagamento não é válido. example: O usuário rejeitou a autorização do consentimento RejectionReason: type: object From 250caf25a7d4f0bf6ed01d764e58ae00f6ae8bec Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Thu, 29 Jun 2023 16:24:16 -0300 Subject: [PATCH 45/53] feat(Payments): ORB-2880 - PB68 - Atualizar header da API --- swagger-apis/payments/3.0.0-beta.1.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 76ac1ae9e..b808d9579 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -106,7 +106,7 @@ info:  3.1.1 Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (INVALID_CLIENT);  3.1.2 Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED). - 4. **Demais validações executadas durante o processamento assíncrono pela detentora, poderão ser consultados pela iniciadora através do endpoint _GET /pix/payments/{paymentId}_ previstos com retorno HTTP Code 200 – OK com status RJCT (Rejected) e rejectionReason conforme abaixo (detalhamento adicional na documentação técnica da API):** + 4. **Demais validações executadas durante o processamento assíncrono do pagamento pela detentora, poderão ser consultados pela iniciadora através do endpoint _GET /pix/payments/{paymentId}_ previstos com retorno HTTP Code 200 - OK com status RJCT (Rejected) e rejectionReason conforme abaixo (detalhamento adicional na documentação técnica da API):** 4.1 **Demais validações durante processamento assíncrono**  4.1.1 Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE);  4.1.2 Limites da transação: Valida se valor (ou quantidade de transações) ultrapassa faixa de limite parametrizada na detentora (VALOR_ACIMA_LIMITE); @@ -123,6 +123,17 @@ info:  Status do Pagamento: RJCT (Rejected), com as seguintes opções rejectionReason:  • Erro por dados inválidos: Conforme item **4.1.7**;  • Erro por suspeita de fraude: Conforme item **4.1.8**. + + 5. **Demais validações executadas durante o processamento assíncrono do consentimento pela detentora poderão ser consultados pela iniciadora através do endpoint _GET /consents/{consentId}_ previstos com retorno HTTP Code 200 – OK com status REJECTED e rejectionReason conforme abaixo:** + 5.1 **Validações durante o processamento assíncrono** +  5.1.1 - Falha de infraestrutura: Ocorreu algum erro interno na detentora durante processamento da criação do consentimento (FALHA_INFRAESTRUTURA) +  5.1.2 - Tempo de autorização expirado: O usuário não confirmou o consentimento e o mesmo expirou (TEMPO_EXPIRADO_AUTORIZACAO); +  5.1.3 - Rejeitado pelo usuário: O usuário explicitamente rejeitou a autorização do consentimento (REJEITADO_USUARIO); +  5.1.4 - Mesma conta origem/destino: A conta indicada pelo usuário para recebimento é a mesma selecionada para o pagamento (CONTAS_ORIGEM_DESTINO_IGUAIS); +  5.1.5 - Tipo de conta inválida: A conta indicada não permite operações de pagamento (CONTA_NAO_PERMITE_PAGAMENTO); +  5.1.6 - Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE); +  5.1.7 - Limites da transação: Valida se o valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente (VALOR_ACIMA_LIMITE); +  5.1.8 - QRCode inválido: O QRCode utilizado para a iniciação de pagamento não é válido (QRCODE_INVALIDO). version: '3.0.0-beta.1' license: name: Apache 2.0 From c108f16b449929e574e44f6f0a82d6b4feef6ce8 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Thu, 29 Jun 2023 16:26:20 -0300 Subject: [PATCH 46/53] feat(Payments): ORB-2881 - PB72 - Remover enum de rejectionReason de cosnentimento --- dictionary/paymentsGetConsentsConsentId_v3.csv | 2 -- swagger-apis/payments/3.0.0-beta.1.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/dictionary/paymentsGetConsentsConsentId_v3.csv b/dictionary/paymentsGetConsentsConsentId_v3.csv index 699affe48..1403b24d4 100644 --- a/dictionary/paymentsGetConsentsConsentId_v3.csv +++ b/dictionary/paymentsGetConsentsConsentId_v3.csv @@ -198,7 +198,6 @@ TRAN";1;1;"";Não permitido;string;CACC; - VALOR_INVALIDO - NAO_INFORMADO - FALHA_INFRAESTRUTURA -- FALHA_INFRAESTRUTURA_DETENTORA - TEMPO_EXPIRADO_AUTORIZACAO - TEMPO_EXPIRADO_CONSUMO - REJEITADO_USUARIO @@ -210,7 +209,6 @@ TRAN";1;1;"";Não permitido;string;CACC; ";Texto;;Obrigatório;;"VALOR_INVALIDO NAO_INFORMADO FALHA_INFRAESTRUTURA -FALHA_INFRAESTRUTURA_DETENTORA TEMPO_EXPIRADO_AUTORIZACAO TEMPO_EXPIRADO_CONSUMO REJEITADO_USUARIO diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index b808d9579..748a2786a 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1283,7 +1283,6 @@ components: - VALOR_INVALIDO - NAO_INFORMADO - FALHA_INFRAESTRUTURA - - FALHA_INFRAESTRUTURA_DETENTORA - TEMPO_EXPIRADO_AUTORIZACAO - TEMPO_EXPIRADO_CONSUMO - REJEITADO_USUARIO @@ -1298,7 +1297,6 @@ components: - VALOR_INVALIDO - NAO_INFORMADO - FALHA_INFRAESTRUTURA - - FALHA_INFRAESTRUTURA_DETENTORA - TEMPO_EXPIRADO_AUTORIZACAO - TEMPO_EXPIRADO_CONSUMO - REJEITADO_USUARIO From e7a76be4cb7e363d33b0207bc730b21c661ec5d4 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Thu, 29 Jun 2023 16:40:51 -0300 Subject: [PATCH 47/53] feat(Payments): ORB-2896 - SB31 - Adicionar tabela Etapas do funil de consentimento --- swagger-apis/payments/3.0.0-beta.1.yml | 30 +++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 748a2786a..524c3732d 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -133,7 +133,35 @@ info:  5.1.5 - Tipo de conta inválida: A conta indicada não permite operações de pagamento (CONTA_NAO_PERMITE_PAGAMENTO);  5.1.6 - Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE);  5.1.7 - Limites da transação: Valida se o valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente (VALOR_ACIMA_LIMITE); -  5.1.8 - QRCode inválido: O QRCode utilizado para a iniciação de pagamento não é válido (QRCODE_INVALIDO). +  5.1.8 - QRCode inválido: O QRCode utilizado para a iniciação de pagamento não é válido (QRCODE_INVALIDO). + 5.2 **Abaixo segue a tabela com os dados e como ela deve estar no header da API.** + ``` + |----------------------------------|------------------------------| + | Etapas do funil de consentimento | RejectionReason/code | + |----------------------------------|------------------------------| + | Início da autenticação | FALHA_INFRAESTRUTURA | + | | TEMPO_EXPIRADO_AUTORIZACAO | + | | NAO_INFORMADO | + |----------------------------------|------------------------------| + | Conclusão da autenticação | FALHA_INFRAESTRUTURA | + | | TEMPO_EXPIRADO_AUTORIZACAO | + | | REJEITADO_USUARIO | + | | NAO_INFORMADO | + |----------------------------------|------------------------------| + | Autorização do cliente | FALHA_INFRAESTRUTURA | + | | CONTAS_ORIGEM_DESTINO_IGUAIS | + | | CONTA_SALARIO | + | | SALDO_INSUFICIENTE | + | | VALOR_ACIMA_LIMITE | + | | QRCODE_INVALIDO | + | | VALOR_INVALIDO | + | | NAO_INFORMADO | + |----------------------------------|------------------------------| + | Authorisation code emitido | FALHA_INFRAESTRUTURA | + | | TEMPO_EXPIRADO_CONSUMO | + | | NAO_INFORMADO | + |----------------------------------|------------------------------| + ``` version: '3.0.0-beta.1' license: name: Apache 2.0 From 66b046c6d4bbe1c004b312ecc3a7b4179e0a59f3 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 30 Jun 2023 10:05:48 -0300 Subject: [PATCH 48/53] feat(Payments): ORB-2896 - SB31 - Adicionar tabela Etapas do funil de consentimento --- swagger-apis/payments/3.0.0-beta.1.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 524c3732d..2209fc6bf 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -134,7 +134,7 @@ info:  5.1.6 - Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE);  5.1.7 - Limites da transação: Valida se o valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente (VALOR_ACIMA_LIMITE);  5.1.8 - QRCode inválido: O QRCode utilizado para a iniciação de pagamento não é válido (QRCODE_INVALIDO). - 5.2 **Abaixo segue a tabela com os dados e como ela deve estar no header da API.** + 5.2 **Momentos de validação dos rejectionReasons de acordo com o funil de consentimentos.** ``` |----------------------------------|------------------------------| | Etapas do funil de consentimento | RejectionReason/code | From 87eebd8526c2a8a070b332e16b5d6d1ab9e7a83e Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Fri, 30 Jun 2023 10:08:37 -0300 Subject: [PATCH 49/53] feat(Payments): ORB-2897 - SB31 - Atualizar header da API - Melhoria --- swagger-apis/payments/3.0.0-beta.1.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 2209fc6bf..3ceabe88f 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -47,7 +47,8 @@ info: 1. Na criação do consentimento (*POST /consents*); 2. Na criação do pagamento - Síncrono (*POST /payments*); 3. Validações na consulta do pagamento (*GET /pix/payments/{paymentId}*); - 4. Demais validações executadas durante o processamento assíncrono pela detentora (consultadas pela iniciadora através do endpoint *GET /pix/payments/{paymentId}*). + 4. Demais validações executadas durante o processamento assíncrono do pagamento pela detentora, poderão ser consultados pela iniciadora através do endpoint (*GET /pix/payments/{paymentId}*) previstos com retorno HTTP Code 200 - OK com status RJCT (Rejected) e rejectionReason; + 5. Demais validações executadas durante o processamento assíncrono do consentimento pela detentora poderão ser consultados pela iniciadora através do endpoint (*GET /consents/{consentId}*) previstos com retorno HTTP Code 200 – OK com status REJECTED e rejectionReason **Os tipos de validações dispostas abaixo não determinam a ordem em que as instituições devem implementá-las** From 8e435a5ef4a56edc07d277ac4456fdff5334c55e Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Mon, 3 Jul 2023 12:26:52 +0000 Subject: [PATCH 50/53] =?UTF-8?q?feat(Payments):=20ORB-2904=20-=20PB43=20-?= =?UTF-8?q?=20=20Ajustar=20descri=C3=A7=C3=A3o=20de=20campo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionary/paymentsGetPixPaymentsPaymentId_v3.csv | 2 +- dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv | 2 +- dictionary/paymentsPostPixPayments_v3.csv | 2 +- swagger-apis/payments/3.0.0-beta.1.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv index 9c73a2115..309b264ea 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv @@ -110,7 +110,7 @@ SCHD";1;1;"";Não permitido;string;PDNG; - CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. -O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. +O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retrocompatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv index abb14547f..a50d7a82c 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv @@ -110,7 +110,7 @@ SCHD";1;1;"";Não permitido;string;PDNG; - CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. -O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. +O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retrocompatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/dictionary/paymentsPostPixPayments_v3.csv b/dictionary/paymentsPostPixPayments_v3.csv index 3d673fae0..cde0879f5 100644 --- a/dictionary/paymentsPostPixPayments_v3.csv +++ b/dictionary/paymentsPostPixPayments_v3.csv @@ -110,7 +110,7 @@ SCHD";1;1;"";Não permitido;string;PDNG; - CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. -O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. +O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retrocompatibilidade e integridade entre os participantes. ";Texto;;Obrigatório;;"SALDO_INSUFICIENTE VALOR_ACIMA_LIMITE VALOR_INVALIDO diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 3ceabe88f..378bd7a4e 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -1389,7 +1389,7 @@ components: - CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. - O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retro compatibilidade e integridade entre os participantes. + O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retrocompatibilidade e integridade entre os participantes. EnumPaymentCancellationReasonType: type: string enum: From e7e9d1dbf7d4f5371cc0db8e368742d97313e9d2 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Mon, 3 Jul 2023 17:09:42 -0300 Subject: [PATCH 51/53] feat(Payments): ORB-2903 - SB31 - Ajuste na Tabela do header da API --- swagger-apis/payments/3.0.0-beta.1.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 378bd7a4e..545d9ea56 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -138,7 +138,7 @@ info: 5.2 **Momentos de validação dos rejectionReasons de acordo com o funil de consentimentos.** ``` |----------------------------------|------------------------------| - | Etapas do funil de consentimento | RejectionReason/code | + | Etapas do funil de consentimento | rejectionReason/code | |----------------------------------|------------------------------| | Início da autenticação | FALHA_INFRAESTRUTURA | | | TEMPO_EXPIRADO_AUTORIZACAO | From 94518f7edcc535ad8982cff36499e682461d2975 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Tue, 4 Jul 2023 14:16:25 -0300 Subject: [PATCH 52/53] feat(Payments): ORB-2918 - SB34 - Remover campo de endpoint e alterar nome de campo --- .../paymentsGetPixPaymentsPaymentId_v3.csv | 2 +- .../paymentsPatchPixPaymentsPaymentId_v3.csv | 2 +- dictionary/paymentsPostPixPayments_v3.csv | 2 +- swagger-apis/payments/3.0.0-beta.1.yml | 18 ++++-------------- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv index 309b264ea..4288d8359 100644 --- a/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsGetPixPaymentsPaymentId_v3.csv @@ -236,7 +236,7 @@ Segue descrição de cada valor do ENUM. ";Texto;;Obrigatório;;"CACC SVGS TRAN";1;1;"";Não permitido;string;CACC; -/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. +/data/authorisationFlow;authorisationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. ";Texto;;Condicional;;"HYBRID_FLOW diff --git a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv index a50d7a82c..6bc9db843 100644 --- a/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv +++ b/dictionary/paymentsPatchPixPaymentsPaymentId_v3.csv @@ -237,7 +237,7 @@ Segue descrição de cada valor do ENUM. SLRY SVGS TRAN";1;1;"";Não permitido;string;CACC; -/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. +/data/authorisationFlow;authorisationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. ";Texto;;Condicional;;"HYBRID_FLOW diff --git a/dictionary/paymentsPostPixPayments_v3.csv b/dictionary/paymentsPostPixPayments_v3.csv index cde0879f5..255deed8c 100644 --- a/dictionary/paymentsPostPixPayments_v3.csv +++ b/dictionary/paymentsPostPixPayments_v3.csv @@ -205,7 +205,7 @@ Segue descrição de cada valor do ENUM. ";Texto;;Obrigatório;;"CACC SVGS TRAN";1;1;"";Não permitido;string;CACC; -/data/authorizationFlow;authorizationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. +/data/authorisationFlow;authorisationFlow;"Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. ";Texto;;Condicional;;"HYBRID_FLOW diff --git a/swagger-apis/payments/3.0.0-beta.1.yml b/swagger-apis/payments/3.0.0-beta.1.yml index 545d9ea56..299d8c4c9 100644 --- a/swagger-apis/payments/3.0.0-beta.1.yml +++ b/swagger-apis/payments/3.0.0-beta.1.yml @@ -835,7 +835,7 @@ components: O campo ibgetowncode no arranjo PIX, tem o mesmo comportamento que o campo codMun descrito no item 1.6.6 do manual do PIX, conforme segue: 1. 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; - authorizationFlow: + authorisationFlow: type: string enum: - HYBRID_FLOW @@ -1667,16 +1667,6 @@ components: description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. example: CPF pattern: '^[A-Z]{3}$' - authorizationFlow: - type: string - enum: - - HYBRID_FLOW - - CIBA_FLOW - example: HYBRID_FLOW - description: | - Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. - - [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. PatchPixPaymentCancellation: type: object description: | @@ -2174,7 +2164,7 @@ components: $ref: '#/components/schemas/PatchPixPaymentCancellation' debtorAccount: $ref: '#/components/schemas/DebtorAccount' - authorizationFlow: + authorisationFlow: type: string enum: - HYBRID_FLOW @@ -2335,7 +2325,7 @@ components: $ref: '#/components/schemas/PaymentsCreditorAccount' debtorAccount: $ref: '#/components/schemas/PaymentsDebtorAccount' - authorizationFlow: + authorisationFlow: type: string enum: - HYBRID_FLOW @@ -2471,7 +2461,7 @@ components: $ref: '#/components/schemas/PixPaymentCancellation' debtorAccount: $ref: '#/components/schemas/PaymentsDebtorAccount' - authorizationFlow: + authorisationFlow: type: string enum: - HYBRID_FLOW From bbc446e24ca3bdbaadc9af4ef5436b58712c38c8 Mon Sep 17 00:00:00 2001 From: FelipeBaumgartel Date: Tue, 4 Jul 2023 14:37:32 -0300 Subject: [PATCH 53/53] =?UTF-8?q?feat(Payments):=20ORB-2906=20-=20PB54=20-?= =?UTF-8?q?=20Criar=20vers=C3=A3o=20Major=203.0.0-beta.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swagger-apis/payments/3.0.0-beta.2.yml | 2888 ++++++++++++++++++++++++ swagger-apis/payments/index.html | 5 +- 2 files changed, 2891 insertions(+), 2 deletions(-) create mode 100644 swagger-apis/payments/3.0.0-beta.2.yml diff --git a/swagger-apis/payments/3.0.0-beta.2.yml b/swagger-apis/payments/3.0.0-beta.2.yml new file mode 100644 index 000000000..6628c1d09 --- /dev/null +++ b/swagger-apis/payments/3.0.0-beta.2.yml @@ -0,0 +1,2888 @@ +openapi: 3.0.0 +info: + title: API Payment Initiation - Open Finance Brasil + description: | + API de Iniciação de Pagamentos, responsável por viabilizar as operações de iniciação de pagamentos 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 + No diretório de participantes duas `Roles` estão relacionadas à presente API: + - `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 `payments` e os `endpoints` de pagamentos devem possuir os `scopes`, `openid` e `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. + + ## Regras do arranjo Pix + A implementação e o uso da API de Pagamentos Pix devem seguir as regras do arranjo Pix do Banco Central, que podem ser encontradas no link abaixo: + [https://www.bcb.gov.br/estabilidadefinanceira/pix?modalAberto=regulamentacao_pix](https://www.bcb.gov.br/estabilidadefinanceira/pix?modalAberto=regulamentacao_pix) + + ## Assinatura de payloads + + No contexto da API Payment Initiation, 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: + + - Certificados exigidos para assinatura de mensagens: + [Padrões de certificados digitais Open Finance Brasil](https://github.com/OpenBanking-Brasil/specs-seguranca/blob/main/open-banking-brasil-certificate-standards-1_ID1.md#certificado-de-assinatura-certificadoassinatura) + + - Como assinar o payload JWS: [https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/18055279/Como+Assinar+o+Payload+-+v2.0.0-rc1.0+-+Pagamentos](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/18055279/Como+Assinar+o+Payload+-+v2.0.0-rc1.0+-+Pagamentos) + + ## Controle de acesso + + O endpoint de consulta de pagamento GET /pix/payments/{​​​paymentId}​​​ deve 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. + + Para o caso de QR Code estático e dinâmico a detentora deverá obrigatoriamente realizar validações sobre o conteúdo dos campos recebidos. Entretanto, a escolha do momento desta validação na criação do consentimento ou no pagamento, fica a cargo da detentora. + + ## Aprovações de múltipla alçada + + Para o caso de Pix imediato, todas as aprovações necessárias devem ser realizadas nos canais da detentora até às 23:59 (horário de Brasília) da data de solicitação do pagamento. + Já para o caso de Pix agendado, todas as aprovações devem ser realizadas até a data/hora limite suportada pela detentora. + + ## Validações + **Validações** (*após o processo de DCR e obtenção de token client credential*– não escopo dessa documentação) + 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. Na criação do consentimento (*POST /consents*); + 2. Na criação do pagamento - Síncrono (*POST /payments*); + 3. Validações na consulta do pagamento (*GET /pix/payments/{paymentId}*); + 4. Demais validações executadas durante o processamento assíncrono do pagamento pela detentora, poderão ser consultados pela iniciadora através do endpoint (*GET /pix/payments/{paymentId}*) previstos com retorno HTTP Code 200 - OK com status RJCT (Rejected) e rejectionReason; + 5. Demais validações executadas durante o processamento assíncrono do consentimento pela detentora poderão ser consultados pela iniciadora através do endpoint (*GET /consents/{consentId}*) previstos com retorno HTTP Code 200 – OK com status REJECTED e rejectionReason + + **Os tipos de validações dispostas abaixo não determinam a ordem em que as instituições devem implementá-las** + + 1. **Validações na criação do consentimento (_POST /consents_)** + 1.1 **Orientações Iniciais** +  1.1.1 Não devem ser retornadas informações associadas ao usuário/cliente (ex. insuficiência de saldo, conta inexistente/bloqueada), uma vez que o cliente ainda não autorizou o consentimento / consumo de seus dados para o pagamento. +  1.1.2 Não devem ser executadas validações no DICT (Diretório de Identificadores de Contas Transacionais do Pix), a partir dos dados compartilhados nesse *endpoint*. Tais validações podem ocorrer somente na criação do pagamento; + 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 são 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 Forma de pagamento: Valida se a forma de pagamento é suportada pela detentora (FORMA_PAGAMENTO_INVALIDA) **Obs. No detalhe do erro, a variável “modalidade” deve ser comunicada pela detentora da forma mais clara possível - ex. modalidade de pagamento não suportada (_localInstrument_ - QRES) ou tipo de arranjo pagamento não suportado (_type_ – ex. Pix / TED – previsto para inclusão futura);** +  1.3.2.2 Data de pagamento: Valida se a data de pagamento enviada é válida para a forma de pagamento selecionada (DATA_PAGAMENTO_INVALIDA); +  1.3.2.3 Detalhes do pagamento: Valida se determinado parâmetro informado obedece às regras de negócio (DETALHE_PAGAMENTO_INVALIDO); +  1.3.2.4 Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO); +  1.3.2.5 Idempotência: Valida se há divergência entre chave de idempotência e informações enviadas (ERRO_IDEMPOTENCIA). + + 2. **Validações na criação do pagamento - Síncrono (_POST /payments_)** + 2.1 **Casos de erro relacionados às permissões de segurança para acesso à API (ex. certificado, access_token, jwt, assinatura)** +  2.1.1 Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (INVALID_CLIENT); +  2.1.2 Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED); +  2.1.3 Validação de assinatura da mensagem: Valida se assinatura das mensagens enviadas está correta – HTTP Code 400 (BAD_SIGNATURE); +  2.1.4 Validação de Claims (exceto data); +  2.1.4.1 Valida se dados (aud, iss, iat e jti) são válidos - HTTP status code 403 – (INVALID_CLIENT); +  2.1.4.2 Valida reuso de jti - HTTP Code 403 (INVALID_CLIENT). + 2.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):** +  2.2.1 **Sintáticos** +  2.3.1.1 Envio de campos obrigatórios: Valida se todos os campos obrigatórios são informados (PARAMETRO_NAO_INFORMADO); +  2.3.1.2 Formatação de parâmetros: Valida se parâmetros informados obedecem a formatação especificada (PARAMETRO_INVALIDO). +  2.2.2 **Semânticos** +  2.2.2.1 Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE); +  2.2.2.2 Limites da transação: Valida se valor (ou quantidade de transações) ultrapassa faixa de limite parametrizada na detentora (VALOR_ACIMA_LIMITE); +  2.2.2.3 Valor informado (QR Code): Valida se valor enviado é válido para o QR Code informado (VALOR_INVALIDO); +  2.2.2.4 Cobrança inválida: Valida expiração, vencimento e status (COBRANCA_INVALIDA); +  2.2.2.5 Status Consentimento: Valida se status de consentimento é diferente de “AUTHORISED” (CONSENTIMENTO_INVALIDO); +  2.2.2.6 Divergência entre pagamento e consentimento: Valida se dados do pagamento são diferentes dos dados do consentimento (PAGAMENTO_DIVERGENTE_CONSENTIMENTO) +  2.2.2.7 Recusado pela detentora: Valida se pagamento foi recusado pela detentora (PAGAMENTO_RECUSADO_DETENTORA), com a descrição do motivo de recusa (ex. chave Pix inválida, QRCode inválido, conta bloqueada); +  2.2.2.8 Detalhes do pagamento: Valida se determinado parâmetro informado obedece às regras de negócio (DETALHE_PAGAMENTO_INVALIDO); +  2.2.2.9 Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO); +  2.2.2.10 Idempotência: Valida se há divergência entre chave de idempotência e informações enviadas (ERRO_IDEMPOTENCIA). + 2.3 **Casos de erro para validações síncronas no DICT** +  Nesse cenário, o pagamento não é criado, porém o consentimento deve ser alterado para o status CONSUMED Retorno esperado do endpoint POST/Payments: HTTP Code 422 - Unprocessable Entity: +  • Erro por dados inválidos: Conforme item **2.2.2.8** +  • Erro por suspeita de fraude: Conforme item **2.2.2.9** + + 3. **Validações na consulta do pagamento (_GET /pix/payments/{paymentId}_)** + 3.1 **Casos de erro relacionados às permissões de segurança para acesso à API (ex. certificado, access_token)** +  3.1.1 Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (INVALID_CLIENT); +  3.1.2 Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (UNAUTHORIZED). + + 4. **Demais validações executadas durante o processamento assíncrono do pagamento pela detentora, poderão ser consultados pela iniciadora através do endpoint _GET /pix/payments/{paymentId}_ previstos com retorno HTTP Code 200 - OK com status RJCT (Rejected) e rejectionReason conforme abaixo (detalhamento adicional na documentação técnica da API):** + 4.1 **Demais validações durante processamento assíncrono** +  4.1.1 Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE); +  4.1.2 Limites da transação: Valida se valor (ou quantidade de transações) ultrapassa faixa de limite parametrizada na detentora (VALOR_ACIMA_LIMITE); +  4.1.3 Valor informado (QR Code): Valida se valor enviado é válido para o QR Code informado (VALOR_INVALIDO); +  4.1.4 Cobrança inválida: Valida expiração, vencimento e status (COBRANCA_INVALIDA); +  4.1.5 Divergência entre pagamento e consentimento: Valida se dados do pagamento são diferentes dos dados do consentimento (PAGAMENTO_DIVERGENTE_CONSENTIMENTO); +  4.1.6 Recusado pela detentora: Valida se pagamento foi recusado pela detentora (PAGAMENTO_RECUSADO_DETENTORA), com a descrição do motivo de recusa (ex. chave Pix inválida, QRCode inválido, conta bloqueada); +  4.1.7 Detalhes do pagamento: Valida se determinado parâmetro informado obedece às regras de negócio (DETALHE_PAGAMENTO_INVALIDO); +  4.1.8 Demais validações não explicitamente informadas (ex. suspeita de fraude): (NAO_INFORMADO); +  4.1.9 Validação SPI: Externaliza validações no SPI (PAGAMENTO_RECUSADO_SPI); + 4.2 **Casos de erro para validações assíncronas no DICT** +  Neste cenário o pagamento é criado com sucesso (status RCVD) e o consentimento é consumido (status CONSUMED), porém, as validações contra o DICT só ocorrerão de forma assíncrona e em caso de negativa será percebido pela iniciadora na consulta do pagamento (GET /Payments). +  Retorno esperado do endpoint GET /Payments: HTTP Code 200 - OK. +  Status do Pagamento: RJCT (Rejected), com as seguintes opções rejectionReason: +  • Erro por dados inválidos: Conforme item **4.1.7**; +  • Erro por suspeita de fraude: Conforme item **4.1.8**. + + 5. **Demais validações executadas durante o processamento assíncrono do consentimento pela detentora poderão ser consultados pela iniciadora através do endpoint _GET /consents/{consentId}_ previstos com retorno HTTP Code 200 – OK com status REJECTED e rejectionReason conforme abaixo:** + 5.1 **Validações durante o processamento assíncrono** +  5.1.1 - Falha de infraestrutura: Ocorreu algum erro interno na detentora durante processamento da criação do consentimento (FALHA_INFRAESTRUTURA) +  5.1.2 - Tempo de autorização expirado: O usuário não confirmou o consentimento e o mesmo expirou (TEMPO_EXPIRADO_AUTORIZACAO); +  5.1.3 - Rejeitado pelo usuário: O usuário explicitamente rejeitou a autorização do consentimento (REJEITADO_USUARIO); +  5.1.4 - Mesma conta origem/destino: A conta indicada pelo usuário para recebimento é a mesma selecionada para o pagamento (CONTAS_ORIGEM_DESTINO_IGUAIS); +  5.1.5 - Tipo de conta inválida: A conta indicada não permite operações de pagamento (CONTA_NAO_PERMITE_PAGAMENTO); +  5.1.6 - Saldo do usuário: Valida se a conta selecionada possui saldo suficiente para realizar o pagamento (SALDO_INSUFICIENTE); +  5.1.7 - Limites da transação: Valida se o valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente (VALOR_ACIMA_LIMITE); +  5.1.8 - QRCode inválido: O QRCode utilizado para a iniciação de pagamento não é válido (QRCODE_INVALIDO). + 5.2 **Momentos de validação dos rejectionReasons de acordo com o funil de consentimentos.** + ``` + |----------------------------------|------------------------------| + | Etapas do funil de consentimento | rejectionReason/code | + |----------------------------------|------------------------------| + | Início da autenticação | FALHA_INFRAESTRUTURA | + | | TEMPO_EXPIRADO_AUTORIZACAO | + | | NAO_INFORMADO | + |----------------------------------|------------------------------| + | Conclusão da autenticação | FALHA_INFRAESTRUTURA | + | | TEMPO_EXPIRADO_AUTORIZACAO | + | | REJEITADO_USUARIO | + | | NAO_INFORMADO | + |----------------------------------|------------------------------| + | Autorização do cliente | FALHA_INFRAESTRUTURA | + | | CONTAS_ORIGEM_DESTINO_IGUAIS | + | | CONTA_SALARIO | + | | SALDO_INSUFICIENTE | + | | VALOR_ACIMA_LIMITE | + | | QRCODE_INVALIDO | + | | VALOR_INVALIDO | + | | NAO_INFORMADO | + |----------------------------------|------------------------------| + | Authorisation code emitido | FALHA_INFRAESTRUTURA | + | | TEMPO_EXPIRADO_CONSUMO | + | | NAO_INFORMADO | + |----------------------------------|------------------------------| + ``` + version: '3.0.0-beta.2' + 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/payments/v2' + description: Servidor de Produção + - url: 'https://apih.banco.com.br/open-banking/payments/v2' + description: Servidor de Homologação +tags: + - name: Pagamentos +paths: + /consents: + post: + tags: + - Pagamentos + summary: Criar consentimento para a iniciação de pagamento. + operationId: paymentsPostConsents + description: Método de criação do consentimento para a iniciação de pagamento. + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/XIdempotencyKey' + requestBody: + content: + application/jwt: + schema: + $ref: '#/components/schemas/CreatePaymentConsent' + description: Payload para criação do consentimento para iniciação do pagamento. + required: true + responses: + '201': + $ref: '#/components/responses/201PaymentsConsentsConsentCreated' + '400': + $ref: '#/components/responses/BadRequestPayments' + '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' + '415': + $ref: '#/components/responses/UnsupportedMediaType' + '422': + $ref: '#/components/responses/UnprocessableEntityConsents' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2ClientCredentials: + - payments + '/consents/{consentId}': + get: + tags: + - Pagamentos + summary: Consultar consentimento para iniciação de pagamento. + operationId: paymentsGetConsentsConsentId + description: Método para consulta do consentimento para a iniciação de pagamento. + parameters: + - $ref: '#/components/parameters/consentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + responses: + '200': + $ref: '#/components/responses/200PaymentsConsentsConsentIdRead' + '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' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2ClientCredentials: + - payments + /pix/payments: + post: + tags: + - Pagamentos + summary: Criar iniciação de pagamento. + operationId: paymentsPostPixPayments + description: Método para criar uma iniciação de pagamento. + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/XIdempotencyKey' + requestBody: + content: + application/jwt: + schema: + $ref: '#/components/schemas/CreatePixPayment' + description: Payload para criação da iniciação do pagamento Pix. + required: true + responses: + '201': + $ref: '#/components/responses/201PaymentsInitiationPixPaymentCreated' + '400': + $ref: '#/components/responses/BadRequestPixPayments' + '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' + '415': + $ref: '#/components/responses/UnsupportedMediaType' + '422': + $ref: '#/components/responses/UnprocessableEntityPixPayment' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2AuthorizationCode: + - openid + - 'consent:consentId' + - payments + '/pix/payments/{paymentId}': + get: + tags: + - Pagamentos + summary: Consultar iniciação de pagamento. + operationId: paymentsGetPixPaymentsPaymentId + description: Método para consultar uma iniciação de pagamento. + parameters: + - $ref: '#/components/parameters/paymentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + responses: + '200': + $ref: '#/components/responses/200PaymentsInitiationPixPaymentIdRead' + '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' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2ClientCredentials: + - payments + patch: + tags: + - Pagamentos + summary: Cancelar iniciação de pagamento. + operationId: paymentsPatchPixPaymentsPaymentId + description: | + + Esse endpoint deve ser usado para cancelar, a pedido do cliente pagador, as transações que estejam em uma das seguintes situações: Agendada com sucesso (SCHD), retida para análise (PDNG) ou aguardando autorização de múltiplas alçadas (PATC). + + - 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/PATC 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. + + O cancelamento de pagamento agendado (SCHD) pode ser enviado até 23:59 (Horário de Brasília) do dia anterior à data de efetivação do pagamento. + parameters: + - $ref: '#/components/parameters/paymentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + requestBody: + content: + application/jwt: + schema: + $ref: '#/components/schemas/PatchPixPayment' + description: Payload para cancelamento do pagamento. + required: true + responses: + '200': + $ref: '#/components/responses/200PatchPixPayments' + '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/UnprocessableEntityPixPayments' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + description: Erro inesperado. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseError' + security: + - OAuth2ClientCredentials: + - payments +components: + schemas: + 422ResponseErrorCreateConsent: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 3 + items: + type: object + required: + - code + - title + - detail + properties: + code: + type: string + enum: + - FORMA_PAGAMENTO_INVALIDA + - DATA_PAGAMENTO_INVALIDA + - DETALHE_PAGAMENTO_INVALIDO + - PARAMETRO_NAO_INFORMADO + - PARAMETRO_INVALIDO + - ERRO_IDEMPOTENCIA + - NAO_INFORMADO + example: FORMA_PAGAMENTO_INVALIDA + description: | + Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento inválida. + • 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. + 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: + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento inválida. + • 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. + 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: + • FORMA_PAGAMENTO_INVALIDA: Forma de pagamento [Modalidade] não suportada. + • 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. + meta: + $ref: '#/components/schemas/Meta' + 422ResponseErrorCreatePixPayments: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 9 + items: + type: object + required: + - code + - title + - detail + properties: + code: + $ref: '#/components/schemas/EnumErrorsCreatePayment' + 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: Saldo insuficiente. + + • VALOR_ACIMA_LIMITE: Acima do limite estabelecido. + + • VALOR_INVALIDO: Valor inválido. + + • COBRANCA_INVALIDA: Cobrança inválida. + + • CONSENTIMENTO_INVALIDO: Consentimento inválido. + + • PARAMETRO_NAO_INFORMADO: Parâmetro obrigatório não informado. + + • PARAMETRO_INVALIDO: Parâmetro com valor inválido. + + • NAO_INFORMADO: Não informado. + + • PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Divergência entre pagamento e 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. + 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: A conta selecionada não possui saldo suficiente para realizar o pagamento. + + • VALOR_ACIMA_LIMITE: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + + • VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. + + • COBRANCA_INVALIDA: Validação de expiração, validação de vencimento ou Status Válido. + + • CONSENTIMENTO_INVALIDO: Consentimento inválido (status diferente de "AUTHORISED" ou está expirado). + + • PARAMETRO_NAO_INFORMADO: endToEndId + + • PARAMETRO_INVALIDO: endToEndId + + • NAO_INFORMADO: Não reportado/identificado pela instituição detentora de conta. + + • PAGAMENTO_DIVERGENTE_CONSENTIMENTO: Dados do pagamento divergentes dos dados do consentimento. + + • DETALHE_PAGAMENTO_INVALIDO: Parâmetro [nome_campo] não obedece às regras de negócio. + + • PAGAMENTO_RECUSADO_DETENTORA: [descrição do motivo de recusa]. + + • PAGAMENTO_RECUSADO_SPI: [código de erro conforme tabela de domínios reason PACS.002]. + + • ERRO_IDEMPOTENCIA: Conteúdo da mensagem (claim data) diverge do conteúdo associado a esta chave de idempotência (x-idempotency-key). + meta: + $ref: '#/components/schemas/Meta' + 422ResponseErrorCreatePixPayment: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 9 + items: + type: object + required: + - code + - title + - detail + properties: + code: + $ref: '#/components/schemas/EnumErrorsCreatePixPayment' + title: + type: string + maxLength: 255 + pattern: '[\w\W\s]*' + example: Pagamento não permite cancelamento. + description: | + Título específico do erro reportado, de acordo com o código enviado: + + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento + detail: + type: string + maxLength: 2048 + pattern: '[\w\W\s]*' + example: Pagamento não permite cancelamento. + description: | + Descrição específica do erro de acordo com o código reportado: + + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento + 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: '^\d{14}$' + rel: + type: string + maxLength: 4 + description: Tipo do documento de identificação oficial do titular pessoa jurídica. + example: CNPJ + pattern: '^[A-Z]{4}$' + CreatePaymentConsent: + 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 + - creditor + - payment + properties: + loggedUser: + $ref: '#/components/schemas/LoggedUser' + businessEntity: + $ref: '#/components/schemas/BusinessEntity' + creditor: + $ref: '#/components/schemas/Identification' + payment: + type: object + description: Objeto contendo dados de pagamento para consentimento. + required: + - type + - currency + - amount + - details + properties: + type: + $ref: '#/components/schemas/EnumPaymentType' + schedule: + oneOf: + - $ref: '#/components/schemas/Schedule' + 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: | + [Restrição] Mutuamente excludente com o objeto schedule. + + Este campo é obrigatório no caso de pagamento único. + + Neste caso, o objeto schedule não deve ser informado. + 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. O valor deve ser o mesmo enviado no consentimento. + + Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. + Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. + 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, conforme segue: + + 1. 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; + details: + $ref: '#/components/schemas/Details' + debtorAccount: + $ref: '#/components/schemas/DebtorAccount' + CreatePixPayment: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/CreatePixPaymentData' + CreatePixPaymentData: + type: object + description: Objeto contendo dados do pagamento e do recebedor (creditor). + required: + - endToEndId + - localInstrument + - payment + - creditorAccount + - cnpjInitiator + properties: + endToEndId: + $ref: '#/components/schemas/EndToEndIdWithoutRestriction' + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + payment: + $ref: '#/components/schemas/PaymentPix' + creditorAccount: + $ref: '#/components/schemas/PaymentsCreditorAccount' + 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. + qrCode: + type: string + maxLength: 512 + pattern: '[\w\W\s]*' + example: | + 00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012 + BR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062 + 530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB + CD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76 + description: | + Sequência de caracteres que corresponde ao QR Code disponibilizado para o pagador. + É a sequência de caracteres que seria lida pelo leitor de QR Code, e deve propiciar o retorno dos dados do pagador após consulta na DICT. + Essa funcionalidade é possível tanto para QR Code estático quanto para QR Code dinâmico. + No arranjo do Pix esta é a mesma sequência gerada e/ou lida pela funcionalidade Pix Copia e Cola. + Este campo deverá ser no formato UTF-8. + [Restrição] Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes. + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. + cnpjInitiator: + type: string + pattern: '^\d{14}$' + maxLength: 14 + example: '50685362000135' + description: CNPJ do Iniciador de Pagamento devidamente habilitado para a prestação de Serviço de Iniciação no Pix. + 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]). + – QRES - Caso o QR Code estático possua o dado <TxId> preenchido, o campo transactionIdentification deverá ser preenchido com este valor, caso o QR Code não possua o <TxId> o campo transactionIdentification não deverá ser preenchido. O <TxId> deve conter até 25 caracteres alfanuméricos ([a-z|A-Z|0-9]). + – QRDN - Será obrigatório seu preenchimento com o <TxId> do payload JSON do QR Code dinâmico. O <TxId> deve conter entre 26 e 35 caracteres alfanuméricos ([a-z|A-Z|0-9]). + + A detentora de conta deve validar se a condicionalidade e o formato do campo foram atendidas pela iniciadora de pagamento. + 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, conforme segue: + + 1. 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 + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. + CreditorAccount: + 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-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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + number: + type: string + minLength: 1 + maxLength: 20 + pattern: '^[0-9]{1,20}$' + example: '1234567890' + description: | + Deve ser preenchido com o número da conta 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/EnumAccountPaymentsType' + PaymentsCreditorAccount: + 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-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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + number: + type: string + minLength: 1 + maxLength: 20 + pattern: '^[0-9]{1,20}$' + example: '1234567890' + description: | + Deve ser preenchido com o número da conta 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/EnumPaymentsAccountPaymentsType' + 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-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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + 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/EnumAccountPaymentsType' + PaymentsDebtorAccount: + 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-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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + 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/EnumPaymentsAccountPaymentsType' + ConsentsDebtorAccount: + 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. + No caso em que o cliente não preenche os dados na iniciadora, a detentora deverá persistir as informações da conta selecionada seguindo as condições abaixo. + + [Restrição] + - AUTHORISED e CONSUMED: Para esses dois status, o preenchimento do campo deverá ser obrigatório. + - REJECTED: Para este status o preenchimento é condicional, dado que há cenários em que a detentora também não terá conhecimento da conta origem, pois a mesma não foi selecionada pelo usuário. Nos casos em que houver seleção, a conta deve ser preenchida obrigatoriamente. + 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), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO). + 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/EnumAccountPaymentsType' + Details: + type: object + description: | + Objeto contendo os detalhes do pagamento. + required: + - localInstrument + - creditorAccount + properties: + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + qrCode: + type: string + maxLength: 512 + pattern: '[\w\W\s]*' + example: | + 00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012 + BR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062 + 530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB + CD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76 + description: | + Sequência de caracteres que corresponde ao QR Code disponibilizado para o pagador. + É a sequência de caracteres que seria lida pelo leitor de QR Code, e deve propiciar o retorno dos dados do pagador após consulta na DICT. + Essa funcionalidade é possível tanto para QR Code estático quanto para QR Code dinâmico. + No arranjo do Pix esta é a mesma sequência gerada e/ou lida pela funcionalidade Pix Copia e Cola. + Este campo deverá ser no formato UTF-8. + [Restrição] Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes. + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] + Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. + Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave Pix. + creditorAccount: + $ref: '#/components/schemas/CreditorAccount' + EndToEndId: + type: string + minLength: 32 + maxLength: 32 + pattern: '^([E])([0-9]{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: E9040088820210128000800123873170 + 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. + EndToEndIdWithoutRestriction: + type: string + minLength: 32 + maxLength: 32 + pattern: '^([E])([0-9]{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: E9040088820210128000800123873170 + 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 – sequencial criado 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. + + No caso de Pix agendamento, a iniciadora deverá, no que tange a 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. + EnumAccountPaymentsType: + type: string + enum: + - CACC + - SLRY + - 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. + - SLRY - Salary - Conta-Salário. + - SVGS - Savings - Conta de Poupança. + - TRAN - TransactingAccount - Conta de Pagamento pré-paga. + EnumPaymentsAccountPaymentsType: + 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 + - AUTHORISED + - REJECTED + - CONSUMED + example: AWAITING_AUTHORISATION + description: | + Retorna o estado do consentimento, o qual no momento de sua criação será AWAITING_AUTHORISATION. + Este estado será alterado depois da autorização do consentimento na detentora da conta do pagador (Debtor) para AUTHORISED ou REJECTED. + O consentimento fica no estado CONSUMED após ocorrer a iniciação do pagamento referente ao consentimento. + Em caso de consentimento expirado a detentora deverá retornar o status REJECTED. + Estados possíveis: + AWAITING_AUTHORISATION - Aguardando autorização + AUTHORISED - Autorizado + REJECTED - Rejeitado + CONSUMED - Consumido + EnumErrorsCreatePixPayment: + type: string + enum: + - PAGAMENTO_NAO_PERMITE_CANCELAMENTO + example: PAGAMENTO_NAO_PERMITE_CANCELAMENTO + description: | + Códigos de erros previstos na criação da iniciação de pagamento: + + • PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento + EnumErrorsCreatePayment: + type: string + enum: + - SALDO_INSUFICIENTE + - VALOR_ACIMA_LIMITE + - VALOR_INVALIDO + - COBRANCA_INVALIDA + - CONSENTIMENTO_INVALIDO + - PARAMETRO_NAO_INFORMADO + - PARAMETRO_INVALIDO + - NAO_INFORMADO + - PAGAMENTO_DIVERGENTE_CONSENTIMENTO + - DETALHE_PAGAMENTO_INVALIDO + - PAGAMENTO_RECUSADO_DETENTORA + - PAGAMENTO_RECUSADO_SPI + - ERRO_IDEMPOTENCIA + 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: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente. + + • VALOR_INVALIDO: O valor enviado não é válido para o QR Code informado. + + • COBRANCA_INVALIDA: Validação de expiração, validação de vencimento, Status Válido. + + • CONSENTIMENTO_INVALIDO: Consentimento inválido (status não é "authorised" ou está expirado). + + • 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. + EnumLocalInstrument: + type: string + enum: + - MANU + - DICT + - QRDN + - QRES + - INIC + example: DICT + 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 + - QRDN - QR code dinâmico + - QRES - QR code estático + - 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. + EnumPaymentCancellationStatusType: + type: string + enum: + - CANC + example: CANC + description: | + Utilizado para informar para qual estado deve ir o pagamento. + Atualmente o único valor possível é CANC. + EnumPaymentPersonType: + type: string + enum: + - PESSOA_NATURAL + - PESSOA_JURIDICA + description: | + Titular, pessoa natural ou juridica a quem se referem os dados de recebedor (creditor). + EnumPaymentStatusType: + type: string + enum: + - RCVD + - PATC + - CANC + - ACCP + - ACPD + - RJCT + - ACSC + - PDNG + - SCHD + example: PDNG + description: | + Estado atual da iniciação de pagamento. O estado evolui na seguinte ordem: + + 1. 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. + + 2. PATC (Partially Accepted Technical Correct) - Indica que a transação precisa da confirmação de mais autorizadores para que o processamento do pagamento possa prosseguir. + + 3. 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. + + 4. 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). + + 5. 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. + + 6. RJCT (Rejected) Indica que a transação foi rejeitada pela detentora ou pelo SPI. + + 7. ACSC (Accepted Settlement Completed Debitor Account) - Indica que a transação foi efetivada pela detentora ou pelo SPI. + + 8. PDNG (Pending) - Indica que a detentora reteve temporariamente a transação Pix para análise. + + 9. 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. + EnumConsentRejectionReasonType: + type: string + enum: + - VALOR_INVALIDO + - NAO_INFORMADO + - FALHA_INFRAESTRUTURA + - TEMPO_EXPIRADO_AUTORIZACAO + - TEMPO_EXPIRADO_CONSUMO + - REJEITADO_USUARIO + - CONTAS_ORIGEM_DESTINO_IGUAIS + - CONTA_NAO_PERMITE_PAGAMENTO + - SALDO_INSUFICIENTE + - VALOR_ACIMA_LIMITE + - QRCODE_INVALIDO + example: SALDO_INSUFICIENTE + description: | + Define o código da razão pela qual o consentimento foi rejeitado + - VALOR_INVALIDO + - NAO_INFORMADO + - FALHA_INFRAESTRUTURA + - TEMPO_EXPIRADO_AUTORIZACAO + - TEMPO_EXPIRADO_CONSUMO + - REJEITADO_USUARIO + - CONTAS_ORIGEM_DESTINO_IGUAIS + - CONTA_NAO_PERMITE_PAGAMENTO + - SALDO_INSUFICIENTE + - VALOR_ACIMA_LIMITE + - QRCODE_INVALIDO + EnumRejectionReasonType: + type: string + enum: + - SALDO_INSUFICIENTE + - VALOR_ACIMA_LIMITE + - VALOR_INVALIDO + - COBRANCA_INVALIDA + - NAO_INFORMADO + - PAGAMENTO_DIVERGENTE_CONSENTIMENTO + - DETALHE_PAGAMENTO_INVALIDO + - PAGAMENTO_RECUSADO_DETENTORA + - PAGAMENTO_RECUSADO_SPI + - FALHA_INFRAESTRUTURA + - FALHA_INFRAESTRUTURA_SPI + - FALHA_INFRAESTRUTURA_DICT + - FALHA_INFRAESTRUTURA_ICP + - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR + - FALHA_INFRAESTRUTURA_DETENTORA + - CONTAS_ORIGEM_DESTINO_IGUAIS + example: SALDO_INSUFICIENTE + description: | + Define o código da razão pela qual o pagamento foi rejeitado + + - SALDO_INSUFICIENTE - A conta selecionada não possui saldo suficiente para realizar o pagamento. + + - VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. + + - VALOR_INVALIDO - O valor enviado não é válido para o QR Code informado. + + - COBRANCA_INVALIDA - Validação de expiração, validação de vencimento ou Status 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. + + - DETALHE_PAGAMENTO_INVALIDO - Parâmetro [nome_campo] não obedecer às regras de negócio. + + - PAGAMENTO_RECUSADO_DETENTORA - [Descrição do motivo de recusa]. + + - PAGAMENTO_RECUSADO_SPI - [Código de erro conforme tabela de domínios reason PACS.002]. + + - FALHA_INFRAESTRUTURA - [Descrição de qual falha na infraestrutura inviabilizou o processamento]. + + - FALHA_INFRAESTRUTURA_SPI - Indica uma falha no Sistema de Pagamentos Instantâneos (SPI). + + - FALHA_INFRAESTRUTURA_DICT - Indica uma falha no Diretório de Identificadores de Contas Transacionais (DICT). + + - 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. + + - CONTAS_ORIGEM_DESTINO_IGUAIS - Indica uma tentativa de pagamento onde a conta origem e a conta de destino são iguais. + + O rejectionReason FALHA_INFRAESTRUTURA não será excluído, apenas deixará de ser utilizado, permitindo assim, retrocompatibilidade e integridade entre os participantes. + EnumPaymentCancellationReasonType: + type: string + enum: + - CANCELADO_PENDENCIA + - CANCELADO_AGENDAMENTO + - CANCELADO_MULTIPLAS_ALCADAS + 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 + + CANCELADO_MULTIPLAS_ALCADAS - Pagamento cancelado enquanto estava na situação PATC + 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 + ConsentRejectionReason: + type: object + description: Motivo da rejeição do consentimento. Informações complementares sobre o motivo do status + required: + - code + - detail + properties: + code: + $ref: '#/components/schemas/EnumConsentRejectionReasonType' + detail: + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + description: | + Contém informações adicionais ao consentimento rejeitado. + - 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. + - SALDO_INSUFICIENTE: A conta selecionada não possui saldo suficiente para realizar o pagamento. + - VALOR_ACIMA_LIMITE: O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outro] para permitir a realização de transações pelo cliente. + - QRCODE_INVALIDO: O QRCode utilizado para a iniciação de pagamento não é válido. + example: O usuário rejeitou a autorização do consentimento + RejectionReason: + type: object + description: |- + Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status + [Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED). + required: + - code + - detail + properties: + code: + $ref: '#/components/schemas/EnumRejectionReasonType' + detail: + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + description: Contém informações adicionais ao pagamento rejeitado + Identification: + type: object + description: Objeto contendo os dados do recebedor (creditor). + required: + - personType + - cpfCnpj + - name + properties: + personType: + $ref: '#/components/schemas/EnumPaymentPersonType' + cpfCnpj: + type: string + minLength: 11 + maxLength: 14 + pattern: '^\d{11}$|^\d{14}$' + 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, formato UTC.' + type: string + 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: uri + maxLength: 2000 + description: URI completo que gerou a resposta atual. + example: 'https://api.banco.com.br/open-banking/api/v1/resource' + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + PaymentConsent: + type: object + description: Objeto contendo dados de pagamento para consentimento. + required: + - type + - currency + - amount + - details + properties: + type: + $ref: '#/components/schemas/EnumPaymentType' + schedule: + oneOf: + - $ref: '#/components/schemas/Schedule' + 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: | + [Restrição] Mutuamente excludente com o objeto schedule. + + Este campo é obrigatório no caso de pagamento único. + + Neste caso, o objeto schedule não deve ser informado. + 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. + 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, conforme segue: + + 1. 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; + details: + $ref: '#/components/schemas/Details' + PaymentPix: + type: object + description: Objeto contendo dados do pagameto como moeda e valor. + 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. O valor deve ser o mesmo enviado no consentimento. + + Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. + Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. + 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: | + Objeto que agrupa as informações de qual foi o usuário pagador que solicitou o cancelamento da transação. + Observação: este campo é necessário porque, em casos de múltiplas alçadas de autorização, é possível que o pagamento seja solicitado por um usuário pagador e cancelado por outro. + required: + - cancelledBy + properties: + 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: 11 + description: Número do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: '11111111111' + pattern: '^\d{11}$' + rel: + type: string + maxLength: 3 + description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: CPF + pattern: '^[A-Z]{3}$' + PatchPixPaymentCancellation: + 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. + 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, 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: 11 + description: Número do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: '11111111111' + pattern: '^\d{11}$' + rel: + type: string + maxLength: 3 + description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: CPF + pattern: '^[A-Z]{3}$' + 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, 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: 11 + description: Número do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: '11111111111' + pattern: '^\d{11}$' + rel: + type: string + maxLength: 3 + description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. + example: CPF + pattern: '^[A-Z]{3}$' + 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, formato UTC.' + type: string + maxLength: 20 + format: date-time + example: '2021-05-21T08:30:00Z' + ResponsePaymentConsent: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + description: Objeto contendo as informações de resposta do consentimento para a iniciação de pagamento individual. + required: + - consentId + - statusUpdateDateTime + - creationDateTime + - expirationDateTime + - status + - loggedUser + - creditor + - payment + properties: + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + description: 'Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação RFC-3339, 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 da iniciação de pagamento expira, devendo ser sempre o creationDateTime mais 5 minutos. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format). + O consentimento é criado com o status AWAITING_AUTHORISATION, e deve assumir o status AUTHORIZED ou REJECTED antes do tempo de expiração - 5 minutos. Caso o tempo seja expirado, o status deve assumir REJECTED. + Para o cenário em que o status assumiu AUTHORISED, o tempo máximo do expirationDateTime do consentimento deve assumir "now + 60 minutos". Este é o tempo para consumir o consentimento autorizado, mudando seu status para CONSUMED. Não é possível prorrogar este tempo e a criação de um novo consentimento será necessária para os cenários de insucesso. + O tempo do expirationDateTime é garantido com os 15 minutos do access token, sendo possível utilizar mais três refresh tokens até totalizar 60 minutos. + 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 + 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 recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format). + status: + $ref: '#/components/schemas/EnumAuthorisationStatusType' + loggedUser: + $ref: '#/components/schemas/LoggedUser' + businessEntity: + $ref: '#/components/schemas/BusinessEntity' + creditor: + $ref: '#/components/schemas/Identification' + payment: + $ref: '#/components/schemas/PaymentConsent' + debtorAccount: + $ref: '#/components/schemas/ConsentsDebtorAccount' + rejectionReason: + $ref: '#/components/schemas/ConsentRejectionReason' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponseCreatePaymentConsent: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + description: Objeto contendo as informações de resposta do consentimento para a iniciação de pagamento individual. + required: + - consentId + - statusUpdateDateTime + - creationDateTime + - expirationDateTime + - status + - loggedUser + - creditor + - payment + properties: + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + description: 'Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação RFC-3339, 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 da iniciação de pagamento expira, devendo ser sempre o creationDateTime mais 5 minutos. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format). + O consentimento é criado com o status AWAITING_AUTHORISATION, e deve assumir o status AUTHORIZED ou REJECTED antes do tempo de expiração - 5 minutos. Caso o tempo seja expirado, o status deve assumir REJECTED. + Para o cenário em que o status assumiu AUTHORISED, o tempo máximo do expirationDateTime do consentimento deve assumir "now + 60 minutos". Este é o tempo para consumir o consentimento autorizado, mudando seu status para CONSUMED. Não é possível prorrogar este tempo e a criação de um novo consentimento será necessária para os cenários de insucesso. + O tempo do expirationDateTime é garantido com os 15 minutos do access token, sendo possível utilizar mais três refresh tokens até totalizar 60 minutos. + 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 + 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 recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format). + status: + $ref: '#/components/schemas/EnumAuthorisationStatusType' + loggedUser: + $ref: '#/components/schemas/LoggedUser' + businessEntity: + $ref: '#/components/schemas/BusinessEntity' + creditor: + $ref: '#/components/schemas/Identification' + payment: + type: object + description: Objeto contendo dados de pagamento para consentimento. + required: + - type + - currency + - amount + - details + properties: + type: + $ref: '#/components/schemas/EnumPaymentType' + schedule: + oneOf: + - $ref: '#/components/schemas/Schedule' + 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: | + [Restrição] Mutuamente excludente com o objeto schedule. + + Este campo é obrigatório no caso de pagamento único. + + Neste caso, o objeto schedule não deve ser informado. + 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. O valor deve ser o mesmo enviado no consentimento. + + Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. + Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. + 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, conforme segue: + + 1. 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; + details: + $ref: '#/components/schemas/Details' + debtorAccount: + $ref: '#/components/schemas/ConsentsDebtorAccount' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponsePixPayment: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/ResponsePixPaymentData' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponsePatchPixPayment: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/ResponsePatchPixPaymentData' + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponsePatchPixPaymentData: + type: object + description: Objeto contendo dados do pagamento e da conta do recebedor (creditor). + required: + - paymentId + - endToEndId + - consentId + - creationDateTime + - statusUpdateDateTime + - status + - localInstrument + - payment + - creditorAccount + - cnpjInitiator + - debtorAccount + - cancellation + properties: + paymentId: + 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 individual. O `paymentId` 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' + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora em que o recurso foi criado. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + statusUpdateDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora da última atualização da iniciação de pagamento. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave 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, conforme segue: + + 1. 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; + status: + $ref: '#/components/schemas/EnumPaymentStatusType' + rejectionReason: + $ref: '#/components/schemas/RejectionReason' + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + cnpjInitiator: + type: string + pattern: '^\d{14}$' + 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' + 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. + + [Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. + 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' + cancellation: + $ref: '#/components/schemas/PatchPixPaymentCancellation' + debtorAccount: + $ref: '#/components/schemas/DebtorAccount' + authorisationFlow: + type: string + enum: + - HYBRID_FLOW + - CIBA_FLOW + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. + ResponseCreatePixPayment: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + description: Objeto contendo dados do pagamento e da conta do recebedor (creditor). + required: + - paymentId + - endToEndId + - consentId + - creationDateTime + - statusUpdateDateTime + - status + - localInstrument + - payment + - creditorAccount + - cnpjInitiator + - debtorAccount + properties: + paymentId: + 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 individual. O `paymentId` 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' + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora em que o recurso foi criado. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + statusUpdateDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora da última atualização da iniciação de pagamento. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave 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, conforme segue: + + 1. 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; + status: + $ref: '#/components/schemas/EnumPaymentStatusType' + rejectionReason: + $ref: '#/components/schemas/RejectionReason' + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + cnpjInitiator: + type: string + pattern: '^\d{14}$' + 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: + type: object + description: Objeto contendo dados do pagameto como moeda e valor. + 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. O valor deve ser o mesmo enviado no consentimento. + + Para QR Code estático com valor pré-determinado no QR Code ou para QR Code dinâmico com indicação de que o valor não pode ser alterado: O campo amount deve ser preenchido com o valor estabelecido no QR Code. + Caso seja preenchido com valor divergente do QR Code, deve ser retornado um erro HTTP Status 422. + 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. + 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. + + [Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. + 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/PaymentsCreditorAccount' + debtorAccount: + $ref: '#/components/schemas/PaymentsDebtorAccount' + authorisationFlow: + type: string + enum: + - HYBRID_FLOW + - CIBA_FLOW + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. + links: + $ref: '#/components/schemas/LinkSingle' + meta: + $ref: '#/components/schemas/Meta' + ResponsePixPaymentData: + type: object + description: Objeto contendo dados do pagamento e da conta do recebedor (creditor). + required: + - paymentId + - endToEndId + - consentId + - creationDateTime + - statusUpdateDateTime + - status + - localInstrument + - payment + - creditorAccount + - cnpjInitiator + - debtorAccount + properties: + paymentId: + 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 individual. O `paymentId` 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' + consentId: + 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 consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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). + creationDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora em que o recurso foi criado. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + statusUpdateDateTime: + 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$' + example: '2020-07-21T08:30:00Z' + description: | + Data e hora da última atualização da iniciação de pagamento. + Uma string com data e hora conforme especificação RFC-3339, + sempre com a utilização de timezone UTC(UTC time format). + proxy: + type: string + maxLength: 77 + pattern: '[\w\W\s]*' + example: '12345678901' + 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 RFC41223. + Se informado, a detentora da conta deve validar o proxy no DICT quando localInstrument for igual a DICT, QRDN ou QRES e validar o campo creditorAccount. + Esta validação é opcional caso o localInstrument for igual a INIC. + [Restrição] Se localInstrument for igual a MANU, o campo proxy não deve ser preenchido. Se localInstrument for igual INIC, DICT, QRDN ou QRES, o campo proxy deve ser sempre preenchido com a chave 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, conforme segue: + + 1. 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; + status: + $ref: '#/components/schemas/EnumPaymentStatusType' + rejectionReason: + $ref: '#/components/schemas/RejectionReason' + localInstrument: + $ref: '#/components/schemas/EnumLocalInstrument' + cnpjInitiator: + type: string + pattern: '^\d{14}$' + 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' + 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. + + [Restrição] A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora, caso ele tenha sido enviado na requisição da iniciação do pagamento. + 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/PaymentsCreditorAccount' + cancellation: + $ref: '#/components/schemas/PixPaymentCancellation' + debtorAccount: + $ref: '#/components/schemas/PaymentsDebtorAccount' + authorisationFlow: + type: string + enum: + - HYBRID_FLOW + - CIBA_FLOW + example: HYBRID_FLOW + description: | + Campo condicional utilizado para identificar o fluxo de autorização em que o pagamento foi solicitado. + + [Restrição] Caso o campo não esteja presente no payload, subentende-se que o fluxo de autorização utilizado é o HYBRID_FLOW. + Schedule: + type: object + description: | + [Restrição] Mutuamente excludente com o campo date. + + Este campo é obrigatório no caso de agendamento. + + Neste caso, o campo date não deve ser informado. + required: + - single + properties: + single: + type: object + description: Define a política de agendamento único. + required: + - date + properties: + 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. + + Observação: Esse campo deverá sempre ser no mínimo D+1 corrido, ou seja, a data imediatamente posterior em relação a data do consentimento considerando o fuso horário de Brasília e deverá ser no máximo D+365 corridos a partir da data do consentimento considerando o fuso horário de Brasília + XFapiInteractionId: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + maxLength: 100 + description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' + parameters: + consentId: + name: consentId + in: path + description: | + O consentId é o identificador único do consentimento 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 independente da localização. + Considerando a string urn:bancoex:C1DD33123 como exemplo para consentId temos: + - o namespace(urn) + - o identificador associado ao namespace da instituição transnmissora (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()+,\-.:=@;$_!*''%\/?#]+$' + maxLength: 256 + paymentId: + name: paymentId + 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}$' + maxLength: 100 + 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]*' + 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 receptor. 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 receptor. + required: false + schema: + type: string + pattern: '[\w\W\s]*' + minLength: 1 + maxLength: 100 + xFapiInteractionId: + name: x-fapi-interaction-id + in: header + description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.' + required: true + schema: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + minLength: 1 + maxLength: 100 + 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 + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + securitySchemes: + OpenId: + type: openIdConnect + openIdConnectUrl: 'https://auth.mockbank.poc.raidiam.io/.well-known/openid-configuration' + OAuth2ClientCredentials: + 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. + Apenas pagamentos iniciados pela mesma iniciadora de pagamentos podem ser consultados ou cancelados através de modelo client credentials. + flows: + clientCredentials: + tokenUrl: 'https://authserver.example/token' + scopes: + payments: Escopo necessário para acesso à API Payment Initiation. + 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: + payments: Escopo necessário para acesso à API Payment Initiation. + 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + BadRequestPayments: + description: 'Seguir as orientações presentes na descrição da API, subitem 1.2.3' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + BadRequestPixPayments: + description: 'Seguir as orientações presentes na descrição da API, subitem 2.1.3.' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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' + TooManyRequests: + description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + Retry-After: + description: | + Cabeçalho que indica o tempo (em segundos) que o cliente deverá aguardar para realizar uma nova tentativa de chamada. Este cabeçalho deverá estar presente quando o código HTTP de retorno for 429 Too many requests. + schema: + description: | + Cabeçalho que indica o tempo (em segundos) que o cliente deverá aguardar para realizar uma nova tentativa de chamada. Este cabeçalho deverá estar presente quando o código HTTP de retorno for 429 Too many requests. + type: integer + UnprocessableEntityPixPayment: + description: 'Seguir as orientações presentes na descrição da API, itens 2.2 e 2.3 e seus subitens.' + content: + application/jwt: + schema: + $ref: '#/components/schemas/422ResponseErrorCreatePixPayments' + 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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + UnprocessableEntityConsents: + description: 'Seguir as orientações presentes na descrição da API, item 1.3 e seus subitens.' + content: + application/jwt: + schema: + $ref: '#/components/schemas/422ResponseErrorCreateConsent' + examples: + Forma de pagamento inválida: + summary: Forma de pagamento inválida + value: + errors: + - code: FORMA_PAGAMENTO_INVALIDA + title: Forma de pagamento inválida. + detail: 'Forma de pagamento [Modalidade] não suportada.' + meta: + requestDateTime: '2021-05-21T08:30:00Z' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + UnprocessableEntityPixPayments: + description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' + content: + application/jwt: + schema: + $ref: '#/components/schemas/422ResponseErrorCreatePixPayment' + examples: + Saldo insuficiente: + summary: Saldo insuficiente + value: + errors: + - code: PAGAMENTO_NAO_PERMITE_CANCELAMENTO + title: Pagamento não permite cancelamento + detail: Pagamento não permite cancelamento + meta: + requestDateTime: '2021-05-21T08:30:00Z' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/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: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + UnsupportedMediaType: + description: O formato do payload não é um formato suportado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + 201PaymentsConsentsConsentCreated: + description: Consentimento de pagamento criado com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponseCreatePaymentConsent' + 200PaymentsConsentsConsentIdRead: + description: Dados do consentimento de pagamento obtidos com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponsePaymentConsent' + 201PaymentsInitiationPixPaymentCreated: + description: Iniciação de pagamento Pix criada com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponseCreatePixPayment' + 200PaymentsInitiationPixPaymentIdRead: + description: Dados de iniciação de pagamento Pix obtidos com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponsePixPayment' + 200PatchPixPayments: + description: Iniciação de pagamento Pix cancelada com sucesso. + headers: + x-fapi-interaction-id: + description: | + Um UUID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122. + schema: + $ref: '#/components/schemas/XFapiInteractionId' + content: + application/jwt: + schema: + $ref: '#/components/schemas/ResponsePatchPixPayment' \ No newline at end of file diff --git a/swagger-apis/payments/index.html b/swagger-apis/payments/index.html index 42b4132b1..f3e681ce0 100644 --- a/swagger-apis/payments/index.html +++ b/swagger-apis/payments/index.html @@ -63,8 +63,9 @@ {"name": "1.1.0-rc1.0", "url": "./1.1.0-rc1.0.yml"}, {"name": "1.2.0", "url": "./1.2.0.yml"}, {"name": "2.0.0", "url": "./2.0.0.yml"}, - {"name": "3.0.0-beta.1", "url": "./3.0.0-beta.1.yml"}], - "urls.primaryName": "3.0.0-beta.1", // default spec + {"name": "3.0.0-beta.1", "url": "./3.0.0-beta.1.yml"}, + {"name": "3.0.0-beta.2", "url": "./3.0.0-beta.2.yml"}], + "urls.primaryName": "3.0.0-beta.2", // default spec dom_id: '#swagger-ui', deepLinking: true, supportedSubmitMethods:[],