Solana Pay es un protocolo estándar y un conjunto de implementaciones de referencia que permiten a los desarrolladores incorporar pagos descentralizados en sus aplicaciones y servicios. Proporciona un enfoque unificado para pagos en todo el ecosistema de Solana, garantizando la compatibilidad entre billeteras, aplicaciones y servicios.
Descripción del Protocolo
Solana Pay define dos tipos principales de solicitudes de pago:
Solicitudes de Transferencia (No Interactivas)
Las solicitudes de transferencia describen transferencias simples de SOL o tokens SPL usando parámetros de URL. La billetera puede componer y firmar directamente la transacción sin comunicación adicional con el servidor.
solana:recipient?amount=1.5&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Casos de Uso:
- Pagos simples y donaciones
- Pagos con código QR en punto de venta
- Enlaces de pago en correos electrónicos o mensajes
- Enlace profundo en aplicaciones móviles
Solicitudes de Transacción (Interactivas)
Las solicitudes de transacción permiten interacciones complejas al hacer que la billetera se comunique con un servidor para componer cualquier transacción de Solana. Esto desbloquea casos de uso avanzados más allá de las transferencias simples.
solana:https://merchant.com/api/payment
Casos de Uso:
- Acuñación de NFT en punto de venta
- Precios dinámicos y descuentos
- Transacciones DeFi de múltiples pasos
- Integración de programas de fidelización
- Lógica de negocio personalizada
Beneficios Clave
Para Desarrolladores
- Protocolo Estándar: Una implementación funciona en todas las billeteras de Solana
- Agnóstico de Framework: Úsalo con cualquier framework web o plataforma móvil
- Seguridad de Tipos: Soporte completo de TypeScript en el SDK de JavaScript
- Flexible: Desde transferencias simples hasta transacciones complejas con múltiples instrucciones
Para Usuarios
- Rápido: Las transacciones se confirman en menos de un segundo
- Económico: Costo promedio de $0.0005 por transacción
- Seguro: Sin intermediarios ni procesadores externos
- Universal: Funciona con cualquier billetera de Solana
Para comerciantes
- Sin comisiones: Pagos directos sin comisiones de procesamiento
- Tiempo real: Liquidación y confirmación instantáneas
- Global: Acepta pagos desde cualquier parte del mundo
- Composable: Integra con protocolos DeFi y marketplaces de NFT
Arquitectura técnica
Esquema de URL
Solana Pay utiliza un esquema de URL personalizado solana: que funciona en
navegadores web y sistemas operativos móviles:
- Web: Las URL pueden usarse como enlaces o codificarse en códigos QR
- Móvil: Integración de enlaces profundos con aplicaciones de billetera
- Escritorio: Controladores de protocolo para un lanzamiento fluido de la billetera
SDK de JavaScript
El SDK @solana/pay (basado en @solana/kit) proporciona:
- Fábricas de cliente:
createMerchantClient,createWalletClient,createSolanaPayClientpara flujos de pago componibles - Codificación/análisis de URL:
encodeURL,parseURLpara URL de Solana Pay - Creación de transferencias:
createTransferpara instrucciones de pago de SOL y tokens SPL - Validación de pagos:
findReference,validateTransfer,watchReferencepara detectar y verificar pagos - Códigos QR:
createQRintegrado para generar códigos de pago escaneables - Plugins de Kit:
solanaPayMerchant(),solanaPayWallet()para componer con otros plugins de@solana/kit
Integración de billetera
Las billeteras compatibles implementan:
- Manejo y análisis de esquemas de URL
- Composición y validación de transacciones
- Flujos de confirmación del usuario
- Transmisión y monitoreo de transacciones
Ejemplos de flujo de pago
Aplicación web a billetera móvil
- La aplicación web genera un código QR con la URL de Solana Pay
- El usuario escanea el código QR con la aplicación de billetera
- La billetera analiza la URL y muestra los detalles del pago
- El usuario confirma el pago en la billetera
- La billetera firma y transmite la transacción
- La aplicación web detecta la confirmación del pago
Aplicación web a billetera de navegador
- La aplicación web muestra el botón "Pagar con Solana"
- El usuario hace clic en el botón para abrir la billetera
- La extensión de billetera muestra la confirmación del pago
- El usuario aprueba la transacción
- La transacción se firma y envía
- La aplicación web recibe la confirmación del pago
Aplicación Móvil a Monedero Móvil
- La aplicación móvil crea un enlace profundo de pago
- El enlace profundo abre la aplicación del monedero
- El monedero muestra la confirmación de pago
- El usuario aprueba o rechaza el pago
- El monedero regresa a la aplicación original
- La aplicación recibe el resultado del pago
Consideraciones de Seguridad
Para Comerciantes
- Validar Transacciones: Siempre verifica los detalles de las transacciones en la cadena
- Usar Referencias: Incluye claves de referencia únicas para identificar pagos
- Validación del Lado del Servidor: Calcula montos y valida pagos del lado del servidor
- Limitación de Tasa: Implementa límites de tasa apropiados en los endpoints de pago
Para Desarrolladores de Monederos
- Validación de URL: Valida y sanitiza todos los componentes de la URL
- Confirmación del Usuario: Siempre muestra detalles de pago claros a los usuarios
- Validación de Transacciones: Verifica el contenido de las transacciones antes de firmar
- Solo HTTPS: Permite únicamente URLs HTTPS para solicitudes de transacciones
Patrones de Integración
Pago en Comercio Electrónico
- El cliente añade artículos al carrito
- El comerciante genera una solicitud de pago con los detalles del pedido
- El cliente escanea el código QR o hace clic en el botón de pago
- El monedero muestra el recibo detallado y el total
- El cliente confirma el pago
- El comerciante valida la transacción y cumple con el pedido
Punto de Venta
- El cajero introduce el monto de la venta
- El sistema POS muestra el código QR
- El cliente escanea con el monedero móvil
- El pago se procesa instantáneamente
- El recibo se imprime automáticamente
Servicios de Suscripción
- El usuario se suscribe al servicio
- El servicio crea un calendario de pagos recurrentes
- El sistema automatizado genera solicitudes de pago
- El usuario aprueba los pagos a través del monedero
- El servicio rastrea el estado del pago
Mejores Prácticas
Generación de URL
- Usa HTTPS para todos los endpoints de solicitud de transacciones
- Incluye etiquetas y mensajes descriptivos
- Genera referencias únicas para el seguimiento de pagos
- Valida todos los parámetros antes de la creación de la URL
Manejo de Transacciones
- Valida siempre las transacciones del lado del servidor
- Utiliza recuentos de confirmación apropiados para la seguridad
- Implementa manejo de errores y reintentos adecuados
- Registra eventos de pago para la reconciliación
Experiencia del Usuario
- Proporciona confirmaciones de pago claras
- Muestra actualizaciones del estado de la transacción
- Maneja la conexión de la billetera de manera elegante
- Admite múltiples opciones de billetera
Próximos Pasos
¿Listo para integrar Solana Pay? Comienza con estas guías:
- Guía de Instalación - Configura el SDK y las herramientas
- Solicitudes de Transferencia - Crea URLs de pago simples
- Solicitudes de Transacción - Construye flujos interactivos
- Ejemplos de Integración - Observa implementaciones del mundo real
Recursos
- Especificación Oficial - Especificación completa del protocolo
- Repositorio de GitHub - Código fuente y ejemplos
- Directrices de Marca - Logotipos y recursos de marca
Is this page helpful?