Ejemplo n.º 1
0
        /// <summary>
        /// 企业付款
        /// </summary>
        /// <param name="outTradeNo">流水号</param>
        /// <param name="openId"></param>
        /// <param name="amount">金额 decimal(单位 元,最少一元起付)</param>
        /// <param name="desc">描述</param>
        /// <param name="ip">请求Ip</param>
        /// <returns></returns>
        public static string Transfers(string outTradeNo, string openId, decimal amount, string desc, string ip)
        {
            try
            {
                const string deviceInfo  = "";
                string       nonceStr    = TenPayV3Util.GetNoncestr();
                var          xmlDataInfo = new TenPayV3TransfersRequestData(
                    WxOpenId,   //商户账号appid
                    MchId,      //商户号
                    deviceInfo, //设备号 非必填
                    nonceStr,   //随机字符串
                    outTradeNo, //partner_trade_no商户订单号(只能是字母或者数字,不能包含有符号)
                    openId,     //
                    MchIdkey,   //商户号key
                    "NO_CHECK", // 校验用户姓名选项 NO_CHECK:不校验真实姓名
                    "",         //收款用户姓名
                    amount,     //金额
                    desc,       //企业付款描述信息
                    ip          //调用接口的机器Ip地址
                    );

                string cert    = CertPath;     //证书绝对路径
                string certPwd = CertPassword; //证书密码
                var    result  = TenPayV3.Transfers(xmlDataInfo, cert, certPwd);
                Log.WriteLogToTxt("企业付款 result:" + JsonHelper.ToJson(result), LogType.Info);
                return(result.result_code == "SUCCESS" ? "成功" : result.err_code_des);
            }
            catch (Exception ex)
            {
                WxWriteLogError(ex, "异常企业付款");
            }
            return("");
        }