using System; using PaySharp.Core; using PaySharp.Core.Request; using PaySharp.Core.Utils; namespace PaySharp.Wechatpay.Response { public class AppPayResponse : BaseResponse { /// /// 交易类型 /// public string TradeType { get; set; } /// /// 微信生成的预支付回话标识,用于后续接口调用中使用,该值有效期为2小时 /// public string PrepayId { get; set; } /// /// 用于唤起App的订单参数 /// public string OrderInfo { get; set; } internal override void Execute(Merchant merchant, Request request) { if (ResultCode == "SUCCESS") { var gatewayData = new GatewayData(); gatewayData.Add("appid", merchant.AppId); gatewayData.Add("partnerid", merchant.MchId); gatewayData.Add("prepayid", PrepayId); gatewayData.Add("package", "Sign=WXPay"); gatewayData.Add("noncestr", Util.GenerateNonceStr()); gatewayData.Add("timestamp", DateTime.Now.ToTimeStamp()); var data = $"{gatewayData.ToUrl(false)}&key={merchant.Key}"; var sign = EncryptUtil.MD5(data); gatewayData.Add("sign", sign); OrderInfo = gatewayData.ToJson(); } } } }