Documentación API

Integra pagos en criptomonedas en tu aplicación de forma simple y segura

Versión: 1.0

Introducción

La API ApiCrypto te permite aceptar pagos en criptomonedas de forma simple y segura. Nuestra API es pública y no requiere autenticación, facilitando la integración.

Sin necesidad de autenticación o tokens
Soporte para múltiples criptomonedas y redes
Webhooks para notificaciones en tiempo real
Transferencia automática después de confirmaciones
URL Base: https://api.apicrypto.me/v1/

Autenticación

La API ApiCrypto es pública y no requiere autenticación. Puedes hacer solicitudes directamente a nuestros endpoints sin necesidad de claves API o tokens.

Importante: Aunque no se requiere autenticación, todas las solicitudes son monitoreadas y sujetas a límites de tasa por IP.

Endpoints Disponibles

Método Endpoint Descripción
POST /transaction/create Crear nueva transacción de pago
GET /transaction/status/{id} Verificar estado de una transacción
GET /supported/currencies Listar monedas soportadas
GET /network/status Verificar estado de las redes

Crear Transacción

Crea una nueva transacción de pago y devuelve la dirección donde el cliente debe enviar las criptomonedas.

POST /transaction/create

Parámetros

Parámetro Tipo Obligatorio Descripción
wallet_address string Dirección de la cartera que recibirá los fondos
amount decimal Cantidad a pagar (en cripto o fiat si convert=1)
currency string Moneda (ETH, BNB, MATIC, USDT, USDC)
network string Red blockchain (ethereum, bsc, polygon)
webhook_url string No URL para recibir notificaciones
convert integer No Habilitar conversión de fiat a cripto (1 para habilitar)
fiat_currency string No Moneda fiat para conversión (USD, BRL, EUR)

Ejemplo de Solicitud

curl -X POST https://api.apicrypto.me/v1/transaction/create \
  -H "Content-Type: application/json" \
  -d '{
    "wallet_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f6E123",
    "amount": 0.1,
    "currency": "ETH",
    "network": "ethereum",
    "webhook_url": "https://misitio.com/webhook/payment"
  }'

Respuesta de Éxito

{
  "success": true,
  "data": {
    "transaction_id": "TRX1A2B3C4D5E6F7G8H",
    "payment_address": "0x9876543210abcdef1234567890abcdef12345678",
    "amount": 0.1,
    "currency": "ETH",
    "network": "ethereum",
    "expires_at": "2024-01-20 15:30:00",
    "status": "pending",
    "qr_code": "data:image/png;base64,..."
  }
}

Verificar Estado

Verifica el estado de una transacción específica.

GET /transaction/status/{id}

Parámetros de Ruta

Parámetro Tipo Descripción
id string ID de Transacción

Ejemplo de Solicitud

curl https://api.apicrypto.me/v1/transaction/status/TRX1A2B3C4D5E6F7G8H

Respuesta de Éxito

{
  "success": true,
  "data": {
    "transaction_id": "TRX1A2B3C4D5E6F7G8H",
    "status": "completed",
    "confirmations": 12,
    "tx_hash": "0x123abc...",
    "created_at": "2024-01-20 15:00:00",
    "completed_at": "2024-01-20 15:15:00"
  }
}

Webhooks

Recibe notificaciones en tiempo real cuando cambia el estado de una transacción.

Eventos del Webhook

  • transaction.pending - Transacción creada y esperando pago
  • transaction.confirmed - Pago recibido y confirmado
  • transaction.completed - Transacción procesada y fondos transferidos
  • transaction.failed - Transacción falló o expiró

Ejemplo de Payload

{
  "event": "transaction.completed",
  "data": {
    "transaction_id": "TRX1A2B3C4D5E6F7G8H",
    "status": "completed",
    "amount": 0.1,
    "currency": "ETH",
    "network": "ethereum",
    "tx_hash": "0x123abc...",
    "confirmations": 12
  },
  "timestamp": "2024-01-20T15:15:00Z"
}

Errores

La API devuelve errores estandarizados en formato JSON.

Códigos de Error

Código Descripción
400 Bad Request - Parámetros inválidos
404 Not Found - Recurso no encontrado
429 Too Many Requests - Límite de tasa excedido
500 Internal Server Error - Error del servidor

Ejemplo de Respuesta de Error

{
  "success": false,
  "error": {
    "code": "INVALID_PARAMETERS",
    "message": "El campo 'amount' debe ser mayor que cero",
    "field": "amount"
  }
}

Ejemplos de Integración

PHP

<?php
// Crear transacción
$data = [
    'wallet_address' => '0x742d35Cc6634C0532925a3b844Bc9e7595f6E123',
    'amount' => 0.1,
    'currency' => 'ETH',
    'network' => 'ethereum',
    'webhook_url' => 'https://misitio.com/webhook'
];

$ch = curl_init('https://api.apicrypto.me/v1/transaction/create');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo "Enviar {$result['data']['amount']} {$result['data']['currency']} a:";
    echo $result['data']['payment_address'];
}

Límites de Tasa

Para garantizar la calidad del servicio, aplicamos límites de tasa por IP:

60 solicitudes

Por minuto

50,000 solicitudes

Por día

Si excedes los límites, recibirás un error 429 Too Many Requests. Espera antes de hacer nuevas solicitudes.

¿Necesitas Ayuda?

Si tienes preguntas o necesitas soporte:

Procesando...