Skip to content

Параметры конфигурации

Полный справочник по параметрам конфигурации кнопки.

Интерфейс ButtonOptions

typescript
interface ButtonOptions {
  // Обязательно, если не задано через data-атрибуты
  projectId?: string;
  buttonText?: string;
  projectOrderTitle?: string;
  projectOrderDescription?: string;

  // Заказ, созданный на бэкенде, который нужно отобразить
  orderId?: string;

  // Конфигурация заказа
  projectUserId?: string;
  projectOrderMeta?: string;
  defaultFiatCurrency?: 'usd' | 'eur';
  defaultFiatAmount?: string;
  
  // Кастомизация UI
  uiSize?: 'mini' | 'normal';
  uiRadius?: '10' | '30';
  buttonColor?: 'white' | 'black' | 'colored' | 'transparent';
  colorScheme?: 'light' | 'dark' | 'auto';
}

Параметры

projectId

Тип: string
Обязателен: Да
Data-атрибут: data-project-id

ID вашего проекта CryptumPay. Получите его в Консоли мерчанта.

javascript
button.setOptions({
  projectId: 'ваш-project-id'
});

projectOrderTitle

Тип: string
Обязателен: Да (если не задан через заказ с бэкенда)
Data-атрибут: data-project-order-title

Заголовок платёжного заказа, отображаемый пользователю. Обязателен при создании заказов с фронтенда, опционален при восстановлении существующих заказов, созданных на бэкенде.

javascript
button.setOptions({
  projectOrderTitle: 'Премиум подписка'
});

projectOrderDescription

Тип: string
Обязателен: Да (если не задан через заказ с бэкенда)
Data-атрибут: data-project-order-description

Подробное описание платёжного заказа. Обязателен при создании заказов с фронтенда, опционален при восстановлении заказов с бэкенда.

javascript
button.setOptions({
  projectOrderDescription: 'Ежемесячный платёж за доступ ко всем премиум-функциям'
});

projectUserId

Тип: string
Обязателен: Нет
Data-атрибут: data-project-user-id

Ваш внутренний ID пользователя для привязки платежа к конкретному пользователю в вашей системе.

javascript
button.setOptions({
  projectUserId: 'user_12345'
});

projectOrderMeta

Тип: string
Обязателен: Нет
Data-атрибут: data-project-order-meta

Произвольные метаданные в формате JSON-строки для прикрепления к заказу.

javascript
button.setOptions({
  projectOrderMeta: JSON.stringify({
    plan: 'premium',
    period: 'monthly'
  })
});

defaultFiatCurrency

Тип: 'usd' | 'eur'
Обязателен: Нет
По умолчанию: usd
Data-атрибут: data-default-fiat-currency

Валюта по умолчанию для суммы платежа.

javascript
button.setOptions({
  defaultFiatCurrency: 'eur'
});

defaultFiatAmount

Тип: string
Обязателен: Нет
Data-атрибут: data-default-fiat-amount

Сумма платежа в фиатной валюте по умолчанию. Если не указана, пользователь сможет ввести произвольную сумму (удобно для донатов).

javascript
button.setOptions({
  defaultFiatAmount: '99.99'
});

orderId

Тип: string
Обязателен: Нет
Data-атрибут: data-order-id

Order ID в CryptumPay для восстановления существующей платёжной сессии.

javascript
button.setOptions({
  orderId: '11280ee0-fc4b-4616-b0bb-5751128b76fb'
});

Восстановление заказа

При указании orderId кнопка восстановит существующий заказ вместо создания нового. Удобно для возобновления брошенных оплат.

colorScheme

Тип: 'light' | 'dark' | 'auto'
Обязателен: Нет
По умолчанию: auto
Data-атрибут: data-color-scheme

Цветовая схема платёжного шлюза.

javascript
button.setOptions({
  colorScheme: 'dark'
});

buttonColor

Тип: 'white' | 'black' | 'colored' | 'transparent'
Обязателен: Нет
По умолчанию: colored
Data-атрибут: data-button-color

Цвет платёжной кнопки.

javascript
button.setOptions({
  buttonColor: 'black'
});

Доступные цвета:

  • white — белый фон с тёмным текстом
  • black — чёрный фон со светлым текстом
  • colored — фирменный фиолетовый градиент [По умолчанию]
  • transparent — прозрачный фон

uiSize

Тип: 'mini' | 'normal'
Обязателен: Нет
По умолчанию: normal
Data-атрибут: data-ui-size

Размер платёжной кнопки.

javascript
button.setOptions({
  uiSize: 'mini'
});

Размеры:

  • mini — компактная кнопка для ограниченного пространства
  • normal — стандартный размер кнопки [По умолчанию]

uiRadius

Тип: '10' | '30'
Обязателен: Нет
По умолчанию: 30
Data-атрибут: data-ui-radius

Скругление углов кнопки в пикселях.

javascript
button.setOptions({
  uiRadius: '10'
});

buttonText

Тип: string
Обязателен: Нет
По умолчанию: CryptumPay
Data-атрибут: data-button-text

Произвольный текст внутри платёжной кнопки.

javascript
button.setOptions({
  buttonText: 'Оплатить через CryptumPay'
});

Полный пример

javascript
button.setOptions({
  projectId: 'ваш-project-id',
  buttonText: 'Оплатить через CryptumPay',
  projectOrderTitle: 'Премиум подписка',
  projectOrderDescription: 'Ежемесячная подписка со всеми функциями',
  projectUserId: 'user_12345',
  projectOrderMeta: JSON.stringify({ plan: 'premium' }),
  defaultFiatCurrency: 'usd',
  defaultFiatAmount: '99.99',
  uiSize: 'normal',
  uiRadius: '10',
  colorScheme: 'colored'
});

Обновление параметров

Параметры можно обновлять в любой момент — кнопка обновится автоматически:

javascript
// Начальные настройки
button.setOptions({
  projectId: 'ваш-project-id',
  buttonColor: 'colored'
});

// Позднее
button.setOptions({
  buttonColor: 'black',
});

Частичное обновление

При обновлении не нужно снова указывать projectId — существующие параметры сохраняются.

Смотрите также

Распространяется под лицензией MIT.