---
title: "Processamento de Pagamento."
method: POST
path: "/open-keys/itp/api/v2/payments/v4/payment-initiation"
tags: ["Iniciação de Pagamento"]
---

# Processamento de Pagamento.

`POST /open-keys/itp/api/v2/payments/v4/payment-initiation`

## Request

- Base URL: `http://localhost:3000`
- URL: `http://localhost:3000/open-keys/itp/api/v2/payments/v4/payment-initiation`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://keycloak.sandbox.shared.fsapps.io/auth/realms/openkeys-itp-v2-sandbox-dev/protocol/openid-connect/token` scopes: `journey`, `app`

Método para Processamento de Pagamento.

## Request body

- CreatePaymentsV4PaymentInitiation
  - `brandId` string, required: ID é o identificador único da marca
  - `journeySessionId` string: O ID é o identificador único da jornada
  - `redirectUrl` string, uri: O URI de redirecionamento autorizado pela aplicação.
  - `directoryCallback` boolean: Indica se o redirecionamento é direto do diretório
  - `enrollment` CreatePaymentsV4PaymentInitiationEnrollment
    - `rp` string, required: Identificador único da Relying Party, que corresponde ao valor do CN do certificado de transporte da iniciadora.
    - `platform` 'ANDROID' | 'BROWSER' | 'CROSS_PLATFORM' | 'IOS', required: Indica a plataforma em que o usuário está utilizando a credencial FIDO2. Este campo permite que o servidor FIDO inclua extensões de acordo com a plataforma utilizada.
    - `enrollmentId` string, required: O ID é o identificador único do vínculo
  - `tags` string: Tags que podem ser usadas para classificar a sessão da jornada.
  - `data` PaymentsV4PaymentInitiationData, required
    - `loggedUser` PaymentsV4PaymentInitiationDataLoggedUser, required
      - `document` UserDocument, required
        - `identification` string, required
        - `rel` string, required
    - `businessEntity` PaymentsV4PaymentInitiationDataBusinessEntity
      - `document` BusinessDocument, required
        - `identification` string, required
        - `rel` string, required
    - `creditor` PaymentsV4PaymentInitiationDataCreditor, required
      - `cpfCnpj` string, required
      - `personType` 'PESSOA_NATURAL' | 'PESSOA_JURIDICA', required
      - `name` string, required
    - `payment` PaymentsV4PaymentInitiationDataPayment, required
      - `type` 'PIX', required: Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento.
      - `schedule` PaymentsV4PaymentInitiationDataPaymentSchedule
        - `single` PaymentsV4PaymentInitiationDataPaymentScheduleSingle
          - `date` string, required
        - `daily` PaymentsV4PaymentInitiationDataPaymentScheduleDaily
          - `startDate` string, required: Define o início da vigência da recorrência.
          - `quantity` integer, required: Define a quantidade de pagamentos que serão enviados para liquidação.
        - `weekly` PaymentsV4PaymentInitiationDataPaymentScheduleWeekly
          - `dayOfWeek` 'SEGUNDA_FEIRA' | 'TERCA_FEIRA' | 'QUARTA_FEIRA' | 'QUINTA_FEIRA' | 'SEXTA_FEIRA' | 'SABADO' | 'DOMINGO', required: Define o dia da semana planejado para a ocorrência das liquidações.
          - `startDate` string, required: Define o início da vigência da recorrência.
          - `quantity` integer, required: Define a quantidade de pagamentos que serão enviados para liquidação.
        - `monthly` PaymentsV4PaymentInitiationDataPaymentScheduleMonthly
          - `dayOfMonth` integer, required: Define o dia do mês planejado para a ocorrência das liquidações.
          - `startDate` string, required: Define o início da vigência da recorrência.
          - `quantity` integer, required: Define a quantidade de pagamentos que serão enviados para liquidação.
        - `custom` PaymentsV4PaymentInitiationDataPaymentScheduleCustom
          - `dates` string[], required: Define os dias em que estão planejadas as ocorrências das liquidações.
          - `additionalInformation` string, required
      - `date` string: [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` string, required: 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` string, required: 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` string
      - `details` PaymentsV4PaymentInitiationDataPaymentDetails, required
        - `localInstrument` 'MANU' | 'DICT' | 'QRDN' | 'QRES' | 'INIC', required: 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.
        - `qrCode` string
        - `proxy` string: 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` PaymentsV4PaymentInitiationDataPaymentDetailsCreditorAccount, required
          - `accountType` 'CACC' | 'TRAN' | 'SVGS', required: 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.
          - `ispb` string, required: 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` string: Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA).
          - `number` string, required: 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.
    - `debtorAccount` PaymentsV4PaymentInitiationDataDebtorAccount
      - `accountType` 'CACC' | 'TRAN' | 'SVGS', required: 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.
      - `ispb` string, required: 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` string: Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA).
      - `number` string, required: 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.
    - `remittanceInformation` string: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor.

