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:
@@ -23,7 +23,7 @@ model User {
|
||||
isAdmin Boolean @default(false)
|
||||
tickets Ticket[] @relation("UserTickets")
|
||||
responses Response[] @relation("OperatorResponses")
|
||||
checks Check[] @relation("UserChecks")
|
||||
cryptoPayments CryptoPayment[] @relation("UserCryptoPayments")
|
||||
balance Float @default(0)
|
||||
notifications Notification[]
|
||||
pushSubscriptions PushSubscription[]
|
||||
@@ -46,16 +46,22 @@ model User {
|
||||
@@map("user")
|
||||
}
|
||||
|
||||
model Check {
|
||||
id Int @id @default(autoincrement())
|
||||
userId Int
|
||||
amount Float
|
||||
status String @default("pending") // pending, approved, rejected
|
||||
fileUrl String
|
||||
createdAt DateTime @default(now())
|
||||
user User @relation("UserChecks", fields: [userId], references: [id])
|
||||
model CryptoPayment {
|
||||
id Int @id @default(autoincrement())
|
||||
userId Int
|
||||
amount Float // Amount in RUB credited to balance
|
||||
cryptoAmount Float? // Amount in USDT paid
|
||||
exchangeRate Float? // USDT to RUB exchange rate at payment time
|
||||
status String @default("pending") // pending, completed, failed
|
||||
transactionHash String? // Blockchain transaction hash
|
||||
blockchain String @default("polygon") // polygon, ethereum, bsc, etc.
|
||||
token String @default("USDT") // USDT, USDC, ETH, etc.
|
||||
paymentProvider String @default("depay") // depay
|
||||
fileUrl String? // Not used for crypto payments (legacy from Check)
|
||||
createdAt DateTime @default(now())
|
||||
user User @relation("UserCryptoPayments", fields: [userId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@map("check")
|
||||
@@map("crypto_payment")
|
||||
}
|
||||
|
||||
model Service {
|
||||
|
||||
Reference in New Issue
Block a user