SpendPolicy.cs 999 B

12345678910111213141516171819202122232425262728
  1. using Domain.Entities.Wallets.ValueObject;
  2. ///<summary>
  3. /// 어떤 잔액부터 소진할지 정의
  4. ///</summary>
  5. namespace Domain.Entities.Wallets.Policy;
  6. public static class SpendPolicy
  7. {
  8. public static readonly WalletBalanceType[] DefaultSpendOrder =
  9. {
  10. WalletBalanceType.PgCharged,
  11. WalletBalanceType.Deposit,
  12. WalletBalanceType.Reward,
  13. WalletBalanceType.Adjusted,
  14. WalletBalanceType.Donation,
  15. WalletBalanceType.Airdrop
  16. };
  17. // 상점 결제 전용 차감 순서 = 캐시(충전 재화)만. (d4 M0 재화 정합성 — 캐시전용)
  18. // 토큰(Reward/Airdrop)은 활동 보상·모의투자 전용이므로 상점 구매에 사용 불가.
  19. // Adjusted(운영 조정)는 상점 결제 대상이 아니며, Deposit(예치금)까지만 캐시로 인정한다.
  20. public static readonly WalletBalanceType[] StoreOrderSpendOrder =
  21. {
  22. WalletBalanceType.PgCharged, // 1
  23. WalletBalanceType.Deposit // 2
  24. };
  25. }