Ejemplo n.º 1
0
        /// <summary>
        /// Wap统一下单xml结果转化实体
        /// </summary>
        /// <param name="xml">xml</param>
        /// <returns>统一下单结果</returns>
        public static WapUnifiedOrderResult ConvertToWapUnifiedOrderResult(string xml)
        {
            WapUnifiedOrderResult unifiedOrderResult = new WapUnifiedOrderResult();
            XElement doc = XElement.Parse(xml);

            if (doc.Element("return_code").GetString() == "SUCCESS")
            {
                if (doc.Element("result_code").GetString() == "SUCCESS")
                {
                    unifiedOrderResult.IsSuccess = true;
                    unifiedOrderResult.Appid     = doc.Element("appid").GetString();
                    unifiedOrderResult.NonceStr  = doc.Element("nonce_str").GetString();
                    unifiedOrderResult.Sign      = doc.Element("sign").GetString();
                    unifiedOrderResult.Package   = "prepay_id=" + doc.Element("prepay_id").GetString();
                }
                else
                {
                    unifiedOrderResult.IsSuccess = false;
                    unifiedOrderResult.Message   = doc.Element("err_code_des").GetString();
                }
            }
            else
            {
                unifiedOrderResult.IsSuccess = false;
                unifiedOrderResult.Message   = doc.Element("return_msg").GetString();
            }
            return(unifiedOrderResult);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取掉起支付签名
        /// </summary>
        /// <param name="result">统一下单结果</param>
        /// <param name="config">配置</param>
        /// <returns>参数</returns>
        public static SortedDictionary <string, string> GetWapPaySign(WapUnifiedOrderResult result, Config config)
        {
            SortedDictionary <string, string> sParams = new SortedDictionary <string, string>
            {
                { "appId", config.GetAppId() },
                { "timeStamp", Config.GetTimestamp() },
                { "nonceStr", Config.GetNoncestr() },
                { "package", result.Package },
                { "signType", "MD5" }
            };
            var sign = Signature.Getsign(sParams, config.GetKey());

            sParams.Add("sign", sign);
            return(sParams);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 创建微信Wap支付参数
        /// </summary>
        /// <param name="parameters">签名参数</param>
        /// <param name="unifiedOrderResult">统一下单参数</param>
        /// <returns>结果</returns>
        public static WapUnifiedOrderResult CreatePayParameters(SortedDictionary <string, string> parameters, WapUnifiedOrderResult unifiedOrderResult)
        {
            WapUnifiedOrderResult result = new WapUnifiedOrderResult
            {
                IsSuccess = unifiedOrderResult.IsSuccess,
                Message   = unifiedOrderResult.Message,
                Appid     = parameters["appId"],
                NonceStr  = parameters["nonceStr"],
                Timestamp = parameters["timeStamp"],
                Sign      = parameters["sign"],
                Package   = unifiedOrderResult.Package,
                SignType  = "MD5"
            };

            return(result);
        }