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

# Create a PIX Payment

> Create a PIX payment through the legacy v1 API.



## OpenAPI

````yaml api-reference/openapi-v1.json POST /pix/v1/payment
openapi: 3.1.0
info:
  title: API PIX - v1
  description: >-
    API for Pagou.ai Gateway


    Warning: API v1 is legacy and not recommended for new integrations. It
    receives security updates only.
  version: 2.0.0
  contact:
    name: Support
    url: https://pagou.ai
    email: support@pagou.ai
servers:
  - url: https://api.pagou.ai
    description: Production server
  - url: https://api.sandbox.pagou.ai
    description: Sandbox server for testing
security:
  - ApiKeyAuth: []
paths:
  /pix/v1/payment:
    post:
      tags:
        - API - Payments
      summary: Create a PIX Payment
      description: Create a new payment
      operationId: postPixPayment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - PIX
                payer:
                  type: object
                  properties:
                    fullName:
                      type: string
                      minLength: 1
                    document:
                      type: string
                      pattern: ^\d{11}$|^\d{14}$
                    contact:
                      type: object
                      properties:
                        mail:
                          type: string
                          format: email
                          pattern: >-
                            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                        phone:
                          type: string
                          minLength: 10
                          maxLength: 15
                      required:
                        - mail
                    address:
                      type: object
                      properties:
                        zipCode:
                          type: string
                          minLength: 8
                          maxLength: 8
                        street:
                          type: string
                          minLength: 1
                        neighboor:
                          type: string
                          minLength: 1
                        neighborhood:
                          type: string
                          minLength: 1
                        number:
                          type: string
                          minLength: 1
                        city:
                          type: string
                          minLength: 1
                        state:
                          type: string
                          minLength: 2
                        country:
                          type: string
                          minLength: 1
                      required:
                        - street
                        - number
                        - city
                        - state
                        - country
                  required:
                    - fullName
                transaction:
                  type: object
                  properties:
                    value:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                    description:
                      type: string
                      minLength: 1
                    expirationTime:
                      type: integer
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 2147483647
                    dueDate:
                      type: string
                    externalId:
                      type: string
                      minLength: 1
                  required:
                    - value
                splits:
                  type: array
                  items:
                    type: object
                    properties:
                      pixKey:
                        type: string
                        minLength: 1
                      pixKeyType:
                        type: string
                        enum:
                          - DOCUMENT
                          - MAIL
                          - RANDOM_KEY
                      document:
                        type: string
                        pattern: ^\d{11}$|^\d{14}$
                      percent:
                        type: number
                        minimum: 0
                        maximum: 100
                      amount:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                      externalId:
                        type: string
                        minLength: 1
                    required:
                      - pixKey
                      - pixKeyType
                      - document
                      - percent
                      - amount
                      - externalId
              required:
                - type
                - payer
                - transaction
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  transactionId:
                    type: string
                  status:
                    type: string
                    enum:
                      - IN_ANALYSIS
                      - WAITING_CONFIRMATION
                      - WAITING_PAYMENT
                      - WAITING_WITHDRAW
                      - WITHDRAW_REQUEST
                      - WITHDRAW_PAID
                      - WEBHOOK_UPDATED
                      - WEBHOOK_ERROR
                      - PAID
                      - CANCELLED
                      - REVERSED
                      - REFUND
                      - REFUND_IN
                      - REFUND_OUT
                      - SOFT_REFUND
                      - ERROR
                      - PENDING_APPROVAL
                      - APPROVED
                      - DECLINED
                  pixQrCode:
                    type: string
                  pixCode:
                    type: string
                  generateTime:
                    type: string
                  expirationDate:
                    type: string
                  paymentLink:
                    nullable: true
                    type: string
                required:
                  - transactionId
                  - status
                  - pixQrCode
                  - pixCode
                  - generateTime
                  - expirationDate
                  - paymentLink
                additionalProperties: false
              example:
                transactionId: trn_2d02fb2dbfa5479bbd8ec8ad5d629b9e
                status: WAITING_PAYMENT
                pixQrCode: >-
                  00020101021226830014br.gov.bcb.pix2558example.com/pix/33f8fcb9-54aa-4f2c-8a66-466067f225cb5204000053039865802BR5921PAGOU
                  SANDBOX TESTE6008SaoPaulo62070503***6304D17A
                pixCode: 000201010212...6304D17A
                generateTime: '2026-02-06T19:52:13.295Z'
                expirationDate: '2026-02-06T20:52:13.295Z'
                paymentLink: null
        '422':
          description: Validation error (RFC 7807)
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
              example:
                type: https://api.pagou.ai/problems/validation-error
                title: Validation Error
                status: 422
                detail: The request contains invalid data.
                instance: /pix/v1/payment
                errors:
                  - field: transaction.value
                    message: Must be greater than zero.
                    code: invalid_type
        default:
          description: RFC 7807 Problem Details error response
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
              example:
                type: https://api.pagou.ai/problems/unauthorized
                title: Unauthorized
                status: 401
                detail: Authentication failed for POST /pix/v1/payment.
                instance: /pix/v1/payment
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ValidationProblemDetails:
      allOf:
        - $ref: '#/components/schemas/ProblemDetails'
        - type: object
          properties:
            errors:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
                  code:
                    type: string
                additionalProperties: true
          additionalProperties: true
    ProblemDetails:
      type: object
      description: RFC 7807 Problem Details object.
      properties:
        type:
          type: string
          format: uri-reference
        title:
          type: string
        status:
          type: number
        detail:
          type: string
        instance:
          type: string
          format: uri-reference
      required:
        - type
        - title
        - status
        - detail
      additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: apiKey

````