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

# Crear transacción entrante (Brasil)

> Crea una transacción entrante para recibir un pago. Devuelve un código QR para que el pagador lo escanee.
La cuenta debe ser de Brasil (BRL). La transacción inicia en estado `pending` hasta confirmarse el pago.




## OpenAPI

````yaml /api-reference/openapi.es.yaml post /br/transactions/inbound
openapi: 3.1.0
info:
  title: HG.Cash API
  description: >
    # 🚀 API de transacciones HG.Cash


    API REST moderna para que los usuarios creen transacciones de salida desde
    sus cuentas.


    ## 🧾 Cómo funciona


    - HG.Cash asigna cuentas a su usuario

    - Cuando estas cuentas tienen movimientos (entrada o salida), HG.Cash
    notificará su backend usando la URL de webhook que configure en el panel de
    HG.Cash

    - **Firma de webhooks (HMAC)**: En la configuración de la cuenta puede
    generar un secreto de firma. Cuando está configurado, cada POST de webhook
    incluye el encabezado `X-HG-Webhook-Signature: sha256=<hex>` donde el valor
    es HMAC-SHA256 del cuerpo JSON sin procesar usando su secreto. Verifíquelo
    en su endpoint para asegurar que la solicitud es auténtica.

    - Para crear retiros (dinero que sale de sus cuentas), debe llamar al
    endpoint **Cash Out**: **Crear solicitud de transacción** (`POST
    /transactions`)


    ## 📊 Primeros pasos


    1. **Genere su token de API** en la página de configuración de la cuenta

    2. **Pruebe los endpoints** usando la documentación interactiva a
    continuación

    3. **Implemente** en sus servicios de backend (nunca exponga tokens en el
    frontend)

    4. **Supervise** su integración y maneje los errores adecuadamente


    ## 🔐 Autenticación


    Esta API usa autenticación **Bearer Token**. Incluya el token de API del
    usuario en el encabezado Authorization, por ejemplo `Authorization: Bearer
    cash_your_token_here`.


    ## ⚠️ Notas importantes de seguridad


    - Nunca comparta ni exponga su token de autenticación de API de usuario

    - Almacene los tokens de forma segura solo en sus servidores de backend

    - Todas las llamadas a la API deben realizarse desde servicios de backend
    seguros

    - Contacte a los administradores inmediatamente si su token se ve
    comprometido
  version: 1.0.0
  contact:
    name: HG.Cash API Support
    email: api-support@hg.cash
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://hg.cash/api/v1
    description: Servidor de producción
  - url: http://dev.hg.cash/api/v1
    description: Servidor de desarrollo
security:
  - bearerAuth: []
tags:
  - name: Transacciones
    description: >-
      Gestión de transacciones - Crear y administrar transacciones en el sistema
      HG.Cash. Todos los endpoints de transacciones requieren autenticación.
  - name: Cuentas
    description: >-
      Cuentas - Obtener información de cuentas y saldos del usuario autenticado.
      Todos los endpoints de cuentas requieren autenticación.
  - name: Datos de referencia
    description: >-
      Datos de referencia - Obtener datos de referencia como estados y tipos de
      transacción. Estos endpoints requieren autenticación.
  - name: Webhooks
    description: Webhooks - Notificaciones de eventos enviadas a su endpoint HTTP.
  - name: Brasil
    description: Brasil — Crear y consultar transacciones PIX (BRL).
  - name: Chile
    description: Chile — Checkout hospedado y payouts bancarios (CLP).
  - name: Bolivia
    description: Bolivia — Cash-in con QR y payouts ACH (BOB).
  - name: Checkouts
    description: Sesiones de checkout hospedado para AR, BR, CL y BO
paths:
  /br/transactions/inbound:
    post:
      tags:
        - Brasil
      summary: Crear transacción entrante (Brasil)
      description: >
        Crea una transacción entrante para recibir un pago. Devuelve un código
        QR para que el pagador lo escanee.

        La cuenta debe ser de Brasil (BRL). La transacción inicia en estado
        `pending` hasta confirmarse el pago.
      operationId: createBrInboundTransaction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InboundTransactionRequest'
      responses:
        '201':
          description: Transacción creada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboundTransactionResponse'
        '400':
          description: Solicitud incorrecta
        '401':
          description: No autorizado
        '403':
          description: Prohibido
        '404':
          description: Cuenta no encontrada
        '502':
          description: Error del proveedor de pagos o respuesta inválida del proveedor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrazilProviderError'
components:
  schemas:
    InboundTransactionRequest:
      type: object
      description: >-
        Solicitud para crear una transacción entrante (cobro) en cuentas BRL de
        Brasil
      required:
        - accountId
        - amount
        - email
        - document
      properties:
        accountId:
          type: string
          format: uuid
          description: ID de la cuenta que recibirá los fondos
        amount:
          type: number
          format: decimal
          description: Monto a cobrar (positivo)
        email:
          type: string
          format: email
          description: Email del pagador para el cobro
        document:
          type: string
          description: CPF o CNPJ del pagador (solo dígitos, o con puntuación)
        webhookUrl:
          type: string
          format: uri
          description: URL opcional para recibir actualizaciones de estado
    InboundTransactionResponse:
      type: object
      required:
        - id
        - status
      properties:
        id:
          type: string
          format: uuid
          description: ID de transacción HG.Cash
        qrCode:
          type: string
          description: >-
            Cadena de código QR para que el pagador la escanee (base64 o cadena
            PIX)
        pixCopiaECola:
          type: string
          description: Cadena PIX copiar y pegar (alternativa al código QR)
        status:
          type: string
          enum:
            - pending
    BrazilProviderError:
      type: object
      required:
        - error
        - code
        - type
      description: >-
        Error seguro relacionado con el proveedor (sin detalles internos ni
        campos de mensaje duplicados)
      properties:
        error:
          type: string
          description: Mensaje legible para clientes
        code:
          type: string
          description: >-
            Código estable legible por máquina (p. ej.
            BR_INBOUND_PROVIDER_MISSING_TXID)
        type:
          type: string
          description: >-
            Categoría del error (p. ej. provider_error,
            provider_invalid_response)
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Token de autenticación de API de usuario con formato
        `cash_<64-char-hex>`. Valor de ejemplo
        `cash_16cdc3b6f83c72d9d2680adca4f430962981f6bf32613a129dded0aa060387d2`.

````