Subscription service

This commit is contained in:
2025-06-22 03:15:16 +08:00
parent 516090a5f8
commit 9fd6016308
9 changed files with 4102 additions and 12 deletions

View File

@ -6,14 +6,23 @@ namespace DysonNetwork.Sphere.Wallet;
public class PaymentService(AppDatabase db, WalletService wat)
{
public async Task<Order> CreateOrderAsync(Guid payeeWalletId, string currency, decimal amount, Duration expiration)
public async Task<Order> CreateOrderAsync(
Guid? payeeWalletId,
string currency,
decimal amount,
Duration? expiration = null,
string? appIdentifier = null,
Dictionary<string, object>? meta = null
)
{
var order = new Order
{
PayeeWalletId = payeeWalletId,
Currency = currency,
Amount = amount,
ExpiredAt = SystemClock.Instance.GetCurrentInstant().Plus(expiration)
ExpiredAt = SystemClock.Instance.GetCurrentInstant().Plus(expiration ?? Duration.FromHours(24)),
AppIdentifier = appIdentifier,
Meta = meta
};
db.PaymentOrders.Add(order);