Documentación API

Integra Buyesia Pay en tu aplicación con nuestra API REST. Acepta pagos con USDT, USDC y monedas locales de forma segura y escalable.

Base URL: https://pay.buyesia.com

Autenticación

Todas las solicitudes a la API requieren autenticación mediante credenciales de comercio. Obtén tus credenciales desde el panel de administración en Integraciones → API.

Obtener token de acceso

POST /merchant/api/verify
curl -X POST https://pay.buyesia.com/merchant/api/verify \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "tu_client_id",
    "client_secret": "tu_client_secret"
  }'

Respuesta exitosa

{
  "status": "success",
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}
Importante: Nunca expongas tus credenciales en el código del cliente. Usa variables de entorno o un servicio de gestión de secretos.

Entornos

Buyesia Pay ofrece dos entornos para desarrollo y producción:

Entorno Uso Credenciales
Sandbox Desarrollo y pruebas Prefijo test_
Live Producción Credenciales live del comercio

Las credenciales de sandbox comienzan con test_ y no procesan pagos reales. Cambia a credenciales de producción cuando estés listo para operar en vivo.

Crear pago

Crea una nueva transacción de pago para que tu cliente complete el checkout.

POST /merchant/api/transaction-info
curl -X POST https://pay.buyesia.com/merchant/api/transaction-info \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 100.00,
    "currency": "USDT",
    "order_id": "order_12345",
    "description": "Compra de producto",
    "customer_email": "cliente@ejemplo.com",
    "redirect_url": "https://tu-sitio.com/gracias",
    "webhook_url": "https://tu-sitio.com/webhook"
  }'

Parámetros

Parámetro Tipo Requerido Descripción
amount number Monto a cobrar
currency string Código de moneda (USDT, USDC, VES)
order_id string ID único de tu orden
description string No Descripción del pago
customer_email string No Email del cliente
redirect_url string No URL de redirección post-pago
webhook_url string No URL para notificaciones

Respuesta

{
  "status": "success",
  "checkout_url": "https://pay.buyesia.com/checkout/abc123",
  "payment_id": "pay_xyz789",
  "expires_at": "2026-06-19T12:00:00Z"
}

Redirige al cliente a checkout_url para completar el pago. El enlace expira en 30 minutos.

Verificar pago

Consulta el estado de un pago específico usando su ID.

GET /merchant/api/payment-status/{payment_id}
curl -X GET https://pay.buyesia.com/merchant/api/payment-status/pay_xyz789 \
  -H "Authorization: Bearer {access_token}"

Estados de pago

Estado Descripción
pending Pago iniciado, esperando confirmación
success Pago completado exitosamente
failed Pago fallido o rechazado
expired Pago expirado sin completar

Webhooks

Recibe notificaciones en tiempo real cuando ocurren eventos en tu cuenta. Configura webhooks desde Integraciones → Webhooks en el panel.

Eventos disponibles

  • payment.created - Nuevo pago creado
  • payment.success - Pago completado
  • payment.failed - Pago fallido
  • payment.refunded - Pago reembolsado

Estructura del webhook

{
  "event": "payment.success",
  "timestamp": "2026-06-18T10:30:00Z",
  "data": {
    "payment_id": "pay_xyz789",
    "amount": 100.00,
    "currency": "USDT",
    "status": "success",
    "order_id": "order_12345"
  }
}

Verificar firma

Todos los webhooks incluyen una firma HMAC-SHA256 en el header X-Webhook-Signature. Verifica la firma para asegurar que el webhook proviene de Buyesia Pay.

$signature = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'];
$payload = file_get_contents('php://input');
$secret = 'tu_webhook_secret';

$expected = hash_hmac('sha256', $payload, $secret);

if (hash_equals($expected, $signature)) {
    // Webhook válido
    $data = json_decode($payload, true);
    // Procesar evento...
}

SDK

Simplifica la integración con nuestros SDKs oficiales para los lenguajes más populares.

PHP

composer require buyesia/sdk
Ver documentación →

JavaScript

npm install @buyesia/sdk
Ver documentación →

Python

pip install buyesia
Ver documentación →

WooCommerce

Integra Buyesia Pay en tu tienda WooCommerce con nuestro plugin oficial.

Instalación

  1. Descarga el plugin desde el panel de administración
  2. Sube el archivo ZIP en Plugins → Añadir nuevo → Subir plugin
  3. Activa el plugin
  4. Configura tus credenciales en WooCommerce → Ajustes → Pagos → Buyesia Pay
Requisitos: WordPress 5.8+, WooCommerce 6.0+, PHP 7.4+

Shopify

Acepta pagos con Buyesia Pay en tu tienda Shopify.

Instalación

  1. Instala la app desde el Shopify App Store
  2. Autoriza la conexión con tu cuenta de Buyesia Pay
  3. Configura el método de pago en Settings → Payments
Nota: Shopify requiere una cuenta de comercio aprobada. Solicita aprobación desde el panel de administración.