| | |
| | | throw new UserFriendlyException("当前订单状态无法退款"); |
| | | } |
| | | |
| | | /// TODO 退款请求完成后如何操作 |
| | | /// var refundResult = await WxPayDomesticRefunds(order.OrderNo, order.RefundApplyRemark, Convert.ToInt32(order.PayAmount * 100), Convert.ToInt32(order.PayAmount * 100)); |
| | | |
| | | order.PayStatus = LifePayStatusEnum.已退款; |
| | | order.LifePayOrderStatus = LifePayOrderStatusEnum.已退款; |
| | | order.RefundCredentialsImgUrl = input.RefundCredentialsImgUrl; |
| | |
| | | await _lifePayOrderRepository.UpdateAsync(order); |
| | | } |
| | | |
| | | public async Task<WxPayDomesticRefundsReponse> WxPayDomesticRefunds(string outTradeNo, string reason, int refund, int total, string currency = "CNY") |
| | | { |
| | | WxPayDomesticRefundsRequest req = new WxPayDomesticRefundsRequest |
| | | { |
| | | OutTradeNo = outTradeNo, |
| | | OutRefundNo = CreateRefundOrderNo(), |
| | | Reason = reason, |
| | | Amount = new Model_WxPayDomesticRefunds_Amount |
| | | { |
| | | Refund = refund, |
| | | Total = total, |
| | | Currency = "CNY" |
| | | }, |
| | | NotifyUrl = $"{_wxPayOptions.NotifyUrl}{LifePaymentConstant.WxPayDomesticRefundsNotifySectionUrl}", |
| | | }; |
| | | |
| | | var res = await _wxPayApi.WxPayDomesticRefunds(req); |
| | | return res; |
| | | } |
| | | |
| | | public async Task<int> AddUpdateUserAccount(AddUpdateUserAccountInput input) |
| | | { |
| | | if (input.Id.HasValue) |
| | |
| | | } |
| | | else |
| | | { |
| | | |
| | | var repeatAccountContent = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.LifePayType == input.LifePayType && x.Content == input.Content) |
| | | .FirstOrDefaultAsync(); |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(repeatAccountContent != null, "户号已存在"); |
| | |
| | | return "JF" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + GlobalRandom.GetRandomNum(4); |
| | | } |
| | | |
| | | private string CreateRefundOrderNo() |
| | | { |
| | | return "JFTK" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + GlobalRandom.GetRandomNum(4); |
| | | } |
| | | |
| | | private (decimal PayAmont, decimal DiscountAmount, decimal RechargeAmount) CalculateAmount(decimal amount, decimal rate) |
| | | { |
| | | /// 正常支付 |