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

# Crear depósito QR

> Crea una transacción de payin por QR y devuelve la imagen QR en base64 para que el cliente realice el pago.



## OpenAPI

````yaml /openapi.yaml post /v2/transactions/deposit/qr
openapi: 3.0.0
info:
  title: YP API Partner
  description: Documentación de integración para partners de YP API.
  version: 2.2.0
  contact: {}
servers:
  - url: https://sandbox-rampa.mesadepagos.com/api
    description: Sandbox
security: []
tags:
  - name: Auth
    description: ''
  - name: Quotes
    description: ''
  - name: Payin
    description: ''
  - name: Payout
    description: ''
  - name: Wallet
    description: ''
  - name: Consultas
    description: ''
  - name: Webhooks
    description: ''
  - name: Fees
    description: ''
paths:
  /v2/transactions/deposit/qr:
    post:
      tags:
        - Payin
      summary: Crear depósito QR
      description: >-
        Crea una transacción de payin por QR y devuelve la imagen QR en base64
        para que el cliente realice el pago.
      operationId: createDepositQr
      parameters: []
      requestBody:
        required: true
        description: Datos necesarios para generar el QR de depósito.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDepositQrRequestDoc'
      responses:
        '201':
          description: Depósito QR creado exitosamente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDepositQrResponseDoc'
        '400':
          description: Request inválido o datos que no cumplen las validaciones.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseDoc'
        '401':
          description: Token ausente, inválido o expirado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponseDoc'
      security:
        - bearer: []
components:
  schemas:
    CreateDepositQrRequestDoc:
      type: object
      properties:
        cryptoAmount:
          type: number
          example: 10
          description: Monto crypto solicitado para el depósito.
          minimum: 0
        asset:
          type: string
          enum:
            - USDC
            - USDT
          default: USDC
          example: USDC
          description: Asset crypto usado para la transacción.
        blockchain:
          type: string
          enum:
            - Polygon
            - Ethereum
            - TRON
          default: Polygon
          example: Polygon
          description: Blockchain del asset.
        fiatCurrency:
          type: string
          enum:
            - BOB
            - USD
          example: BOB
          description: Moneda fiat del QR.
        referenceId:
          type: string
          example: ORDER-1001
          description: Referencia externa del partner.
          minLength: 1
          maxLength: 100
        country:
          type: string
          enum:
            - BO
          example: BO
          description: País donde se genera el QR.
        depositAddress:
          type: string
          example: '0x0000000000000000000000000000000000000000'
          description: Dirección crypto de destino para el depósito.
        fundingSource:
          type: string
          enum:
            - balance
            - conversion
          example: conversion
          description: Origen de fondos usado para la operación.
        description:
          type: string
          example: Pago orden 1001
          description: Descripción visible para conciliación.
          maxLength: 60
        qrExpirationTime:
          type: string
          example: '00:15:00'
          default: '00:15:00'
          description: Tiempo de expiracion del QR en formato HH:MM:SS.
          pattern: ^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$
      required:
        - cryptoAmount
        - fiatCurrency
        - referenceId
        - country
        - depositAddress
        - fundingSource
    CreateDepositQrResponseDoc:
      type: object
      properties:
        transactionId:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440000
          description: Identificador único de la transacción.
        type:
          type: string
          enum:
            - deposit_express
          example: deposit_express
          description: Tipo de transacción creada.
        referenceId:
          type: string
          example: ORDER-1001
          description: Referencia externa enviada por el partner.
        country:
          type: string
          example: BO
          description: Código del país.
        countryName:
          type: string
          example: Bolivia
          description: Nombre del país.
        requestedCryptoAmount:
          type: string
          example: '10'
          description: Monto crypto solicitado.
        asset:
          type: string
          example: USDC
          description: Asset de la transacción.
        calculatedFiatAmount:
          type: string
          example: '69.60'
          description: Monto fiat calculado para el QR.
        fiatCurrency:
          type: string
          example: BOB
          description: Moneda fiat del QR.
        exchangeRate:
          type: string
          example: '6.96'
          description: Tipo de cambio aplicado.
        qrCodeBase64:
          type: string
          example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
          description: Imagen QR codificada en base64.
        feeAmount:
          type: string
          example: '0.00'
          description: Fee aplicado a la operación.
        transactionStatus:
          type: string
          example: pending_transaction
          description: Estado inicial de la transacción.
      required:
        - transactionId
        - type
        - referenceId
        - country
        - countryName
        - requestedCryptoAmount
        - asset
        - calculatedFiatAmount
        - fiatCurrency
        - exchangeRate
        - qrCodeBase64
        - transactionStatus
    ValidationErrorResponseDoc:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        message:
          type: string
          example: Validation failed
        error:
          type: string
          example: Bad Request
      required:
        - statusCode
        - message
        - error
    UnauthorizedResponseDoc:
      type: object
      properties:
        statusCode:
          type: number
          example: 401
        message:
          type: string
          example: Unauthorized
      required:
        - statusCode
        - message
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: JWT obtenido desde /v2/auth/login

````