- Removed all BTCPay references from services and configuration
- Implemented SilverPAY as sole payment provider (no fallback)
- Fixed JWT authentication with proper key length (256+ bits)
- Added UsersController with full CRUD operations
- Updated User model with Email and Role properties
- Configured TeleBot with real Telegram bot token
- Fixed launchSettings.json with JWT environment variable
- E2E tests passing for authentication, catalog, orders
- Payment creation pending SilverPAY server fix
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using LittleShop.Enums;
|
|
|
|
namespace LittleShop.Models;
|
|
|
|
public class CryptoPayment
|
|
{
|
|
[Key]
|
|
public Guid Id { get; set; }
|
|
|
|
public Guid OrderId { get; set; }
|
|
|
|
public CryptoCurrency Currency { get; set; }
|
|
|
|
[Required]
|
|
[StringLength(500)]
|
|
public string WalletAddress { get; set; } = string.Empty;
|
|
|
|
[Column(TypeName = "decimal(18,8)")]
|
|
public decimal RequiredAmount { get; set; }
|
|
|
|
[Column(TypeName = "decimal(18,8)")]
|
|
public decimal PaidAmount { get; set; } = 0;
|
|
|
|
public PaymentStatus Status { get; set; } = PaymentStatus.Pending;
|
|
|
|
[StringLength(200)]
|
|
public string? BTCPayInvoiceId { get; set; }
|
|
|
|
[StringLength(200)]
|
|
public string? SilverPayOrderId { get; set; }
|
|
|
|
[StringLength(200)]
|
|
public string? TransactionHash { get; set; }
|
|
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
public DateTime? PaidAt { get; set; }
|
|
|
|
public DateTime ExpiresAt { get; set; }
|
|
|
|
// Navigation properties
|
|
public virtual Order Order { get; set; } = null!;
|
|
} |