> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pluggoucash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gerar transação PIX

> Cria uma cobrança via PIX, retornando o código EMV (copia e cola) para que o pagador realize o pagamento. A transação é processada em tempo real e o status pode ser acompanhado via webhooks cadastrados na sua conta.

Opcionalmente, informe `acquirer_key` ou `acquirers` para escolher adquirente(s) apenas nesta transação (override). Se omitidos, a API utiliza a configuração padrão da conta. O override não altera a configuração persistente — use `PUT /pix-cash-in/acquirers` para isso.



## OpenAPI

````yaml POST /transactions
openapi: 3.1.0
info:
  title: Pluggou API
  description: API de intermediação de pagamentos da Pluggou
  version: 1.0.0
servers:
  - url: https://api.pluggoutech.com/api
security:
  - publicKey: []
    secretKey: []
paths:
  /transactions:
    post:
      tags:
        - Transações
      summary: Gerar transação PIX
      description: >-
        Cria uma cobrança via PIX, retornando o código EMV (copia e cola) para
        que o pagador realize o pagamento. A transação é processada em tempo
        real e o status pode ser acompanhado via webhooks cadastrados na sua
        conta.


        Opcionalmente, informe `acquirer_key` ou `acquirers` para escolher
        adquirente(s) apenas nesta transação (override). Se omitidos, a API
        utiliza a configuração padrão da conta. O override não altera a
        configuração persistente — use `PUT /pix-cash-in/acquirers` para isso.
      operationId: createPixTransaction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePixTransactionRequest'
            example:
              payment_method: pix
              amount: 10000
              buyer:
                buyer_name: João da Silva
                buyer_document: 123.456.789-09
                buyer_phone: '11999999999'
                buyer_city: São Paulo
                buyer_state: SP
                buyer_zipcode: '01001000'
                buyer_neighborhood: Centro
                buyer_number: '100'
                buyer_complement: Sala 1
            examples:
              padrao:
                summary: Transação com configuração padrão da conta
                value:
                  payment_method: pix
                  amount: 10000
                  buyer:
                    buyer_name: João da Silva
                    buyer_document: 123.456.789-09
                    buyer_phone: '11999999999'
              override_adquirentes:
                summary: Transação com override de adquirentes
                value:
                  payment_method: pix
                  amount: 10000
                  acquirers:
                    - acquirer_key: adq_c
                      priority: 1
                    - acquirer_key: adq_a
                      priority: 2
                    - acquirer_key: adq_b
                      priority: 3
                  buyer:
                    buyer_name: Maria Souza
                    buyer_document: '98765432100'
                    buyer_phone: '11988887777'
                    buyer_city: São Paulo
                    buyer_state: SP
                    buyer_zipcode: '01310100'
                  postback_url: https://seusite.com/webhook/pagamento
                  metadata:
                    pedido_id: '12345'
      responses:
        '201':
          description: Transação criada com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePixTransactionSuccess'
              example:
                success: true
                message: Pagamento criado com sucesso!
                data:
                  id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  amount: 10000
                  platform_tax: 149
                  liquid_amount: 9851
                  pix:
                    emv: 00020126580014br.gov.bcb.pix0136...
        '400':
          description: Erro de regra de negócio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                metodo_nao_habilitado:
                  summary: Método não habilitado
                  value:
                    success: false
                    message: >-
                      Este método de pagamento não está habilitado para sua
                      conta.
                    data: null
                valor_maximo:
                  summary: Valor máximo excedido
                  value:
                    success: false
                    message: O valor máximo permitido para transações é de R$ 3.000,00.
                    data: null
                valor_minimo:
                  summary: Valor mínimo após taxas
                  value:
                    success: false
                    message: >-
                      O valor da transação deve resultar em pelo menos R$ 0,10
                      após as taxas.
                    data: null
                erro_processamento:
                  summary: Erro ao processar
                  value:
                    success: false
                    message: Erro ao processar o pagamento. Tente novamente mais tarde.
                    data: null
        '401':
          description: Erro de autenticação
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthErrorResponse'
              examples:
                credenciais_ausentes:
                  summary: Credenciais ausentes
                  value:
                    error: Credenciais inválidas
                    message: Chave pública e chave privada são obrigatórias
                credenciais_invalidas:
                  summary: Credenciais inválidas
                  value:
                    error: Credenciais inválidas
                    message: Chave não encontrada ou inativa
        '403':
          description: Erro de permissão
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                credencial_sem_permissao:
                  summary: Credencial sem permissão
                  value:
                    success: false
                    message: >-
                      Esta credencial não tem permissão para realizar esta
                      operação.
                    data: null
                conta_nao_aprovada:
                  summary: Conta não aprovada
                  value:
                    success: false
                    message: >-
                      Sua conta precisa estar aprovada para usar esta
                      funcionalidade.
                    data: null
                conta_bloqueada:
                  summary: Conta bloqueada
                  value:
                    success: false
                    message: >-
                      Sua conta está bloqueada. Não é permitido realizar esta
                      ação.
                    data: null
        '422':
          description: Erro de validação
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                campos_obrigatorios:
                  summary: Campos obrigatórios inválidos
                  value:
                    success: false
                    message: Erro de validação nos dados fornecidos
                    data:
                      errors:
                        payment_method:
                          - O método de pagamento é obrigatório.
                        amount:
                          - O valor mínimo é R$ 1,00 (100 centavos).
                        buyer.buyer_document:
                          - CPF ou CNPJ do comprador inválido.
                adquirente_indisponivel:
                  summary: Nenhuma adquirente informada disponível
                  value:
                    success: false
                    message: Erro de validação
                    data:
                      errors:
                        acquirers:
                          - >-
                            Nenhuma das adquirentes informadas está disponível
                            para seleção nesta conta.
                prioridade_duplicada:
                  summary: Prioridade duplicada
                  value:
                    success: false
                    message: Erro de validação
                    data:
                      errors:
                        acquirers:
                          - >-
                            Não é permitido informar a mesma prioridade mais de
                            uma vez.
                adquirente_repetida:
                  summary: Adquirente repetida em prioridades diferentes
                  value:
                    success: false
                    message: Erro de validação
                    data:
                      errors:
                        acquirers:
                          - >-
                            Não é permitido repetir a mesma adquirente em
                            prioridades diferentes.
        '500':
          description: Erro interno do servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                message: Ocorreu um erro ao criar o pagamento.
                data: null
