Установка

Начните работу с Solana Pay, установив JavaScript SDK и настроив окружение для разработки. SDK не привязан к конкретному фреймворку и работает в любой JavaScript-среде.

Системные требования

  • Node.js: версия 20 или выше (требуется для поддержки crypto.subtle)
  • Менеджер пакетов: pnpm, npm или yarn
  • TypeScript: версия 5+ (рекомендуется, но не обязательно)

Установка Solana Pay SDK

Выберите предпочитаемый менеджер пакетов:

# Using pnpm (recommended)
pnpm add @solana/pay@beta @solana/kit
# Using npm
npm install @solana/pay@beta @solana/kit
# Using yarn
yarn add @solana/pay@beta @solana/kit

Одноранговые зависимости

Следующие пакеты являются одноранговыми зависимостями @solana/pay и должны быть установлены вместе с ним:

ПакетВерсия
@solana/kit^6.5.0

Опциональные зависимости

Для создания и проверки переводов (переводы SOL и SPL-токенов) также установите:

pnpm add @solana-program/system @solana-program/token @solana-program/token-2022 @solana-program/memo

Для клиентских фабрик (createMerchantClient, createWalletClient) также установите плагины комплекта:

pnpm add @solana/kit-plugin-rpc @solana/kit-plugin-payer @solana/kit-plugin-instruction-plan

Настройка TypeScript

При использовании TypeScript убедитесь, что ваш tsconfig.json содержит:

{
"compilerOptions": {
"module": "ESNext",
"target": "ES2022",
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"moduleResolution": "bundler",
"resolveJsonModule": true,
"esModuleInterop": true,
"skipLibCheck": true
}
}

Настройка окружения

Окружение для разработки

Настройте переменные окружения для разработки:

# .env.local
SOLANA_RPC_URL=https://api.devnet.solana.com
SOLANA_NETWORK=devnet

Производственное окружение

Для продакшена используйте эндпоинты основной сети:

# .env.production
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
SOLANA_NETWORK=mainnet-beta

Проверка установки

Создайте простой тест, чтобы убедиться, что все работает:

// test-installation.ts
import { address } from "@solana/kit";
import { encodeURL } from "@solana/pay";
// Test creating a payment URL
const 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

Запустите тест:

npx tsx test-installation.ts

В консоли должен отобразиться корректный URL-адрес Solana Pay.

Распространенные проблемы и решения

Ошибки разрешения модулей

Если вы видите ошибки типа "Cannot resolve module '@solana/pay'":

  1. Очистите кеш менеджера пакетов:

    # pnpm
    pnpm store prune
    # npm
    npm cache clean --force
    # yarn
    yarn cache clean
  2. Удалите node_modules и переустановите зависимости:

    rm -rf node_modules
    pnpm install

Ошибки TypeScript

Если возникают ошибки TypeScript:

  1. Обновите TypeScript до последней версии (5+)
  2. Убедитесь, что параметр moduleResolution установлен в значение "bundler" или "nodenext" в вашем файле tsconfig.json

Дальнейшие шаги

Теперь, когда Solana Pay установлен, выберите путь интеграции:

Инструменты разработки

Рассмотрите возможность установки следующих полезных инструментов разработки:

# Solana CLI (for testing and key generation)
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
# Local validator for testing
solana-test-validator

Ресурсы

Is this page helpful?

Управляется

© 2026 Solana Foundation.
Все права защищены.
Связаться с нами