public async Task <ResponseViewModel <string> > AcquireAliPaySign([FromBody] RequestViewModel obj) { ResponseViewModel <string> response = null; string result = string.Empty; obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content); var sysCode = SysCode.Ok; bool isLog = _token.VerifyToken(obj.HendInfo.UserOpenId, obj.HendInfo.SessionToken); if (isLog) { string json = RedisHelper.StringGet($"{CacheKey.Token}{obj.HendInfo.UserOpenId}", RedisFolderEnum.token, RedisEnum.Three); var userLog = JsonHelper.DeserializeJsonToObject <UserLoginDto>(json); int itemId = StringExtension.ToInt((string)obj.Data.itemId); //; //商品Id RechargeCommodityDto rechargeCommodity = await _recharge.GetRechargeCommodityByIdAsync(itemId); if (rechargeCommodity == null) { sysCode = SysCode.RechargeCommodityIsNULL; //充值商品不存在, } if (sysCode == SysCode.Ok) { string order = Guid.NewGuid().ToString(); result = _recharge.CreateAlipayReceipt(rechargeCommodity, order); AliPayOrderDto AliPayOrder = new AliPayOrderDto() { Commodity_id = itemId, Out_trade_no = order, Createtime = DateTime.Now, Updatetime = DateTime.Now, Gmt_payment = DateTime.Now, Userid = userLog.Userid, Total_amount = rechargeCommodity.Money }; await _recharge.RecordAlipayOrderAsync(AliPayOrder);//记录支付宝订单。 RechargeDto recharge = new RechargeDto() { Amount = rechargeCommodity.Amount, createtime = DateTime.Now, Pay_type = 1, //支付类型 1支付宝,2微信,3苹果内购 Status = 1, //1 待处理 2 已支付 3 支付失败 4 超时 updatetime = DateTime.Now, UserId = userLog.Userid, Order_id = AliPayOrder.Out_trade_no, }; await _recharge.RecordRechargeLogAsync(recharge); //记录充值订 } } else { /*短令牌失效*/ sysCode = SysCode.SessionTokenLose; } response = new ResponseViewModel <string>(sysCode, sysCode == SysCode.Ok ? result : null, obj.Encrypt, _sys, obj.Secret); return(response); }
public async Task <H5ResponseViewModel <AliPayH5View> > PayRequest([FromBody] H5RequestViewModel Parameters) { var sysCode = _sys.CheckParameters(Parameters.data, "payrequest"); H5ResponseViewModel <AliPayH5View> response = null; AliPayH5View result = null; string token = Parameters.data.token; bool isLog = _token.VerifyToken(token); if (sysCode == SysCode.Ok) { if (isLog) { string json = RedisHelper.StringGet($"{CacheKey.Token}{token}", RedisFolderEnum.token, RedisEnum.Five); UserLoginDto userLogin = JsonHelper.DeserializeJsonToObject <UserLoginDto>(json); int id = int.Parse((string)Parameters.data.id); var rechargeCommodity = await _recharge.GetRechargeCommodityByIdAsync(id); string order = Guid.NewGuid().ToString(); result = _recharge.CreateAlipayH5Receipt(rechargeCommodity, order); AliPayOrderDto AliPayOrder = new AliPayOrderDto() { Commodity_id = id, Out_trade_no = order, Createtime = DateTime.Now, Updatetime = DateTime.Now, Gmt_payment = DateTime.Now, Userid = userLogin.Userid, Total_amount = rechargeCommodity.Money //人名币 }; await _recharge.RecordAlipayOrderAsync(AliPayOrder); //记录支付宝订单。 RechargeDto recharge = new RechargeDto() { Amount = rechargeCommodity.Amount, //虚拟币 createtime = DateTime.Now, Pay_type = 1, //支付类型 1支付宝,2微信,3苹果内购 Status = 1, //1 待处理 2 已支付 3 支付失败 4 超时 updatetime = DateTime.Now, UserId = userLogin.Userid, Order_id = AliPayOrder.Out_trade_no, }; await _recharge.RecordRechargeLogAsync(recharge); //记录充值订 } else { sysCode = SysCode.TokenLose; } } response = new H5ResponseViewModel <AliPayH5View>(sysCode, result ?? null); return(response); }