## Response `200`

Payment Processing successfully returned.

- PaymentsV4PaymentInitiation
  - `id` string, required: O ID é o identificador único do ITP
  - `paymentInitiationApi` 'PAYMENTS_V4', required
  - `createdAt` string, required
  - `updatedAt` string, required
  - `deletedAt` string, required
  - `brandId` string, required: ID é o identificador único da marca
  - `journeySessionId` string: O ID é o identificador único da jornada
  - `redirectUrl` string, uri: O URI de redirecionamento autorizado pela aplicação.
  - `directoryCallback` boolean: Indica se o redirecionamento é direto do diretório
  - `enrollment` PaymentsV4PaymentInitiationEnrollment
    - `rp` string, required: Identificador único da Relying Party, que corresponde ao valor do CN do certificado de transporte da iniciadora.
    - `platform` 'ANDROID' | 'BROWSER' | 'CROSS_PLATFORM' | 'IOS', required: Indica a plataforma em que o usuário está utilizando a credencial FIDO2. Este campo permite que o servidor FIDO inclua extensões de acordo com a plataforma utilizada.
    - `enrollmentId` string, required: O ID é o identificador único do vínculo
  - `tags` string: Tags que podem ser usadas para classificar a sessão da jornada.
  - `data` PaymentsV4PaymentInitiationData, required
    - `loggedUser` PaymentsV4PaymentInitiationDataLoggedUser, required
      - `document` UserDocument, required
        - `identification` string, required
        - `rel` string, required
    - `businessEntity` PaymentsV4PaymentInitiationDataBusinessEntity
      - `document` BusinessDocument, required
        - `identification` string, required
        - `rel` string, required
    - `creditor` PaymentsV4PaymentInitiationDataCreditor, required
      - `cpfCnpj` string, required
      - `personType` 'PESSOA_NATURAL' | 'PESSOA_JURIDICA', required
      - `name` string, required
    - `payment` PaymentsV4PaymentInitiationDataPayment, required
      - `type` 'PIX', required: Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento.
      - `schedule` PaymentsV4PaymentInitiationDataPaymentSchedule
        - `single` PaymentsV4PaymentInitiationDataPaymentScheduleSingle
          - `date` string, required
        - `daily` PaymentsV4PaymentInitiationDataPaymentScheduleDaily
          - `startDate` string, required: Define o início da vigência da recorrência.
          - `quantity` integer, required: Define a quantidade de pagamentos que serão enviados para liquidação.
        - `weekly` PaymentsV4PaymentInitiationDataPaymentScheduleWeekly
          - `dayOfWeek` 'SEGUNDA_FEIRA' | 'TERCA_FEIRA' | 'QUARTA_FEIRA' | 'QUINTA_FEIRA' | 'SEXTA_FEIRA' | 'SABADO' | 'DOMINGO', required: Define o dia da semana planejado para a ocorrência das liquidações.
          - `startDate` string, required: Define o início da vigência da recorrência.
          - `quantity` integer, required: Define a quantidade de pagamentos que serão enviados para liquidação.
        - `monthly` PaymentsV4PaymentInitiationDataPaymentScheduleMonthly
          - `dayOfMonth` integer, required: Define o dia do mês planejado para a ocorrência das liquidações.
          - `startDate` string, required: Define o início da vigência da recorrência.
          - `quantity` integer, required: Define a quantidade de pagamentos que serão enviados para liquidação.
        - `custom` PaymentsV4PaymentInitiationDataPaymentScheduleCustom
          - `dates` string[], required: Define os dias em que estão planejadas as ocorrências das liquidações.
          - `additionalInformation` string, required
      - `date` string: [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` string, required: 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` string, required: 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` string
      - `details` PaymentsV4PaymentInitiationDataPaymentDetails, required
        - `localInstrument` 'MANU' | 'DICT' | 'QRDN' | 'QRES' | 'INIC', required: 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.
        - `qrCode` string
        - `proxy` string: 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` PaymentsV4PaymentInitiationDataPaymentDetailsCreditorAccount, required
          - `accountType` 'CACC' | 'TRAN' | 'SVGS', required: 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.
          - `ispb` string, required: 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` string: Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA).
          - `number` string, required: 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.
    - `debtorAccount` PaymentsV4PaymentInitiationDataDebtorAccount
      - `accountType` 'CACC' | 'TRAN' | 'SVGS', required: 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.
      - `ispb` string, required: 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` string: Código da Agência emissora da conta sem dígito. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória). [Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA) e SVGS (CONTA_POUPANCA).
      - `number` string, required: 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.
    - `remittanceInformation` string: Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor.
  - `journeySession` Journey
    - `id` string, required: O ID da jornada. É um número exclusivo que identifica a jornada.
    - `createdAt` string, required
    - `updatedAt` string, required
    - `deletedAt` string, required
    - `alias` string, required: Alias de identificação da jornada
    - `acceptPaymentInitiationApis` string[]
    - `name` string, required: Nome de identificação da jornada
    - `description` string: Descrição da jornada
    - `settings` JourneySettings[]: Lista de configurações da jornada
      - `key` 'JOURNEY_RULES' | 'PRIORITIES_BRANDS' | 'ALLOWED_CPF' | 'DISABLE_BRANDS', required: Tipos de chaves usadas para a customização da jornada. - JOURNEY_RULES - Regras para execução da jornada. - PRIORITIES_BRANDS - Lista de ids dos brands prioritátios
      - `value` string, required: Valor da configuração.
  - `applicationId` string, required: O ID da aplicação. É um número exclusivo que identifica a aplicação.
  - `tokenId` string, required
  - `authorizationUrl` string, uri, required
  - `ofConsentId` string, required
  - `ofConsent` OfConsent
    - `id` string, required: O ID é o identificador único do ITP Consent
    - `paymentInitiationId` string, required: O ID é o identificador único do ITP
    - `data` object, required
    - `brandId` string, required
    - `consentId` string, required
    - `authorization_url` string, uri, required
    - `status` 'AWAITING_AUTHORISATION' | 'AUTHORISED' | 'REJECTED' | 'CONSUMED', required: | 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
    - `access_token` string, required
  - `idempotencyKey` string, required
  - `ofPayments` OfPayment[]
    - `id` string, required: O ID é o identificador único do ITP Payment
    - `paymentInitiationId` string, required: O ID é o identificador único do ITP
    - `consentId` string, required: É o id do consentimento regulatório
    - `endToEndId` string, required
    - `idempotencyKey` string, required
    - `schedule` object
    - `date` string
    - `paymentId` string, required
  - `httpCalls` PaymentsV4PaymentInitiationHttpCalls[]
    - `id` string, required
    - `externalId` string, required: Id de referencia do objeto que requisitou a chamada
    - `request` PaymentsV4PaymentInitiationHttpCallsRequest, required
      - `url` string, required
      - `method` string, required
      - `headers` PaymentsV4PaymentInitiationHttpCallsRequestHeaders, required
        - `x-fapi-interaction-id` string
        - `x-correlation-id` string
    - `response` PaymentsV4PaymentInitiationHttpCallsResponse, required
      - `data` object: Inserido apenas em caso de erro.
      - `status` string, required
      - `statusText` string, required
      - `headers` object, required
    - `createdAt` string, required
    - `updatedAt` string, required
    - `deletedAt` string, required

## Other responses

- `401`: É necessária autenticação para acessar este recurso. O cliente deve fornecer credenciais válidas.
- `403`: O servidor entendeu a solicitação, mas se recusa a autorizá-la. O acesso é permanentemente proibido e vinculado à lógica da aplicação.
- `409`: A solicitação está em conflito com o estado atual do recurso no servidor.
- `422`: A solicitação contém dados inválidos ou mal formados que não podem ser processados.
- `500`: Ocorreu um erro inesperado no servidor ao processar a solicitação.
- `default`: Erro inesperado.

---

[API](https://skmtc.dev/celcoin/apis/api-itp-v2.md) - [All operations](https://skmtc.dev/celcoin/apis/api-itp-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/celcoin/apis/api-itp-v2/revisions/be47794b8e2c?raw)
