openapi: 3.0.0 info: title: API Batch Payments - Open Finance Brasil description: | As APIs descritas neste documento é referente a API de Pagamentos em lote da fase OpenInsurance do Open Finance Brasil. version: 1.0.0-beta.1 license: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' contact: name: Governança do Open Finance Brasil – Especificações email: gt-interfaces@openbankingbr.org url: 'https://openbanking-brasil.github.io/areadesenvolvedor/' servers: - url: 'https://api.banco.com.br/open-banking//v1' description: Servidor de Produção - url: 'https://apih.banco.com.br/open-banking//v1' description: Servidor de Homologação tags: - name: Consents - name: Draft Payments - name: Payments paths: /consents: post: tags: - Consents summary: Para criação de novos consentimentos. operationId: batchPaymentPostBatchConsent description: Para criação de novos consentimentos. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/CreateConsent' description: Payload para criação. required: true responses: '201': $ref: '#/components/responses/201Consents' '422': $ref: '#/components/responses/UnprocessablePostConsents' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments '/consents/{consentId}': get: tags: - Consents summary: Para consultar consentimentos operationId: batchPaymentsGetRecurringConfiguration description: Para consultar consentimentos parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' responses: '200': $ref: '#/components/responses/200GetConsentsConsentId' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments patch: tags: - Consents summary: Revoga ou edita um consentimento. operationId: batchPaymentPatchBatchConsentConsentId description: Para modificar apenas o estado de um consentimento para REVOKED, REJECTED ou AWAITING_AUTHORISATION parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/PatchRequestConsentConsentId' description: Payload para criação do consentimento para iniciação do pagamento. required: true responses: '200': $ref: '#/components/responses/200GetConsentsConsentId' '422': $ref: '#/components/responses/UnprocessablePatchConsents' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments '/consents/{consentId}/draft-payments': post: tags: - Draft Payments summary: Para criar novos rascunhos de pagamentos associados a um consentimento operationId: batchPaymentsPostConsentDraftPayments description: Para criar novos rascunhos de pagamentos associados a um consentimento parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/CreateConsentsDraft' description: Payload para criação. required: true responses: '201': $ref: '#/components/responses/201ConsentsDraft' '422': $ref: '#/components/responses/UnprocessablePostDraft' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments get: tags: - Draft Payments summary: Para consultar consentimentos operationId: batchPaymentsGetConsentDraftPayments description: Para consultar consentimentos parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/draftPaymentId' - $ref: '#/components/parameters/startDate' - $ref: '#/components/parameters/endDate' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pagination-key' responses: '200': $ref: '#/components/responses/200GetConsentsDraft' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments patch: tags: - Draft Payments summary: Revoga ou edita um consentimento. operationId: batchPaymentPatchBatchConsentConsentIdDraftPayments description: Para modificar apenas o estado de um consentimento para REVOKED, REJECTED ou AWAITING_AUTHORISATION parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/CreateConsentsDraft' description: Payload para criação do consentimento para iniciação do pagamento. required: true responses: '200': $ref: '#/components/responses/200GetConsentsDraft' '422': $ref: '#/components/responses/UnprocessablePatchDraft' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments '/consents/{consentId}/payments': post: tags: - Payments summary: Para novas solicitações de execução de pagamentos operationId: batchPaymentsPostConsentPayments description: Para novas solicitações de execução de pagamentos parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/CreateConsentsPayments' description: Payload para criação. required: true responses: '201': $ref: '#/components/responses/201ConsentsPayments' '422': $ref: '#/components/responses/UnprocessablePost' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2AuthorizationCode: - openid - payments - 'consent:consentId' get: tags: - Payments summary: Para permitir a consulta resumida de um conjunto de pagamentos de uma única vez, respeitando os filtros informados operationId: batchPaymentsGetConsentPayments description: Para permitir a consulta resumida de um conjunto de pagamentos de uma única vez, respeitando os filtros informados parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/draftPaymentId' - $ref: '#/components/parameters/startDate' - $ref: '#/components/parameters/endDate' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pagination-key' - $ref: '#/components/parameters/status' responses: '200': $ref: '#/components/responses/200GetConsentsPayments' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments '/consents/{consentId}/payments/{paymentId}': get: tags: - Payments summary: Para permitir a consulta completa de um único pagamento operationId: batchPaymentsGetConsentPaymentsPaymentId description: Para permitir a consulta completa de um único pagamento parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' responses: '200': $ref: '#/components/responses/200GetConsentsPaymentId' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments patch: tags: - Payments summary: Para permitir um cancelamento de solicitação de pagamento ainda não concluída operationId: batchPaymentsPatchConsentPaymentsPaymentId description: Para permitir um cancelamento de solicitação de pagamento ainda não concluída parameters: - $ref: '#/components/parameters/consentId' - $ref: '#/components/parameters/paymentId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/XIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/PatchRequestPaymentId' description: Payload para criação. required: true responses: '200': $ref: '#/components/responses/200GetConsentsPaymentId' '422': $ref: '#/components/responses/UnprocessablePatch' default: description: Erro inesperado. content: application/json: schema: $ref: '#/components/schemas/ResponseError' security: - OAuth2ClientCredentials: - payments components: schemas: CreateConsent: type: object required: - data properties: data: type: object format: io required: - loggedUser - batchConfiguration properties: loggedUser: description: Usuário (pessoa natural) que encontra-se logado na instituição Iniciadora de Pagamento. type: object format: io required: - document properties: document: type: object required: - identification - rel properties: identification: description: Número do documento de identificação oficial do usuário. type: string maxLength: 11 pattern: '^\d{11}$' example: '11111111111' rel: description: Tipo do documento de identificação oficial do usuário. type: string maxLength: 3 pattern: '^[A-Z]{3}$' example: 'CPF' businessEntity: 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). type: object format: io required: - document properties: document: type: object required: - identification - rel properties: identification: description: Número do documento de identificação oficial do titular pessoa jurídica. type: string maxLength: 14 pattern: '^\d{14}$' example: '11111111111111' rel: description: Tipo do documento de identificação oficial do titular pessoa jurídica. type: string maxLength: 4 pattern: '^[A-Z]{4}$' example: 'CNPJ' additionalInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento. type: string maxLength: 140 pattern: '[\w\W\s]*' example: 'Pagamentos de Novembro' batchConfiguration: type: object format: io required: - totalPayments - totalAmount properties: totalPayments: description: Quantidade de pagamentos que será enviado pelo iniciador de pagamentos. type: integer maximum: 200 example: 200 totalAmount: description: Valor total da soma de todos os valores que serão enviados para os pagamentos informados pelo inciador de pagamentos. type: string minLength: 4 maxLength: 19 pattern: '^((\d{1,16}\.\d{2}))$' example: '100000.12' debtorAccount: $ref: '#/components/schemas/DebtorAccount' Response201Consents: type: object required: - data - meta properties: data: type: object format: io required: - consentId - creationDateTime - statusUpdateDateTime - status - loggedUser - batchConfiguration properties: consentId: 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 transmissora (bancoex). - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). type: string maxLength: 256 pattern: ^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*'%\/?#]+$ example: 'urn:bancoex:C1DD33123' creationDateTime: type: string 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' statusUpdateDateTime: type: string 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' status: description: | Status atual do consentimento de acordo com a máquina de estados - AWAITING_CONFIGURATION - Aguardando configuração de pagamentos - AWAITING_AUTHORISATION - Aguardando autorização - PARTIALLY_ACCEPTED - Parcialmente aceito - AUTHORISED - Autorizado - REJECTED - Rejeitado - CONSUMED - Consumido type: string enum: - AWAITING_CONFIGURATION - AWAITING_AUTHORISATION - PARTIALLY_ACCEPTED - AUTHORISED - REJECTED - CONSUMED example: 'AWAITING_CONFIGURATION' loggedUser: description: Usuário (pessoa natural) que encontra-se logado na instituição Iniciadora de Pagamento. type: object format: io required: - document properties: document: type: object required: - identification - rel properties: identification: description: Número do documento de identificação oficial do usuário. type: string maxLength: 11 pattern: '^\d{11}$' example: '11111111111' rel: description: Tipo do documento de identificação oficial do usuário. type: string maxLength: 3 pattern: '^[A-Z]{3}$' example: 'CPF' businessEntity: 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). type: object format: io required: - document properties: document: type: object required: - identification - rel properties: identification: description: Número do documento de identificação oficial do titular pessoa jurídica. type: string maxLength: 14 pattern: '^\d{14}$' example: '11111111111111' rel: description: Tipo do documento de identificação oficial do titular pessoa jurídica. type: string maxLength: 4 pattern: '^[A-Z]{4}$' example: 'CNPJ' additionalInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento. type: string maxLength: 140 pattern: '[\w\W\s]*' example: Pagamentos de Novembro batchConfiguration: type: object required: - totalPayments - totalAmount properties: totalPayments: description: Quantidade de pagamentos que será enviado pelo iniciador de pagamentos. type: integer maximum: 200 example: 200 totalAmount: description: Valor total da soma de todos os valores que serão enviados para os pagamentos informados pelo inciador de pagamentos. type: string minLength: 4 maxLength: 19 pattern: '^((\d{1,16}\.\d{2}))$' example: '100000.12' rejection: $ref: '#/components/schemas/Rejection' revocation: $ref: '#/components/schemas/Revocation' debtorAccount: $ref: '#/components/schemas/DebtorAccount' meta: $ref: '#/components/schemas/MetaSingle' ConsentsConsentId: type: object required: - data - meta properties: data: type: object format: io required: - consentId - creationDateTime - statusUpdateDateTime - status - loggedUser - batchConfiguration properties: consentId: 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 transmissora (bancoex). - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). type: string maxLength: 256 pattern: ^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*'%\/?#]+$ example: 'urn:bancoex:C1DD33123' creationDateTime: type: string 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' statusUpdateDateTime: type: string 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' status: description: | Status atual do consentimento de acordo com a máquina de estados - AWAITING_CONFIGURATION - Aguardando configuração de pagamentos - AWAITING_AUTHORISATION - Aguardando autorização - PARTIALLY_ACCEPTED - Parcialmente aceito - AUTHORISED - Autorizado - REJECTED - Rejeitado - CONSUMED - Consumido type: string enum: - AWAITING_CONFIGURATION - AWAITING_AUTHORISATION - PARTIALLY_ACCEPTED - AUTHORISED - REJECTED - CONSUMED example: 'AWAITING_CONFIGURATION' loggedUser: description: Usuário (pessoa natural) que encontra-se logado na instituição Iniciadora de Pagamento. type: object format: io required: - document properties: document: type: object required: - identification - rel properties: identification: description: Número do documento de identificação oficial do usuário. type: string maxLength: 11 pattern: '^\d{11}$' example: '11111111111' rel: description: Tipo do documento de identificação oficial do usuário. type: string maxLength: 3 pattern: '^[A-Z]{3}$' example: 'CPF' businessEntity: 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). type: object format: io required: - document properties: document: type: object required: - identification - rel properties: identification: description: Número do documento de identificação oficial do titular pessoa jurídica. type: string maxLength: 14 pattern: '^\d{14}$' example: '11111111111111' rel: description: Tipo do documento de identificação oficial do titular pessoa jurídica. type: string maxLength: 4 pattern: '^[A-Z]{4}$' example: 'CNPJ' additionalInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional no consentimento. type: string maxLength: 140 pattern: '[\w\W\s]*' example: Pagamentos de Novembro batchConfiguration: type: object required: - totalPayments - totalAmount properties: totalPayments: description: Quantidade de pagamentos que será enviado pelo iniciador de pagamentos. type: integer maximum: 200 example: 200 totalAmount: description: Valor total da soma de todos os valores que serão enviados para os pagamentos informados pelo inciador de pagamentos. type: string minLength: 4 maxLength: 19 pattern: '^((\d{1,16}\.\d{2}))$' example: '100000.12' rejection: $ref: '#/components/schemas/Rejection' revocation: $ref: '#/components/schemas/Revocation' debtorAccount: $ref: '#/components/schemas/DebtorAccount' meta: $ref: '#/components/schemas/MetaSingle' PatchRequestConsentConsentId: type: object required: - data properties: data: required: - status properties: status: description: Estado para qual o recurso deve ser movido. type: string enum: - REJECTED - AWAITING_AUTHORISATION example: REJECTED rejection: $ref: '#/components/schemas/RejectionPatchConsents' revocation: $ref: '#/components/schemas/Revocation' CreateConsentsDraft: type: object required: - data properties: data: type: array minItems: 1 maxItems: 1 items: required: - date - creationDateTime - draftPaymentId - personType - cpfCnpj - name - currency - amount properties: date: description: Dia previsto para a realização da tentativa de liquidação. type: string format: date maxLength: 10 example: '2021-01-01' creationDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339) sempre com a utilização de timezone UTC(UTC time format). type: string 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' draftPaymentId: description: Identificador único do rascunho de pagamento. type: string example: '61709a24-be94-4401-88cb-e457cbe13808' personType: description: Tipo de titular pessoa natural ou juridica a quem se referem os dados de recebedor (creditor). type: string enum: - PESSOA_NATURAL - PESSOA_JURIDICA example: 'PESSOA_JURIDICA' cpfCnpj: 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. type: string pattern: '^\d{11}$|^\d{14}$' minLength: 11 maxLength: 14 example: '58764789000137' name: 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. type: string pattern: ^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$ maxLength: 120 example: 'Marco Antonio de Brito' currency: 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. type: string pattern: '^([A-Z]{3})$' maxLength: 3 example: 'BRL' amount: description: Valor da transação com 2 casas decimais. type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' additionalInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. type: string pattern: '[\w\W\s]*' maxLength: 140 example: 'Pagamento da nota XPTO035-002' Response201ConsentsDraft: type: object required: - data - links - meta properties: data: type: array minItems: 1 maxItems: 500 items: type: object required: - date - creationDateTime - draftPaymentId - personType - cpfCnpj - name - currency - amount properties: date: description: Dia previsto para a realização da tentativa de liquidação. type: string format: date maxLength: 10 example: '2021-01-01' creationDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339) sempre com a utilização de timezone UTC(UTC time format). type: string 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' draftPaymentId: description: Identificador único do rascunho de pagamento. type: string format: uuid example: '61709a24-be94-4401-88cb-e457cbe13808' personType: description: Tipo de titular pessoa natural ou juridica a quem se referem os dados de recebedor (creditor). type: string enum: - PESSOA_NATURAL - PESSOA_JURIDICA example: 'PESSOA_JURIDICA' cpfCnpj: 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. type: string pattern: '^\d{11}$|^\d{14}$' minLength: 11 maxLength: 14 example: '58764789000137' name: 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. type: string pattern: ^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$ maxLength: 120 example: 'Marco Antonio de Brito' currency: 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. type: string pattern: '^([A-Z]{3})$' maxLength: 3 example: 'BRL' amount: description: Valor da transação com 2 casas decimais. type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' ConsentsConsentIdDraft: type: object required: - data - links - meta properties: data: type: array minItems: 1 maxItems: 500 items: type: object required: - date - creationDateTime - draftPaymentId - personType - cpfCnpj - name - currency - amount properties: date: description: Dia previsto para a realização da tentativa de liquidação. type: string format: date maxLength: 10 example: '2021-01-01' creationDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339) sempre com a utilização de timezone UTC(UTC time format). type: string 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' draftPaymentId: description: Identificador único do rascunho de pagamento. type: string format: uuid example: '61709a24-be94-4401-88cb-e457cbe13808' personType: description: Tipo de titular pessoa natural ou juridica a quem se referem os dados de recebedor (creditor). type: string enum: - PESSOA_NATURAL - PESSOA_JURIDICA example: 'PESSOA_JURIDICA' cpfCnpj: 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. type: string pattern: '^\d{11}$|^\d{14}$' minLength: 11 maxLength: 14 example: '58764789000137' name: 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. type: string pattern: ^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$ maxLength: 120 example: 'Marco Antonio de Brito' currency: 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. type: string pattern: '^([A-Z]{3})$' maxLength: 3 example: 'BRL' amount: description: Valor da transação com 2 casas decimais. type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' CreateConsentsPayments: type: object required: - data properties: data: type: array minItems: 1 maxItems: 50 items: type: object properties: draftPaymentId: description: Identificador único do rascunho de pagamento. Será utilizado no pagamento para checar quais os parâmetros de pagamento e do consentimento. type: string format: uuid example: '61709a24-be94-4401-88cb-e457cbe13808' endToEndId: 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. type: string 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})$' minLength: 32 maxLength: 32 example: 'E9040088820210128000800123873170' cnpjInitiator: description: CNPJ do Iniciado. type: string pattern: '^\d{14}$' maxLength: 14 example: '50685362000135' remittanceInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. type: string pattern: '[\w\W\s]*' maxLength: 140 example: 'Pagamento da nota XPTO035-002.' payment: $ref: '#/components/schemas/Payment' ConsentsConsentIdPayments: type: object required: - data - links - meta properties: data: type: object properties: consentId: 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 transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). type: string pattern: ^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*'%\/?#]+$ maxLength: 256 example: 'urn:bancoex:C1DD33123' paymentId: description: Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O paymentId deve ser diferente do endToEndId. Este é o identificador que deverá ser utilizado na consulta ao status e cancelamento da iniciação de pagamento efetuada. type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' maxLength: 100 example: 'TXpRMU9UQTROMWhZV2xSU1FUazJSMDl' draftPaymentId: description: Identificador único do rascunho de pagamento. type: string format: uuid example: '61709a24-be94-4401-88cb-e457cbe13808' endToEndId: 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. type: string 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})$' minLength: 32 maxLength: 32 example: 'E9040088820210128000800123873170' transactionIdentification: 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 preenchido, o campo transactionIdentification deverá ser preenchido com este valor, caso o QR Code não possua o o campo transactionIdentification não deverá ser preenchido. O deve conter até 25 caracteres alfanuméricos ([a-z|A-Z|0-9]). - QRDN - Será obrigatório seu preenchimento com o do payload JSON do QR Code dinâmico. O 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. type: string pattern: '^[a-zA-Z0-9]{1,35}$' maxLength: 35 example: 'E00038166201907261559y6j6' creationDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string 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' statusUpdateDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string 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' status: description: Estado atual da solicitação de liquidação de pagamentos type: string enum: - RCVD - CANC - ACCP - ACPD - RJCT - ACSC - PDNG example: 'PDNG' payment: type: object required: - currency - amount properties: currency: 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. type: string pattern: '^([A-Z]{3})$' example: 'BRL' amount: description: Valor da transação com 2 casas decimais. type: string pattern: '^((\d{1,16}\.\d{2}))$' minLength: 4 maxLength: 19 example: '100000.12' links: $ref: '#/components/schemas/LinksSingle' meta: $ref: '#/components/schemas/MetaSingle' Response201ConsentIdPayments: type: object required: - data - links - meta properties: data: type: array minItems: 1 maxItems: 1 items: type: object properties: consentId: 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 transmissora (bancoex) o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). type: string pattern: ^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*'%\/?#]+$ maxLength: 256 example: 'urn:bancoex:C1DD33123' paymentId: description: Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O paymentId deve ser diferente do endToEndId. Este é o identificador que deverá ser utilizado na consulta ao status e cancelamento da iniciação de pagamento efetuada. type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' maxLength: 100 example: 'TXpRMU9UQTROMWhZV2xSU1FUazJSMDl' draftPaymentId: description: Identificador único do rascunho de pagamento. type: string format: uuid example: '61709a24-be94-4401-88cb-e457cbe13808' endToEndId: 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. type: string 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})$' minLength: 32 maxLength: 32 example: 'E9040088820210128000800123873170' remittanceInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. type: string pattern: '[\w\W\s]*' maxLength: 140 example: 'Pagamento da nota XPTO035-002' creationDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string 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' statusUpdateDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string 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' status: description: Estado atual da solicitação de liquidação de pagamentos type: string enum: - RCVD - CANC - ACCP - ACPD - RJCT - ACSC - PDNG example: PDNG rejectionReason: 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). type: object required: - code - detail properties: code: description: Define o código da razão pela qual o pagamento foi rejeitado. type: string example: 'SALDO_INSUFICIENTE' detail: description: Contém informações adicionais ao pagamento rejeitado. type: string example: 'string' cancellation: $ref: '#/components/schemas/Cancellation' payment: $ref: '#/components/schemas/Payment' links: $ref: '#/components/schemas/LinksSingle' meta: $ref: '#/components/schemas/MetaSingle' ConsentsConsentIdPaymentId: type: object required: - data - links - meta properties: data: type: array minItems: 1 maxItems: 1 items: type: object properties: consentId: 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 transmissora (bancoex) o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). type: string pattern: ^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*'%\/?#]+$ maxLength: 256 example: 'urn:bancoex:C1DD33123' paymentId: description: Código ou identificador único informado pela instituição detentora da conta para representar a iniciação de pagamento. O paymentId deve ser diferente do endToEndId. Este é o identificador que deverá ser utilizado na consulta ao status e cancelamento da iniciação de pagamento efetuada. type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' maxLength: 100 example: 'TXpRMU9UQTROMWhZV2xSU1FUazJSMDl' draftPaymentId: description: Identificador único do rascunho de pagamento. type: string format: uuid example: '61709a24-be94-4401-88cb-e457cbe13808' endToEndId: 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. type: string 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})$' minLength: 32 maxLength: 32 example: 'E9040088820210128000800123873170' remittanceInformation: description: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor. type: string pattern: '[\w\W\s]*' maxLength: 140 example: 'Pagamento da nota XPTO035-002' creationDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string 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' statusUpdateDateTime: description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). type: string 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' status: description: Estado atual da solicitação de liquidação de pagamentos type: string enum: - RCVD - CANC - ACCP - ACPD - RJCT - ACSC - PDNG example: PDNG rejectionReason: 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). type: object required: - code - detail properties: code: description: | Define o código da razão pela qual o pagamento foi rejeitado. - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - QRCODE_INVALIDO - QRCODE_VALOR_DIVERGENTE - NAO_INFORMADO - DETALHE_PAGAMENTO_INVALIDO - PAGAMENTO_RECUSADO_DETENTORA - PAGAMENTO_RECUSADO_SPI - FALHA_INFRAESTRUTURA_SPI - FALHA_INFRAESTRUTURA_DICT - FALHA_INFRAESTRUTURA_ICP - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR - FALHA_INFRAESTRUTURA_DETENTORA - CONTAS_ORIGEM_DESTINO_IGUAIS - CONSENTIMENTO_INVALIDO - RASCUNHO_DIVERGENTE - RASCUNHO_TENTATIVAS_EXCEDIDAS - PAGAMENTO_REALIZADO type: string enum: - SALDO_INSUFICIENTE - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - QRCODE_INVALIDO - QRCODE_VALOR_DIVERGENTE - NAO_INFORMADO - DETALHE_PAGAMENTO_INVALIDO - PAGAMENTO_RECUSADO_DETENTORA - PAGAMENTO_RECUSADO_SPI - FALHA_INFRAESTRUTURA_SPI - FALHA_INFRAESTRUTURA_DICT - FALHA_INFRAESTRUTURA_ICP - FALHA_INFRAESTRUTURA_PSP_RECEBEDOR - FALHA_INFRAESTRUTURA_DETENTORA - CONTAS_ORIGEM_DESTINO_IGUAIS - CONSENTIMENTO_INVALIDO - RASCUNHO_DIVERGENTE - RASCUNHO_TENTATIVAS_EXCEDIDAS - PAGAMENTO_REALIZADO example: 'SALDO_INSUFICIENTE' detail: description: | Contém informações adicionais ao pagamento rejeitado. - SALDO_INSUFICIENTE: Esta conta não possui saldo suficiente para realizar o pagamento. - VALOR_ACIMA_LIMITE: O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outros] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO: O valor enviado não é válido. - QRCODE_INVALIDO: O QRCode utilizado para a iniciação de pagamento não é válido. - QRCODE_VALOR_DIVERGENTE: O valor enviado no pagamento diverge do informado QR Code. - NAO_INFORMADO: Não reportado/identificado pela instituição detentora de conta. - DETALHE_PAGAMENTO_INVALIDO: Parâmetro [nome_campo] não obedece as regras de negócio. - PAGAMENTO_RECUSADO_DETENTORA: [Descrição do motivo de recusa]. - PAGAMENTO_RECUSADO_SPI: [Código de erro conforme tabela de dominios reason PACS.002]. - 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. - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final "CONSUMED", "REJECTED" ou "REVOKED"). - RASCUNHO_DIVERGENTE: O [nome_do_campo] do pagamento está divergente do enviado no rascunho de pagamento. - RASCUNHO_TENTATIVAS_EXCEDIDAS: A tentativa de pagamento para esse rascunho não pode ser realizada pois a quantidade máxima de tentativas foi excedida. - PAGAMENTO_REALIZADO: A tentativa de pagamento para o draftPaymentId não pode ser realizada pois o mesmo já foi liquidado. type: string example: 'string' cancellation: $ref: '#/components/schemas/Cancellation' payment: $ref: '#/components/schemas/Payment' links: $ref: '#/components/schemas/LinksSingle' meta: $ref: '#/components/schemas/MetaSingle' PatchRequestPaymentId: type: object required: - data properties: data: type: object required: - status - cancellation properties: status: description: Estado atual da iniciação de pagamento. type: string example: CANC cancellation: $ref: '#/components/schemas/Cancellation' Payment: type: object required: - type - localInstrument - currency - amount properties: type: description: Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento. type: string enum: - PIX example: PIX localInstrument: 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 - 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. type: string enum: - MANU - DICT - INIC - QRDN example: 'QRDN' currency: 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. type: string pattern: '^([A-Z]{3})$' example: 'BRL' amount: description: Valor da transação com 2 casas decimais. type: string minLength: 4 maxLength: 19 pattern: '^((\d{1,16}\.\d{2}))$' example: '100000.12' creditorAccount: $ref: '#/components/schemas/CreditorAccount' proxy: 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 ou QRDN, o campo proxy deve ser sempre preenchido com a chave Pix. type: string pattern: '[\w\W\s]*' maxLength: 77 example: '12345678901' transactionIdentification: 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 preenchido, o campo transactionIdentification deverá ser preenchido com este valor, caso o QR Code não possua o o campo transactionIdentification não deverá ser preenchido. O deve conter até 25 caracteres alfanuméricos ([a-z|A-Z|0-9]). - QRDN - Será obrigatório seu preenchimento com o do payload JSON do QR Code dinâmico. O 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. type: string pattern: '^[a-zA-Z0-9]{1,35}$' maxLength: 35 example: 'E00038166201907261559y6j6' qrCode: 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. type: string pattern: '[\w\W\s]*' maxLength: 512 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' RejectionPatchConsents: description: | Motivos de rejeição do consentimento. [Restrição] Preenchimento obrigatório quando /data/status for enviado igual a REJECTED type: object required: - rejectedBy - rejectedFrom - rejectedAt properties: rejectedBy: type: string enum: - USUARIO - INICIADORA - DETENTORA example: 'INICIADORA' rejectedFrom: type: string example: 'DETENTORA' rejectedAt: description: Data e hora em que ocorreu a rejeição do consentimento. type: string format: date-time example: '2021-05-21T08:30:00Z' reason: type: object required: - code - detail properties: code: description: | Código descritivo do motivo de rejeição do consentimento. - NAO_INFORMADO - FALHA_INFRAESTRUTURA - TEMPO_EXPIRADO_AUTORIZACAO - REJEITADO_USUARIO - VALOR_ACIMA_LIMITE - CONTA_NAO_PERMITE_PAGAMENTO type: string enum: - NAO_INFORMADO - FALHA_INFRAESTRUTURA - TEMPO_EXPIRADO_AUTORIZACAO - REJEITADO_USUARIO - VALOR_ACIMA_LIMITE - CONTA_NAO_PERMITE_PAGAMENTO example: 'VALOR_ACIMA_LIMITE' detail: type: string description: | Detalhe sobre o motivo de rejeição indicado no campo `/data/rejection/reason/code` - NAO_INFORMADO: Não informada pela detentora de conta; - FALHA_INFRAESTRUTURA: [Descrição de qual falha na infraestrutura inviabilizou o processamento]; - TEMPO_EXPIRADO_AUTORIZACAO: Consentimento expirou antes que o usuário pudesse confirmá-lo; - REJEITADO_USUARIO: O usuário rejeitou a autorização do consentimento; - VALOR_ACIMA_LIMITE: O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outros] para permitir a realização de transações pelo cliente; - CONTA_NAO_PERMITE_PAGAMENTO: A conta selecionada é do tipo [salario/investimento/liquidação/outros] e não permite realizar esse pagamento; example: O usuário rejeitou a autorização do consentimento Rejection: description: | Motivos de rejeição do consentimento. [Restrição] Preenchimento obrigatório quando /data/status for enviado igual a REJECTED type: object required: - rejectedBy - rejectedFrom - rejectedAt properties: rejectedBy: type: string enum: - USUARIO - INICIADORA - DETENTORA example: 'INICIADORA' rejectedFrom: type: string example: 'DETENTORA' rejectedAt: description: Data e hora em que ocorreu a rejeição do consentimento. type: string format: $date-time example: '2021-05-21T08:30:00Z' reason: type: object required: - code - detail properties: code: description: | Código descritivo do motivo de rejeição do consentimento. - NAO_INFORMADO - FALHA_INFRAESTRUTURA - TEMPO_EXPIRADO_AUTORIZACAO - REJEITADO_USUARIO - VALOR_ACIMA_LIMITE - CONTA_NAO_PERMITE_PAGAMENTO type: string enum: - NAO_INFORMADO - FALHA_INFRAESTRUTURA - TEMPO_EXPIRADO_AUTORIZACAO - REJEITADO_USUARIO - VALOR_ACIMA_LIMITE - CONTA_NAO_PERMITE_PAGAMENTO example: 'VALOR_ACIMA_LIMITE' detail: description: | Detalhes do erro representado pelo código. - NAO_INFORMADO: Não informada pela detentora de conta; - FALHA_INFRAESTRUTURA: [Descrição de qual falha na infraestrutura inviabilizou o processamento]; - TEMPO_EXPIRADO_AUTORIZACAO: Consentimento expirou antes que o usuário pudesse confirmá-lo; - REJEITADO_USUARIO: O usuário rejeitou a autorização do consentimento; - VALOR_ACIMA_LIMITE: O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outros] para permitir a realização de transações pelo cliente; - CONTA_NAO_PERMITE_PAGAMENTO: A conta selecionada é do tipo [salario/investimento/liquidação/outros] e não permite realizar esse pagamento; type: string example: 'VALOR_ACIMA_LIMITE' Cancellation: 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. type: object required: - reason - cancelledFrom - cancelledAt - cancelledBy properties: reason: 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 type: string enum: - CANCELADO_PENDENCIA - CANCELADO_AGENDAMENTO - CANCELADO_MULTIPLAS_ALCADAS example: CANCELADO_PENDENCIA cancelledFrom: 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 type: string enum: - INICIADORA - DETENTORA example: 'INICIADORA' cancelledAt: description: Data e hora que foi realizado o cancelamento, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC. type: string format: date-time maxLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2021-05-21T08:30:00Z' cancelledBy: description: Informação relacionada ao usuário pagador que solicitou o cancelamento do pagamento. type: object required: - document properties: document: description: Objeto que consolida os dados do documento do usuário que solicitou o cancelamento. type: object required: - identification - rel properties: identification: description: Número do documento do usuário pagador responsável pelo cancelamento do pagamento. type: string pattern: '^\d{11}$' maxLength: 11 example: '11111111111' rel: description: Tipo do documento do usuário pagador responsável pelo cancelamento do pagamento. type: string maxLength: 3 pattern: '^[A-Z]{3}$' example: 'CPF' Revocation: description: | Objeto contendo as informações de revogação dos consentimentos. [Restrição] Campo de preenchimento obrigatório caso status do consentimento igual a "REVOKED". type: object required: - revokedBy - revokedFrom properties: revokedBy: description: Quem iniciou a solicitação de revogação. type: string enum: - INICIADORA - USUARIO - DETENTORA example: 'INICIADORA' revokedFrom: description: Canal onde iniciou-se o processo de revogação. type: string enum: - INICIADORA - DETENTORA example: 'DETENTORA' reason: description: Informações sobre o motivo da revogação type: object required: - code - detail properties: code: description: Código indicador do motivo da revogação. type: string enum: - NAO_INFORMADO - REVOGADO_USUARIO - REVOGADO_RECEBEDOR example: REVOGADO_RECEBEDOR detail: description: Detalhe sobre o motivo de revogação indicado no campo /data/revocation/reason/code. type: string maxLength: 2048 pattern: '[\w\W\s]*' example: 'O usuário rejeitou a autorização do consentimento' DebtorAccount: 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. type: object format: io required: - ispb - number - accountType properties: ispb: 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. type: string minLength: 8 maxLength: 8 pattern: '^[0-9]{8}$' example: '12345678' issuer: description: | Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA). type: string minLength: 1 maxLength: 4 pattern: '^[0-9]{1,4}$' example: '1774' number: 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. type: string minLength: 1 maxLength: 20 pattern: '^[0-9]{1,20}$' example: '1234567890' accountType: 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. type: string enum: - CACC - SVGS - TRAN example: 'CACC' CreditorAccount: description: Objeto que contém a identificação da conta de destino do beneficiário/recebedor. type: object required: - ispb - number - accountType properties: ispb: 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. type: string pattern: '^[0-9]{8}$' minLength: 8 maxLength: 8 example: '12345678' issuer: 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) type: string pattern: '^[0-9]{1,4}$' minLength: 1 maxLength: 4 example: '1774' number: 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. type: string pattern: '^[0-9]{1,20}$' minLength: 1 maxLength: 20 example: '1234567890' accountType: 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. type: string enum: - CACC - SVGS - TRAN example: 'CACC' Links: type: object description: Referências para outros recusos da API requisitada. required: - self - first - prev - next - last properties: self: type: string format: url maxLength: 2000 description: URI completo que gerou a resposta atual. example: 'https://api.banco.com.br/open-banking/api/v1/resource' first: type: string format: url maxLength: 2000 description: URI da primeira página que originou essa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta example: 'https://api.banco.com.br/open-banking/api/v1/resource' prev: type: string format: url maxLength: 2000 description: "URI da página anterior dessa lista de resultados. Restrição - \tObrigatório quando não for a primeira página da resposta" example: 'https://api.banco.com.br/open-banking/api/v1/resource' next: type: string format: url maxLength: 2000 description: URI da próxima página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta example: 'https://api.banco.com.br/open-banking/api/v1/resource' last: type: string format: url maxLength: 2000 description: URI da última página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta example: 'https://api.banco.com.br/open-banking/api/v1/resource' LinksSingle: 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' Meta: type: object description: Meta informações referente à API requisitada. required: - totalRecords - totalPages - requestDateTime properties: totalRecords: type: integer format: int32 example: 1 totalPages: type: integer format: int32 example: 1 requestDateTime: description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.' type: string format: date-time maxLength: 20 example: '2021-05-21T08:30:00Z' MetaSingle: 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 example: '2021-05-21T08:30:00Z' ResponseErrorPostConsent: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - FALHA_INFRAESTRUTURA - ERRO_IDEMPOTENCIA - NAO_INFORMADO example: FALHA_INFRAESTRUTURA description: | Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - FALHA_INFRAESTRUTURA - ERRO_IDEMPOTENCIA - NAO_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: - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - FALHA_INFRAESTRUTURA - ERRO_IDEMPOTENCIA - NAO_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: - 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. - FALHA_INFRAESTRUTURA: [Descrição de qual falha na infraestrutura inviabilizou o processamento]. - 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' ResponseErrorPatchConsent: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - CONSENTIMENTO_NAO_PERMITE_ALTERACAO - CONFIGURACAO_RASCUNHOS_INVALIDA - FALHA_INFRAESTRUTURA - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO example: FALHA_INFRAESTRUTURA description: | Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: - CONSENTIMENTO_NAO_PERMITE_ALTERACAO - CONFIGURACAO_RASCUNHOS_INVALIDA - FALHA_INFRAESTRUTURA - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO title: type: string maxLength: 255 pattern: '[\w\W\s]*' example: FALHA_INFRAESTRUTURA description: | Título específico do erro reportado, de acordo com o código enviado: - CONSENTIMENTO_NAO_PERMITE_ALTERACAO - CONFIGURACAO_RASCUNHOS_INVALIDA - FALHA_INFRAESTRUTURA - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO 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: - CONSENTIMENTO_NAO_PERMITE_ALTERACAO: O status do consentimento não permite a realização de alterações (em status final "CONSUMED", "REJECTED" ou "REVOKED"). - CONFIGURACAO_RASCUNHOS_INVALIDA: Os dados informados nos rascunhos estão divergentes das configurações do campo [nome_campo] no consentimento. - FALHA_INFRAESTRUTURA: [Descrição de qual falha na infraestrutura inviabilizou o processamento]. - 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 meta: $ref: '#/components/schemas/Meta' ResponseErrorPostDraft: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - ERRO_IDEMPOTENCIA - RASCUNHO_INVALIDO - RASCUNHO_REPETIDO - QUANTIDADE_TOTAL_ATINGIDA example: PARAMETRO_NAO_INFORMADO description: | Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - ERRO_IDEMPOTENCIA - RASCUNHO_INVALIDO - RASCUNHO_REPETIDO - QUANTIDADE_TOTAL_ATINGIDA title: type: string maxLength: 255 pattern: '[\w\W\s]*' example: PARAMETRO_INVALIDO description: | Título específico do erro reportado, de acordo com o código enviado: - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - ERRO_IDEMPOTENCIA - RASCUNHO_INVALIDO - RASCUNHO_REPETIDO - QUANTIDADE_TOTAL_ATINGIDA 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: - 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). - RASCUNHO_INVALIDO: Parâmetro [nome_campo] não obedecer às regras de negócio. - RASCUNHO_REPETIDO: O draftPaymentId enviado está presente múltiplas vezes na requisição ou já foi informado anteriormente. - QUANTIDADE_TOTAL_ATINGIDA: A quantidade de rascunhos informada ultrapassa a quantidade parametrizada na criação do consentimento. meta: $ref: '#/components/schemas/Meta' ResponseErrorPatchDraft: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - PARAMETRO_INVALIDO - PARAMETRO_NAO_INFORMADO - DATA_PAGAMENTO_INVALIDA - DETALHE_PAGAMENTO_INVALIDO - ERRO_IDEMPOTENCIA - RASCUNHO_NAO_ENCONTRADO example: PARAMETRO_INVALIDO description: | Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos: - PARAMETRO_INVALIDO - PARAMETRO_NAO_INFORMADO - DATA_PAGAMENTO_INVALIDA - DETALHE_PAGAMENTO_INVALIDO - ERRO_IDEMPOTENCIA - RASCUNHO_NAO_ENCONTRADO title: type: string maxLength: 255 pattern: '[\w\W\s]*' example: PARAMETRO_INVALIDO description: | Título específico do erro reportado, de acordo com o código enviado: - PARAMETRO_INVALIDO - PARAMETRO_NAO_INFORMADO - DATA_PAGAMENTO_INVALIDA - DETALHE_PAGAMENTO_INVALIDO - ERRO_IDEMPOTENCIA - RASCUNHO_NAO_ENCONTRADO detail: type: string maxLength: 2048 pattern: '[\w\W\s]*' example: 'Forma de pagamento [Modalidade] não suportada.' description: | - PARAMETRO_INVALIDO: Parâmetro [nome_campo] não obedece as regras de formatação esperadas. - PARAMETRO_NAO_INFORMADO: Parâmetro [nome_campo] obrigatório não informado. - DATA_PAGAMENTO_INVALIDA: Data de pagamento inválida para a forma de pagamento selecionada. - DETALHE_PAGAMENTO_INVALIDO: Parâmetro [nome_campo] não obedecer às regras de negócio. - ERRO_IDEMPOTENCIA: Conteúdo da mensagem (claim data) diverge do conteúdo associado a esta chave de idempotência (x-idempotency-key). - RASCUNHO_NAO_ENCONTRADO: Um ou mais dos identificadores de rascunho enviados (`draftPaymentId`) não foram encontrados para edição. meta: $ref: '#/components/schemas/Meta' ResponseErrorPatch: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - PAGAMENTO_NAO_PERMITE_CANCELAMENTO - CONSENTIMENTO_INVALIDO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - ERRO_IDEMPOTENCIA - RASCUNHO_INEXISTENTE example: PARAMETRO_INVALIDO description: | Define o código da razão pela qual o consentimento foi rejeitado. - PAGAMENTO_NAO_PERMITE_CANCELAMENTO - CONSENTIMENTO_INVALIDO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - ERRO_IDEMPOTENCIA - RASCUNHO_INEXISTENTE detail: type: string maxLength: 2048 pattern: '[\w\W\s]*' example: 'Forma de pagamento [Modalidade] não suportada.' description: | - PAGAMENTO_NAO_PERMITE_CANCELAMENTO: Pagamento não permite cancelamento. - CONSENTIMENTO_INVALIDO: Consentimento inválido (em status final "CONSUMED", "REJECTED" OU "REVOKED"). - 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: Erro idempotência - RASCUNHO_INEXISTENTE: O identificador do rascunho [draftPaymentId] não foi encontrado. meta: $ref: '#/components/schemas/Meta' ResponseErrorPost: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 3 items: type: object required: - code - title - detail properties: code: type: string enum: - SALDO_INSUFICIENTE - PAGAMENTO_REALIZADO - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - QRCODE_INVALIDO - QRCODE_VALOR_DIVERGENTE - CONSENTIMENTO_INVALIDO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - NAO_INFORMADO - DETALHE_PAGAMENTO_INVALIDO - PAGAMENTO_RECUSADO_DETENTORA - ERRO_IDEMPOTENCIA - CONSENTIMENTO_PENDENTE_AUTORIZACAO - RASCUNHO_INEXISTENTE example: PARAMETRO_INVALIDO description: | Define o código da razão pela qual o consentimento foi rejeitado. - SALDO_INSUFICIENTE - PAGAMENTO_REALIZADO - VALOR_ACIMA_LIMITE - VALOR_INVALIDO - QRCODE_INVALIDO - QRCODE_VALOR_DIVERGENTE - CONSENTIMENTO_INVALIDO - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - NAO_INFORMADO - DETALHE_PAGAMENTO_INVALIDO - PAGAMENTO_RECUSADO_DETENTORA - ERRO_IDEMPOTENCIA - CONSENTIMENTO_PENDENTE_AUTORIZACAO - RASCUNHO_INEXISTENTE detail: type: string maxLength: 2048 pattern: '[\w\W\s]*' example: 'Forma de pagamento [Modalidade] não suportada.' description: | - SALDO_INSUFICIENTE - Esta conta não possui saldo suficiente para realizar o pagamento. - PAGAMENTO_REALIZADO - A tentativa de pagamento para o draftPaymentId não pode ser realizada pois o mesmo já foi liquidado. - VALOR_ACIMA_LIMITE - O valor ultrapassa o limite estabelecido [na instituição/no arranjo/outros] para permitir a realização de transações pelo cliente. - VALOR_INVALIDO - O valor enviado não é válido. - QRCODE_INVALIDO - Validação de expiração, validação de vencimento, ou validação adicional no QR Code. - QRCODE_VALOR_DIVERGENTE - O valor enviado diverge do informado QR Code. - CONSENTIMENTO_INVALIDO - Consentimento inválido (em status final "CONSUMED", "REJECTED" ou "REVOKED"). - 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. - NAO_INFORMADO - Não reportado/identificado pela instituição detentora de conta. - DETALHE_PAGAMENTO_INVALIDO - Detalhe do pagamento inválido. - PAGAMENTO_RECUSADO_DETENTORA - Pagamento recusado pela detentora de conta. - ERRO_IDEMPOTENCIA - Erro idempotência. - CONSENTIMENTO_PENDENTE_AUTORIZACAO - Consentimento pendente autorização de múltiplas alçadas (status "PARTIALLY_ACCEPTED"). - RASCUNHO_INEXISTENTE - O identificador do rascunho [draftPaymentId] não foi encontrado. meta: $ref: '#/components/schemas/Meta' 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: - totalRecords - totalPages properties: totalRecords: type: integer format: int32 description: Número total de registros no resultado example: 1 totalPages: type: integer format: int32 description: Número total de páginas no resultado example: 1 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()+,\-.:=@;$_!*''%\/?#]+$' minLength: 1 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* maxLength: 2048 xCustomerUserAgent: name: x-customer-user-agent in: header description: Indica o user-agent que o usuário utiliza. required: false schema: type: string pattern: '[\w\W\s]*' minLength: 1 maxLength: 100 xFapiAuthDate: name: x-fapi-auth-date in: header description: 'Data em que o usuário logou pela última vez com o iniciador. Representada de acordo com a [RFC7231](https://tools.ietf.org/html/rfc7231).Exemplo: Sun, 10 Sep 2017 19:43:31 UTC' required: false schema: type: string pattern: '^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$' minLength: 29 maxLength: 29 xFapiCustomerIpAddress: name: x-fapi-customer-ip-address in: header description: O endereço IP do usuário se estiver atualmente logado com o iniciador. required: false schema: type: string pattern: '[\w\W\s]*' minLength: 1 maxLength: 100 xFapiInteractionId: name: x-fapi-interaction-id in: header description: Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. A detentora deve obrigatoriamente retornar o campo com o mesmo valor recebido da iniciadora. Caso não recebido ou recebido um valor inválido, a detentora deve gerar um x-fapi-interaction-id e retornar na resposta de erro. O iniciador deve acatar o valor recebido do detentor. 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 minLength: 1 maxLength: 40 pattern: ^(?!\s)(.*)(\S)$ draftPaymentId: description: Identificador único do rascunho de pagamento. name: draftPaymentId in: query schema: type: string pattern: ^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$ minLength: 1 maxLength: 256 startDate: name: startDate in: query description: Data inicial de corte da ocorrência do pagamento ligada ao consentimento de longa duração. required: false schema: type: string pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' minLength: 10 maxLength: 10 endDate: name: endDate in: query description: Data final de corte para recuperação da ocorrência do pagamento ligada ao consentimento de longa duração. required: false schema: type: string pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' minLength: 10 maxLength: 10 page: name: page in: query description: Número da página que está sendo requisitada (o valor da primeira página é 1). schema: type: integer default: 1 minimum: 1 maximum: 2147483647 format: int32 pageSize: name: page-size in: query description: Quantidade total de registros por páginas. schema: type: integer default: 25 minimum: 1 format: int32 maximum: 1000 pagination-key: name: pagination-key in: query description: 'Identificador de rechamada, utilizado para evitar a contagem de chamadas ao endpoint durante a paginação.' schema: type: string maxLength: 2048 pattern: '[\w\W\s]*' status: name: status in: query description: Filtra os pagamentos que estejam no estado selecionado. schema: type: string maxLength: 100 enum: - RCVD - CANC - ACCP - ACPD - RJCT - ACSC - PDNG securitySchemes: 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. openid: Indica que a autorização está sendo realizada utilizando o protocolo definido pela openid. 'consent:consentId': Escopo contendo o identificador único do consentimento criado para a iniciação de pagamento solicitada responses: 201Consents: description: '\-' content: application/json: schema: $ref: '#/components/schemas/Response201Consents' 200GetConsentsConsentId: description: '\-' content: application/json: schema: $ref: '#/components/schemas/ConsentsConsentId' 201ConsentsDraft: description: '\-' content: application/json: schema: $ref: '#/components/schemas/Response201ConsentsDraft' 200GetConsentsDraft: description: '\-' content: application/json: schema: $ref: '#/components/schemas/ConsentsConsentIdDraft' 201ConsentsPayments: description: '\-' content: application/json: schema: $ref: '#/components/schemas/Response201ConsentIdPayments' 200GetConsentsPayments: description: '\-' content: application/json: schema: $ref: '#/components/schemas/ConsentsConsentIdPayments' 200GetConsentsPaymentId: description: '\-' content: application/json: schema: $ref: '#/components/schemas/ConsentsConsentIdPaymentId' UnprocessablePostConsents: description: Seguir as orientações presentes na descrição da API, item 1.3 do _header_ da API e seus subitens content: application/jwt: schema: $ref: '#/components/schemas/ResponseErrorPostConsent' UnprocessablePatchConsents: description: Seguir as orientações presentes na descrição da API, item 1.3 do _header_ da API e seus subitens content: application/jwt: schema: $ref: '#/components/schemas/ResponseErrorPatchConsent' UnprocessablePostDraft: description: Seguir as orientações presentes na descrição da API, item 1.3 do _header_ da API e seus subitens content: application/jwt: schema: $ref: '#/components/schemas/ResponseErrorPostDraft' UnprocessablePatchDraft: description: Seguir as orientações presentes na descrição da API, item 1.3 do _header_ da API e seus subitens content: application/jwt: schema: $ref: '#/components/schemas/ResponseErrorPatchDraft' UnprocessablePatch: description: Seguir as orientações presentes na descrição da API, item 1.3 do _header_ da API e seus subitens content: application/jwt: schema: $ref: '#/components/schemas/ResponseErrorPatch' UnprocessablePost: description: Seguir as orientações presentes na descrição da API, item 1.3 do _header_ da API e seus subitens content: application/jwt: schema: $ref: '#/components/schemas/ResponseErrorPost' Default: description: '\-' content: application/json: schema: $ref: '#/components/schemas/ResponseError'