feat: Интеграция DePay для криптовалютных платежей (USDT/Polygon)

- Добавлены endpoints для DePay: callback, success, rate, history
- Заменена система проверки чеков на CryptoPayment
- Переименована модель Check в CryptoPayment в Prisma схеме
- Обновлен billing.tsx для работы с DePay виджетом
- Все секреты вынесены в .env файлы
- Интеграция с CoinGecko API для курса USDT/RUB
- Добавлена RSA верификация webhook от DePay
This commit is contained in:
2026-01-10 23:23:38 +03:00
parent 501e858c06
commit 95780564a6
15 changed files with 4448 additions and 384 deletions

View File

@@ -0,0 +1,19 @@
-- Rename Check table to CryptoPayment
RENAME TABLE `check` TO `crypto_payment`;
-- Add new columns for crypto payments
ALTER TABLE `crypto_payment`
ADD COLUMN `transactionHash` VARCHAR(191) NULL,
ADD COLUMN `blockchain` VARCHAR(191) DEFAULT 'polygon',
ADD COLUMN `token` VARCHAR(191) DEFAULT 'USDT',
ADD COLUMN `cryptoAmount` DECIMAL(20, 8) NULL,
ADD COLUMN `exchangeRate` DECIMAL(10, 2) NULL COMMENT 'USDT to RUB rate',
ADD COLUMN `paymentProvider` VARCHAR(191) DEFAULT 'depay',
MODIFY COLUMN `status` VARCHAR(191) DEFAULT 'pending' COMMENT 'pending, completed, failed',
MODIFY COLUMN `fileUrl` VARCHAR(191) NULL COMMENT 'Not used for crypto payments';
-- Update foreign key name if needed
ALTER TABLE `crypto_payment`
DROP FOREIGN KEY `check_userId_fkey`,
ADD CONSTRAINT `crypto_payment_userId_fkey`
FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;