示例#1
0
        protected void DoRefund(Vip entity)
        {
            var vipFee = _vipDal.GetAll <VipFee>().Where(p => p.VipId == entity.Id && p.Status == (int)PayStatus.支付成功).OrderByDescending(p => p.FeeTime).FirstOrDefault();

            if (vipFee != null && entity.FeeStatus == (int)PayStatus.支付成功)
            {
                var refundReqData = RefundRequestData.GetRefundRequestData((int)vipFee.Fee, vipFee.OrderCode, Server.MapPath("~/App_Data/apiclient_cert.p12"));
                _vipDal.Insert <VipFeeRefund>(new VipFeeRefund
                {
                    RtnOrderCode   = refundReqData.RtnOrderCode,
                    OrderCode      = vipFee.OrderCode,
                    VipId          = vipFee.VipId,
                    VipName        = entity.VipName,
                    RefundFee      = vipFee.Fee,
                    WXRtnOrderCode = refundReqData.WxRtnOrderCode,
                    Remark         = refundReqData.Remark
                });

                if (refundReqData.RefundResult.ToLower() == "success")
                {
                    //entity.IsReturnFee = true;
                    entity.FeeStatus = (int)PayStatus.待支付;
                }
            }
        }
示例#2
0
 public RefundResponseData Refund(RefundRequestData request, string uuid = null)
 {
     return(this.SendRequest <RefundRequestData, RefundResponseData>(request, "Refund", uuid));
 }