curl --request POST \
--url https://sandbox-rampa.mesadepagos.com/api/v3/transactions/deposit/qr \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fundingSource": "balance",
"referenceId": "ORDER-1001",
"fiatCurrency": "BOB",
"fiatAmount": 100
}
'{
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"type": "deposit_express",
"transactionStatus": "pending_transaction",
"requestedCryptoAmount": "10",
"calculatedFiatAmount": "69.60",
"exchangeRate": "6.96",
"asset": "USDC",
"country": "BO",
"countryName": "Bolivia",
"qrCodeBase64": "iVBORw0KGgoAAAANSUhEUgAA...",
"referenceId": "ORDER-1001",
"fiatCurrency": "BOB",
"feeAmount": "0.00"
}{
"statusCode": 400,
"error": "Bad Request",
"message": [
{
"path": [
"fiatAmount"
],
"message": "The value was rejected by the payment provider."
}
]
}{
"statusCode": 401,
"message": "Unauthorized"
}{
"statusCode": 404,
"code": "TRANSACTION_NOT_FOUND",
"message": "The transaction was not found."
}{
"statusCode": 422,
"code": "INSUFFICIENT_FUNDS",
"message": "There are insufficient funds to complete this transaction."
}{
"statusCode": 500,
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected internal server error occurred. Please try again later."
}{
"statusCode": 503,
"code": "PAYMENT_PROVIDER_UNAVAILABLE",
"message": "The payment provider is temporarily unavailable. Please try again later."
}Crear deposito QR
Crea una transaccion de payin por QR y devuelve la imagen QR en base64. La confirmacion del pago se notifica por webhook (transaction_updated).
Campos segun fundingSource
| Campo | balance | conversion |
|---|---|---|
| fiatAmount | Requerido | Opcional |
| cryptoAmount | Opcional | Requerido |
| depositAddress | Opcional | Requerido y no vacio |
Siempre se requieren fundingSource, referenceId y fiatCurrency (BOB). asset y blockchain son opcionales en ambos casos y usan USDC y Polygon por defecto. country usa BO y qrExpirationTime usa 00:15:00 por defecto.
Los campos opcionales pueden omitirse, pero si se envian deben cumplir sus validaciones; no se acepta null. Con conversion, fiatAmount se calcula a partir de cryptoAmount, el tipo de cambio y las comisiones, aunque se envie fiatAmount.
curl --request POST \
--url https://sandbox-rampa.mesadepagos.com/api/v3/transactions/deposit/qr \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fundingSource": "balance",
"referenceId": "ORDER-1001",
"fiatCurrency": "BOB",
"fiatAmount": 100
}
'{
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"type": "deposit_express",
"transactionStatus": "pending_transaction",
"requestedCryptoAmount": "10",
"calculatedFiatAmount": "69.60",
"exchangeRate": "6.96",
"asset": "USDC",
"country": "BO",
"countryName": "Bolivia",
"qrCodeBase64": "iVBORw0KGgoAAAANSUhEUgAA...",
"referenceId": "ORDER-1001",
"fiatCurrency": "BOB",
"feeAmount": "0.00"
}{
"statusCode": 400,
"error": "Bad Request",
"message": [
{
"path": [
"fiatAmount"
],
"message": "The value was rejected by the payment provider."
}
]
}{
"statusCode": 401,
"message": "Unauthorized"
}{
"statusCode": 404,
"code": "TRANSACTION_NOT_FOUND",
"message": "The transaction was not found."
}{
"statusCode": 422,
"code": "INSUFFICIENT_FUNDS",
"message": "There are insufficient funds to complete this transaction."
}{
"statusCode": 500,
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected internal server error occurred. Please try again later."
}{
"statusCode": 503,
"code": "PAYMENT_PROVIDER_UNAVAILABLE",
"message": "The payment provider is temporarily unavailable. Please try again later."
}Autorizaciones
JWT obtenido desde /v2/auth/login o /v3/auth/login
Cuerpo
Datos necesarios para generar el QR de deposito.
- Option 1
- Option 2
Origen de fondos usado para la operacion.
balance "balance"
Referencia externa del partner.
1 - 100"ORDER-1001"
Moneda fiat del QR.
BOB "BOB"
Monto fiat del QR. Requerido con fundingSource "balance"; opcional con "conversion". Debe ser mayor que 0 y multiplo de 0.01.
x > 0Debe ser un múltiplo de 0.01100
Pais donde se genera el QR.
BO "BO"
Monto crypto a acreditar. Requerido con fundingSource "conversion"; opcional con "balance". Debe ser mayor que 0.
x > 010
Asset crypto usado para la transaccion.
USDC, USDT "USDC"
Blockchain del asset.
Polygon, Ethereum, TRON "Polygon"
Direccion crypto de destino. Requerida y no vacia con fundingSource "conversion"; opcional con "balance".
"0x0000000000000000000000000000000000000000"
Descripcion visible para conciliacion.
60"Pago orden 1001"
Tiempo de expiracion del QR en formato HH:MM:SS.
^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$"00:15:00"
Respuesta
Deposito QR creado exitosamente.
Identificador unico de la transaccion.
"550e8400-e29b-41d4-a716-446655440000"
Tipo de transaccion creada.
deposit_express "deposit_express"
Estado inicial de la transaccion.
"pending_transaction"
Monto crypto solicitado.
"10"
Monto fiat calculado para el QR.
"69.60"
Tipo de cambio aplicado.
"6.96"
Asset de la transaccion.
"USDC"
Codigo del pais.
"BO"
Nombre del pais.
"Bolivia"
Imagen QR codificada en base64.
"iVBORw0KGgoAAAANSUhEUgAA..."
Referencia externa enviada por el partner.
"ORDER-1001"
Moneda fiat del QR.
"BOB"
Fee aplicado a la operacion.
"0.00"