components:
  schemas:
    CreatePixTransactionRequest:
      type: object
      required:
        - payment_method
        - amount
        - buyer
      properties:
        payment_method:
          type: string
          enum:
            - pix
          description: Método de pagamento. Para cobranças PIX, envie sempre `pix`.
        amount:
          type: integer
          description: >-
            Valor da transação em centavos. Ex: para R$ 100,00 envie `10000`.
            Mínimo: R$ 1,00 (`100`). Máximo: R$ 3.000,00 (`300000`). Após taxas,
            o valor líquido deve ser de no mínimo R$ 0,10.
          example: 10000
          minimum: 100
        acquirers:
          type: array
          maxItems: 3
          description: >-
            Até 3 adquirentes com prioridade para override nesta transação.
            Mutuamente exclusivo com `acquirer_key`. Adquirentes indisponíveis
            são ignoradas silenciosamente.
          items:
            $ref: '#/components/schemas/AcquirerSelectionItem'
        postback_url:
          type: string
          format: uri
          description: URL opcional para receber notificação de postback desta transação.
        metadata:
          type: object
          description: Metadados opcionais em formato livre (objeto JSON).
          additionalProperties: true
        buyer:
          type: object
          required:
            - buyer_name
            - buyer_document
            - buyer_phone
          description: Dados do comprador.
          properties:
            buyer_name:
              type: string
              description: Nome completo do comprador.
              example: João da Silva
            buyer_document:
              type: string
              description: CPF ou CNPJ do comprador. Aceita com ou sem formatação.
              example: 123.456.789-09
            buyer_phone:
              type: string
              description: Telefone do comprador com DDD, apenas números.
              example: '11999999999'
            buyer_city:
              type: string
              description: Cidade do comprador.
              example: São Paulo
            buyer_state:
              type: string
              description: Estado do comprador (sigla UF, 2 caracteres).
              example: SP
            buyer_zipcode:
              type: string
              description: CEP do comprador, apenas números.
              example: '01001000'
            buyer_neighborhood:
              type: string
              description: Bairro do comprador.
              example: Centro
            buyer_number:
              type: string
              description: Número do endereço do comprador.
              example: '100'
            buyer_complement:
              type: string
              description: Complemento do endereço do comprador.
              example: Sala 1
    CreatePixTransactionSuccess:
      type: object
      properties:
        success:
          type: boolean
          description: Indica se a operação foi bem-sucedida.
        message:
          type: string
          description: Mensagem descritiva do resultado.
        data:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Identificador único da transação (UUID).
            amount:
              type: integer
              description: Valor total da transação em centavos.
            platform_tax:
              type: integer
              description: Valor da taxa da plataforma em centavos.
            liquid_amount:
              type: integer
              description: >-
                Valor líquido creditado na sua conta em centavos (amount -
                platform_tax).
            pix:
              type: object
              properties:
                emv:
                  type: string
                  description: Código EMV (copia e cola) do PIX para pagamento.
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Sempre `false` em caso de erro.
        message:
          type: string
          description: Mensagem descritiva do erro.
        data:
          type: object
          nullable: true
          description: Sempre `null` em erros simples.
    AuthErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Tipo do erro de autenticação.
        message:
          type: string
          description: Mensagem descritiva do erro.
    ValidationErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Sempre `false` em caso de erro.
        message:
          type: string
          description: Mensagem descritiva do erro.
        data:
          type: object
          properties:
            errors:
              type: object
              description: >-
                Objeto onde cada chave é o nome do campo e o valor é um array
                com as mensagens de erro.
              additionalProperties:
                type: array
                items:
                  type: string
    AcquirerSelectionItem:
      type: object
      required:
        - acquirer_key
      properties:
        acquirer_key:
          type: string
          maxLength: 64
          pattern: ^[a-z0-9_]+$
          description: >-
            Identificador da adquirente. Consulte via `GET
            /pix-cash-in/acquirers`.
        priority:
          type: integer
          enum:
            - 1
            - 2
            - 3
          default: 1
          description: 'Prioridade de uso: 1 (primária), 2 (secundária) ou 3 (terciária).'
  securitySchemes:
    publicKey:
      type: apiKey
      in: header
      name: X-Public-Key
      description: 'Sua chave pública de acesso à API. Ex: `pk_live_abc123def456...`'
    secretKey:
      type: apiKey
      in: header
      name: X-Secret-Key
      description: 'Sua chave secreta de acesso à API. Ex: `sk_live_xyz789ghi012...`'

````