/// <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); }
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)); }
/// <summary> /// 签名 /// </summary> /// <param name="requestParam">请求参数</param> public static void DoSign(ref FubeiRequestParam requestParam) { var baseString = ToBaseString(requestParam); requestParam.Sign = Hash(baseString); }