QiFeng.ZWY.Bll/WxInterfaceFunc/WxInterRedSendFunc.cs

(开头部分) 11KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
using QiFeng.LMSD.Model.WeChat;

namespace QiFeng.LMSD.Bll.WxInterfaceFunc
{
    /// <summary>
    /// 微信红包发送接口
    /// </summary>
    public class WxInterRedSendFunc
    {

        /// <summary>
        /// 调用微信支付接口前处理数据,包括sign验证等
        /// </summary>
        /// <param name="payForWeiXin"></param>
        /// <returns></returns>
        /// <remarks>Modify by leo 2015-11-05</remarks>
        /// <remarks>删除NICK_NAME</remarks>
        /// <remarks>Modify by lk 修复签名错误 2015-11-05</remarks>
        public string DoDataForPayWeiXin(PayWeiXin payForWeiXin)
        {
            payForWeiXin.ActID = "act_id";
            //调用接口的机器 Ip 地址

            #region 处理nonce_str随机字符串,不长于 32 位(本程序生成长度为16位的)

            payForWeiXin.NonceStr = GenNoncestr(16);
            #endregion
            //原始传入参数
            string[] signTemp = { "mch_billno=" + payForWeiXin.MchBillno, "mch_id=" + payForWeiXin.MchId, "wxappid=" + payForWeiXin.AppId, "send_name=" + payForWeiXin.SendName, "re_openid=" + payForWeiXin.ReOpenid, "total_amount=" + payForWeiXin.TotalAmount, "total_num=" + payForWeiXin.TotalNum, "wishing=" + payForWeiXin.Wishing, "client_ip=" + payForWeiXin.ClientIp, "act_name=" + payForWeiXin.ActName, "remark=" + payForWeiXin.Remark, "nonce_str=" + payForWeiXin.NonceStr };

            List<string> signList = signTemp.ToList();
            #region 处理支付签名
            //对signList按照ASCII码从小到大的顺序排序
            signList.Sort();

            string signOld = string.Empty;
            string payForWeiXinOld = string.Empty;
            int i = 0;
            foreach (string temp in signList)
            {
                signOld += temp + "&";
                i++;
            }
            signOld = signOld.Substring(0, signOld.Length - 1);
            //拼接Key
            signOld += "&key=" + payForWeiXin.PayKey;
            //处理支付签名
            payForWeiXin.Sign = Encrypt(signOld).ToUpper();
            #endregion
后面还有 219 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。