using Domain.Entities.Wallets.ValueObject; /// /// 어떤 잔액부터 소진할지 정의 /// namespace Domain.Entities.Wallets.Policy; public static class SpendPolicy { public static readonly WalletBalanceType[] DefaultSpendOrder = { WalletBalanceType.PgCharged, WalletBalanceType.Deposit, WalletBalanceType.Reward, WalletBalanceType.Adjusted, WalletBalanceType.Donation, WalletBalanceType.Airdrop }; // 상점 결제 전용 차감 순서 = 캐시(충전 재화)만. (d4 M0 재화 정합성 — 캐시전용) // 토큰(Reward/Airdrop)은 활동 보상·모의투자 전용이므로 상점 구매에 사용 불가. // Adjusted(운영 조정)는 상점 결제 대상이 아니며, Deposit(예치금)까지만 캐시로 인정한다. public static readonly WalletBalanceType[] StoreOrderSpendOrder = { WalletBalanceType.PgCharged, // 1 WalletBalanceType.Deposit // 2 }; }