Comienza con Solana Pay instalando el SDK de JavaScript y configurando tu entorno de desarrollo. El SDK es independiente del framework y funciona con cualquier entorno de JavaScript.
Requisitos del Sistema
- Node.js: Versión 20 o superior (requerido para el soporte de
crypto.subtle) - Gestor de Paquetes: pnpm, npm o yarn
- TypeScript: Versión 5+ (recomendado pero no obligatorio)
Instalar el SDK de Solana Pay
Elige tu gestor de paquetes preferido:
# Using pnpm (recommended)pnpm add @solana/pay@beta @solana/kit# Using npmnpm install @solana/pay@beta @solana/kit# Using yarnyarn add @solana/pay@beta @solana/kit
Dependencias entre Pares
Las siguientes son dependencias entre pares de @solana/pay y deben instalarse
junto con él:
| Paquete | Versión |
|---|---|
@solana/kit | ^6.5.0 |
Dependencias Opcionales
Para la creación y validación de transferencias (transferencias de SOL y tokens SPL), también instala:
pnpm add @solana-program/system @solana-program/token @solana-program/token-2022 @solana-program/memo
Para las factorías de clientes (createMerchantClient, createWalletClient),
también instala los plugins del kit:
pnpm add @solana/kit-plugin-rpc @solana/kit-plugin-payer @solana/kit-plugin-instruction-plan
Configuración de TypeScript
Si usas TypeScript, asegúrate de que tu tsconfig.json incluya:
{"compilerOptions": {"module": "ESNext","target": "ES2022","lib": ["ES2022", "DOM", "DOM.Iterable"],"moduleResolution": "bundler","resolveJsonModule": true,"esModuleInterop": true,"skipLibCheck": true}}
Configuración del Entorno
Entorno de Desarrollo
Configura las variables de entorno para desarrollo:
# .env.localSOLANA_RPC_URL=https://api.devnet.solana.comSOLANA_NETWORK=devnet
Entorno de Producción
Para producción, usa los endpoints de mainnet:
# .env.productionSOLANA_RPC_URL=https://api.mainnet-beta.solana.comSOLANA_NETWORK=mainnet-beta
Verificar la Instalación
Crea una prueba simple para verificar que todo funciona:
// test-installation.tsimport { address } from "@solana/kit";import { encodeURL } from "@solana/pay";// Test creating a payment URLconst recipient = address("FvJ8k8HhXp4a3zQyFMZd4FvEqcYdYE7gSZWxrEBRfBsB");const url = encodeURL({recipient,amount: 0.01,label: "Test Store",message: "Test payment"});console.log("Solana Pay URL:", url.toString());// Output: solana:FvJ8k8Hh...?amount=0.01&label=Test%20Store&message=Test%20payment
Ejecuta la prueba:
npx tsx test-installation.ts
Deberías ver una URL válida de Solana Pay en la consola.
Problemas Comunes y Soluciones
Errores de Resolución de Módulos
Si ves errores como "Cannot resolve module '@solana/pay'":
-
Limpia la caché de tu gestor de paquetes:
# pnpmpnpm store prune# npmnpm cache clean --force# yarnyarn cache clean -
Elimina
node_modulesy reinstala:rm -rf node_modulespnpm install
Errores de TypeScript
Si encuentras errores de TypeScript:
- Actualiza a la última versión de TypeScript (5+)
- Asegúrate de que
moduleResolutionesté configurado como"bundler"o"nodenext"en tutsconfig.json
Próximos Pasos
Ahora que tienes Solana Pay instalado, elige tu ruta de integración:
- Solicitudes de Transferencia - URLs de pago simples para transferencias básicas
- Solicitudes de Transacción - Flujos de pago interactivos
- Integración de Códigos QR - Genera códigos QR para pagos móviles
Herramientas de Desarrollo
Considera instalar estas útiles herramientas de desarrollo:
# Solana CLI (for testing and key generation)sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"# Local validator for testingsolana-test-validator
Recursos
- Repositorio de GitHub - Código fuente y ejemplos
- Solana Cookbook - Recetas de desarrollo en Solana
Is this page helpful?