Пример #1
0
        protected override decimal GetRefundAnticipation(Bill.Pay.Normal.NormalPayDetailBill payBill, decimal refundCommission, decimal refundIncreasing, decimal refundServiceCharge, decimal refundRate, decimal refundFee)
        {
            // 退还票面价
            var requireRefundFare = payBill.Flight.Fare - refundFee;

            if (payBill.Flight.Fare > 0)
            {
                // 防止过度的收取手续费
                if (requireRefundFare < 0)
                {
                    requireRefundFare = 0;
                }
            }
            // 退还总金额
            // 所有退票,都要收回佣金
            var requireRefundAmount = (requireRefundFare + payBill.Commission + payBill.Flight.AirportFee + payBill.Flight.BAF) * -1;

            // 退还服务费
            requireRefundAmount += refundServiceCharge;
            requireRefundAmount += refundIncreasing;
            return(requireRefundAmount > 0 ? 0 : requireRefundAmount);
        }
Пример #2
0
        protected override decimal GetRefundAnticipation(Bill.Pay.Normal.NormalPayDetailBill payBill, decimal refundCommission, decimal refundIncreasing, decimal refundServiceCharge, decimal refundRate, decimal refundFee)
        {
            // 票面价退还金额
            var requireRefundFare = payBill.Flight.Fare + refundFee;

            if (payBill.Flight.Fare > 0)
            {
                // 防止过度的收取手续费
                if (requireRefundFare < 0)
                {
                    requireRefundFare = 0;
                }
            }
            // 如果有服务费,则加上需要退还的服务费
            requireRefundFare += refundServiceCharge;
            // 退还总金额
            var requireRefundAmount = requireRefundFare + payBill.Flight.AirportFee + payBill.Flight.BAF;

            // 所有退票,都要收回佣金
            requireRefundAmount += refundCommission;
            // 收回加价金额
            requireRefundAmount += refundIncreasing;
            return(requireRefundAmount < 0 ? 0 : requireRefundAmount);
        }
Пример #3
0
 protected override decimal GetRefundAnticipation(Bill.Pay.Normal.NormalPayDetailBill payBill, decimal refundCommission, decimal refundIncreasing, decimal refundServiceCharge, decimal refundRate, decimal refundFee)
 {
     return(refundCommission + refundIncreasing);
 }
Пример #4
0
 protected override decimal GetRefundIncreasing(Bill.Pay.Normal.NormalPayDetailBill payBill, bool providerRefundServiceCharge)
 {
     // 如果产品发布方要退服务费,则要将当时被加价的金额收回来
     return(providerRefundServiceCharge ? payBill.Increasing * -1 : 0);
 }