> ## 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.

# Create QR deposit

> Creates a QR payin transaction and returns the base64 QR image for the customer to pay.



## OpenAPI

````yaml /openapi-v1.en.yaml post /v1/transactions/deposit/qr
openapi: 3.0.0
info:
  title: YP API Partner
  description: Integration documentation for YP API partners.
  version: v1
  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: Queries
    description: ''
  - name: Webhooks
    description: ''
  - name: Fees
    description: ''
  - name: Clients
    description: ''
paths:
  /v1/transactions/deposit/qr:
    post:
      tags:
        - Payin
      summary: Create QR deposit
      description: >-
        Creates a QR payin transaction and returns the base64 QR image for the
        customer to pay.
      operationId: createDepositQr
      parameters: []
      requestBody:
        required: true
        description: Data required to generate the deposit QR code.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDepositQrRequestDoc'
      responses:
        '201':
          description: QR deposit created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDepositQrResponseDoc'
        '400':
          description: Invalid request or data that does not satisfy validation rules.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseDoc'
        '401':
          description: Missing, invalid, or expired token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponseDoc'
      security:
        - bearer: []
components:
  schemas:
    CreateDepositQrRequestDoc:
      type: object
      properties:
        cryptoAmount:
          type: number
          example: 10
          description: >-
            Crypto amount requested for the deposit. Required when fundingSource
            is "conversion".
          minimum: 0
        fiatAmount:
          type: number
          example: 100
          description: >-
            Fiat amount requested for the deposit. Required when fundingSource
            is "balance".
          minimum: 0
        asset:
          type: string
          enum:
            - USDC
            - USDT
          default: USDC
          example: USDC
          description: >-
            Crypto asset used for the transaction. Required when fundingSource
            is "conversion".
        blockchain:
          type: string
          enum:
            - Polygon
            - Ethereum
            - TRON
          default: Polygon
          example: Polygon
          description: Asset blockchain. Required when fundingSource is "conversion".
        fiatCurrency:
          type: string
          enum:
            - BOB
            - USD
          example: BOB
          description: QR fiat currency.
        referenceId:
          type: string
          example: ORDER-1001
          description: Partner external reference.
          minLength: 1
          maxLength: 100
        country:
          type: string
          enum:
            - BO
          example: BO
          description: Country where the QR code is generated.
        depositAddress:
          type: string
          example: '0x0000000000000000000000000000000000000000'
          description: >-
            Destination crypto address for the deposit. Required when
            fundingSource is "conversion".
        fundingSource:
          type: string
          enum:
            - balance
            - conversion
          example: conversion
          description: Source of funds used for the operation.
        description:
          type: string
          example: Payment for order 1001
          description: Description displayed for reconciliation.
          maxLength: 60
        qrExpirationTime:
          type: string
          example: '00:15:00'
          default: '00:15:00'
          description: QR code expiration time in HH:MM:SS format.
          pattern: ^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$
      required:
        - fiatCurrency
        - referenceId
        - country
        - fundingSource
    CreateDepositQrResponseDoc:
      type: object
      properties:
        transactionId:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440000
          description: Unique transaction identifier.
        type:
          type: string
          enum:
            - deposit_express
          example: deposit_express
          description: Created transaction type.
        referenceId:
          type: string
          example: ORDER-1001
          description: External reference sent by the partner.
        country:
          type: string
          example: BO
          description: Country code.
        countryName:
          type: string
          example: Bolivia
          description: Country name.
        requestedCryptoAmount:
          type: string
          example: '10'
          description: Requested crypto amount.
        asset:
          type: string
          example: USDC
          description: Transaction asset.
        calculatedFiatAmount:
          type: string
          example: '69.60'
          description: Fiat amount calculated for the QR code.
        fiatCurrency:
          type: string
          example: BOB
          description: QR fiat currency.
        exchangeRate:
          type: string
          example: '6.96'
          description: Applied exchange rate.
        qrCodeBase64:
          type: string
          example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
          description: Base64-encoded QR image.
        feeAmount:
          type: string
          example: '0.00'
          description: Fee applied to the operation.
        transactionStatus:
          type: string
          example: pending_transaction
          description: Initial transaction status.
      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 obtained from /v2/auth/login

````