/// <summary>
        /// 生成付呗请求参数(带签名)
        /// </summary>
        /// <param name="bizParam">业务数据</param>
        /// <returns></returns>
        public FubeiRequestParam GenerateFubeiRequestParam(FubeiBizParam bizParam)
        {
            var requestParam = new FubeiRequestParam
            {
                AppId      = _applicationConfiguration.AppId,
                AppSecret  = _applicationConfiguration.AppSecret,
                BizContent = JsonConvert.SerializeObject(bizParam, Formatting.Indented, AppJsonSerializeSettings.IgnoreNullvalueHandling),
                Nonce      = RandomStringUtil.RandomAlphanumeric(32),
                Method     = bizParam.Method
            };

            // 对请求参数进行签名
            FubeiSignatureUtil.DoSign(ref requestParam);
            return(requestParam);
        }
예제 #2
0
        private static string ToBaseString(FubeiRequestParam requestParam)
        {
            var map = new Dictionary <string, string>
            {
                { "app_id", requestParam.AppId },
                { "method", requestParam.Method },
                { "format", requestParam.Format },
                { "sign_method", requestParam.SignMethod },
                { "nonce", requestParam.Nonce },
                { "version", requestParam.Version },
                { "biz_content", requestParam.BizContent }
            };

            return(ToBaseString(map, requestParam.AppSecret));
        }
예제 #3
0
        /// <summary>
        /// 签名
        /// </summary>
        /// <param name="requestParam">请求参数</param>
        public static void DoSign(ref FubeiRequestParam requestParam)
        {
            var baseString = ToBaseString(requestParam);

            requestParam.Sign = Hash(baseString);
        }