Example #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     string str = base.Request.QueryString.Get("orderId");
     if (!string.IsNullOrEmpty(str))
     {
         OrderInfo orderInfo = OrderHelper.GetOrderInfo(str);
         if (orderInfo != null)
         {
             PackageInfo package = new PackageInfo {
                 Body = orderInfo.OrderId,
                 NotifyUrl = string.Format("http://{0}/pay/wx_Pay.aspx", base.Request.Url.Host),
                 OutTradeNo = orderInfo.OrderId,
                 TotalFee = (int) (orderInfo.GetTotal() * 100M)
             };
             if (package.TotalFee < 1M)
             {
                 package.TotalFee = 1M;
             }
             string openId = "";
             MemberInfo currentMember = MemberProcessor.GetCurrentMember();
             if (currentMember != null)
             {
                 openId = currentMember.OpenId;
             }
             package.OpenId = openId;
             SiteSettings masterSettings = SettingsManager.GetMasterSettings(false);
             PayRequestInfo req = new PayClient(masterSettings.WeixinAppId, masterSettings.WeixinAppSecret, masterSettings.WeixinPartnerID, masterSettings.WeixinPartnerKey, masterSettings.WeixinPaySignKey).BuildPayRequest(package);
             this.pay_json = this.ConvertPayJson(req);
         }
     }
 }
Example #2
0
 internal string BuildPackage(PackageInfo package)
 {
     PayDictionary parameters = new PayDictionary();
     parameters.Add("appid", this._payAccount.AppId);
     parameters.Add("mch_id", this._payAccount.PartnerId);
     parameters.Add("device_info", "");
     parameters.Add("nonce_str", Utils.CreateNoncestr());
     parameters.Add("body", package.Body);
     parameters.Add("attach", "");
     parameters.Add("out_trade_no", package.OutTradeNo);
     parameters.Add("total_fee", (int) package.TotalFee);
     parameters.Add("spbill_create_ip", package.SpbillCreateIp);
     parameters.Add("time_start", package.TimeExpire);
     parameters.Add("time_expire", "");
     parameters.Add("goods_tag", package.GoodsTag);
     parameters.Add("notify_url", package.NotifyUrl);
     parameters.Add("trade_type", "JSAPI");
     parameters.Add("openid", package.OpenId);
     parameters.Add("product_id", "");
     string sign = SignHelper.SignPackage(parameters, this._payAccount.PartnerKey);
     string str2 = this.GetPrepay_id(parameters, sign);
     if (str2.Length > 0x40)
     {
         str2 = "";
     }
     return string.Format("prepay_id=" + str2, new object[0]);
 }
Example #3
0
 public PayRequestInfo BuildPayRequest(PackageInfo package)
 {
     PayRequestInfo info = new PayRequestInfo {
         appId = this._payAccount.AppId,
         package = this.BuildPackage(package),
         timeStamp = Utils.GetCurrentTimeSeconds().ToString(),
         nonceStr = Utils.CreateNoncestr()
     };
     PayDictionary parameters = new PayDictionary();
     parameters.Add("appId", this._payAccount.AppId);
     parameters.Add("timeStamp", info.timeStamp);
     parameters.Add("package", info.package);
     parameters.Add("nonceStr", info.nonceStr);
     parameters.Add("signType", "MD5");
     info.paySign = SignHelper.SignPay(parameters, this._payAccount.PartnerKey);
     return info;
 }