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

# Gerar PIX Dinâmico

> Cria uma cobrança PIX independente de uma cobrança pré-existente. Suporta idempotência via header Idempotency-Key. Contas pessoa física (CPF) estão sujeitas a um limite de vendas mensal.



## OpenAPI

````yaml POST /charge/pix
openapi: 3.0.0
info:
  title: payera-api
  description: Documentação de endpoints e entidades da payera
  version: '1.0'
  contact: {}
servers:
  - url: https://api.rivoopay.com
security:
  - ApiKeyAuth: []
paths:
  /charge/pix:
    post:
      tags:
        - Charges
      summary: Criar cobrança PIX avulsa
      description: >-
        Cria uma cobrança PIX independente de uma cobrança pré-existente.
        Suporta idempotência via header Idempotency-Key. Contas pessoa física
        (CPF) estão sujeitas a um limite de vendas mensal.
      operationId: ChargeController_createStandalonePixCharge
      parameters:
        - name: Idempotency-Key
          in: header
          description: Chave de Idempotência.
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePixChargeDto'
      responses:
        '201':
          description: Cobrança PIX criada com sucesso
          headers:
            Idempotent-Replayed:
              description: Set to "true" when returning a cached response
              schema:
                type: string
                example: 'true'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PixChargeResponseDto'
        '400':
          description: Requisição inválida para cobrança PIX
        '404':
          description: Empresa não encontrada
        '409':
          description: Conflito de idempotência - chave já usada com parâmetros diferentes
components:
  schemas:
    CreatePixChargeDto:
      type: object
      properties:
        amount:
          type: number
          example: 10000
          description: 'Valor em centavos. Mínimo: R$ 5,00 (500 centavos)'
        expiresIn:
          type: number
          example: 3600
          description: 'Tempo de expiração em segundos (padrão: 1800 - 30 minutos)'
        externalId:
          type: string
          example: ext_charge_123
          description: ID externo para correlação com o sistema integrador
        devMode:
          type: boolean
          example: false
          description: Modo de desenvolvimento
        customer:
          description: Dados do cliente (opcional)
          allOf:
            - $ref: '#/components/schemas/CustomerDto'
      required:
        - amount
    PixChargeResponseDto:
      type: object
      properties:
        id:
          type: string
          example: charge_123456
          description: ID da charge
        status:
          type: string
          example: PROCESSING
          description: Status do pagamento
        amount:
          type: number
          example: 10000
          description: Valor em centavos
        brCode:
          type: object
          example: 00020101021226950014br.gov.bcb.pix...
          description: Código QR PIX
          nullable: true
        brCodeBase64:
          type: object
          example: data:image/png;base64,iVBORw0KGgoAAA...
          description: QR Code em base64
          nullable: true
        url:
          type: string
          example: https://pay.rivoopay.com/c/charge_123456
          description: URL do link de pagamento
        createdAt:
          format: date-time
          type: string
          example: '2025-03-24T21:50:20.772Z'
          description: Data de criação
        expiresAt:
          format: date-time
          type: string
          example: '2025-03-25T21:50:20.772Z'
          description: Data de expiração
        externalId:
          type: object
          example: ext_charge_123
          description: ID externo
          nullable: true
        devMode:
          type: boolean
          example: false
          description: Modo de desenvolvimento
      required:
        - id
        - status
        - amount
        - brCode
        - brCodeBase64
        - url
        - createdAt
        - expiresAt
    CustomerDto:
      type: object
      properties:
        taxId:
          type: string
          example: '12345678901'
          description: CPF ou CNPJ do cliente
        name:
          type: string
          example: João Silva
          description: Nome do cliente
        email:
          type: string
          example: joao@example.com
          description: Email do cliente
        phone:
          type: string
          example: '11999999999'
          description: Telefone do cliente
        postalCode:
          type: string
          example: '01234000'
          description: CEP do cliente
        address:
          type: string
          example: Rua ABC
          description: Endereço do cliente
        district:
          type: string
          example: Centro
          description: Bairro do cliente
        number:
          type: string
          example: '123'
          description: Número do endereço
        line1:
          type: string
          example: Apto 101
          description: Complemento do endereço
      required:
        - taxId
        - name
        - email
        - phone
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````