Documentation
¶
Index ¶
- func CalculateFee(amount decimal.Decimal, feeRate decimal.Decimal) (fee decimal.Decimal, merchantAmount decimal.Decimal, feePercent int64)
- func CheckDailyLimit(tx *gorm.DB, userID uint64, amount decimal.Decimal, dailyLimit *int64) error
- func EnqueueMerchantNotify(orderID uint64, clientID string) error
- func GetTodayUsedAmount(db *gorm.DB, userID uint64) (decimal.Decimal, error)
- func SettlePendingToAvailable(tx *gorm.DB, userID uint64, amount decimal.Decimal) error
- func UpdateBalance(tx *gorm.DB, opts BalanceUpdateOptions) error
- func ValidateTestModePayment(currentUserID, merchantUserID uint64, isTestMode bool) error
- type BalanceOperation
- type BalanceUpdateOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalculateFee ¶
func CalculateFee(amount decimal.Decimal, feeRate decimal.Decimal) (fee decimal.Decimal, merchantAmount decimal.Decimal, feePercent int64)
CalculateFee 计算手续费和商户实收金额 返回:手续费、商户实收金额、手续费百分比
func CheckDailyLimit ¶
CheckDailyLimit 检查用户每日支付限额 返回 nil 表示未超限额,返回 error 表示超限或查询失败
func EnqueueMerchantNotify ¶
EnqueueMerchantNotify 下发商户回调任务
func GetTodayUsedAmount ¶
GetTodayUsedAmount 获取用户当日已使用的支付额度
func SettlePendingToAvailable ¶ added in v1.3.3
SettlePendingToAvailable 将资金从 PendingBalance 转入 AvailableBalance
func UpdateBalance ¶
func UpdateBalance(tx *gorm.DB, opts BalanceUpdateOptions) error
UpdateBalance 通用余额更新函数
func ValidateTestModePayment ¶
ValidateTestModePayment 验证测试模式下的支付权限 返回 error:nil 表示允许支付,非 nil 表示拒绝支付
Types ¶
type BalanceOperation ¶
type BalanceOperation int
BalanceOperation 余额操作类型
const ( BalanceAdd BalanceOperation = iota BalanceDeduct )
type BalanceUpdateOptions ¶
type BalanceUpdateOptions struct {
UserID uint64
Amount decimal.Decimal
Operation BalanceOperation
ScoreChange int64
TotalField string // 累计字段:total_payment / total_receive / total_transfer
CheckBalance bool
AsyncTransfer bool // 异步结算时使用 pending_balance 字段
}
BalanceUpdateOptions 余额更新选项
Click to show internal directories.
Click to hide internal directories.