using System; using PaySharp.Core; using PaySharp.Core.Request; using PaySharp.Core.Utils; namespace PaySharp.Wechatpay.Response { public class PublicPayResponse : 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("timeStamp", DateTime.Now.ToTimeStamp()); gatewayData.Add("nonceStr", Util.GenerateNonceStr()); gatewayData.Add("package", $"prepay_id={PrepayId}"); gatewayData.Add("signType", "MD5"); var data = $"{gatewayData.ToUrl(false)}&key={merchant.Key}"; var sign = EncryptUtil.MD5(data); gatewayData.Add("paySign", sign); OrderInfo = gatewayData.ToJson(); } } } }