/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="requestParams"></param> /// <param name="request"></param> /// <returns></returns> private AopDictionary SerializeBizModel <T>(AopDictionary requestParams, IAopRequest <T> request) where T : AopResponse { AopDictionary result = requestParams; Boolean isBizContentEmpty = !requestParams.ContainsKey(BIZ_CONTENT) || String.IsNullOrEmpty(requestParams[BIZ_CONTENT]); if (isBizContentEmpty && request.GetBizModel() != null) { AopObject bizModel = request.GetBizModel(); String content = Serialize(bizModel); result.Add(BIZ_CONTENT, content); } return(result); }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("channel_id", this.ChannelId); parameters.Add("ext_info", this.ExtInfo); parameters.Add("pass", this.Pass); parameters.Add("serial_number", this.SerialNumber); parameters.Add("status", this.Status); parameters.Add("verify_code", this.VerifyCode); parameters.Add("verify_type", this.VerifyType); return(parameters); }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("bill_key", this.BillKey); parameters.Add("charge_inst", this.ChargeInst); parameters.Add("chargeoff_inst", this.ChargeoffInst); parameters.Add("company_id", this.CompanyId); parameters.Add("extend", this.Extend); parameters.Add("order_type", this.OrderType); parameters.Add("sub_order_type", this.SubOrderType); return(parameters); }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("biz_ext_params", this.BizExtParams); parameters.Add("columns", this.Columns); parameters.Add("file_charset", this.FileCharset); parameters.Add("file_description", this.FileDescription); parameters.Add("file_type", this.FileType); parameters.Add("primary_key_columns", this.PrimaryKeyColumns); parameters.Add("records", this.Records); return(parameters); }
public IDictionary<string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("agent_code", this.AgentCode); parameters.Add("agreement_id", this.AgreementId); parameters.Add("alipay_user_id", this.AlipayUserId); parameters.Add("card_name", this.CardName); parameters.Add("card_no", this.CardNo); parameters.Add("public_id", this.PublicId); return parameters; }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("memo", this.Memo); parameters.Add("merchant_order_no", this.MerchantOrderNo); parameters.Add("order_time", this.OrderTime); parameters.Add("point_count", this.PointCount); parameters.Add("user_symbol", this.UserSymbol); parameters.Add("user_symbol_type", this.UserSymbolType); return(parameters); }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("cache_interval", this.CacheInterval); parameters.Add("query_conditions", this.QueryConditions); parameters.Add("service_name", this.ServiceName); parameters.Add("visit_biz", this.VisitBiz); parameters.Add("visit_biz_line", this.VisitBizLine); parameters.Add("visit_domain", this.VisitDomain); return(parameters); }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("check_signcard", this.CheckSigncard); parameters.Add("f_return_url", this.FReturnUrl); parameters.Add("has_spi", this.HasSpi); parameters.Add("operator_name", this.OperatorName); parameters.Add("province_name", this.ProvinceName); parameters.Add("s_return_url", this.SReturnUrl); return(parameters); }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("end_time", this.EndTime); parameters.Add("fields", this.Fields); parameters.Add("page_no", this.PageNo); parameters.Add("page_size", this.PageSize); parameters.Add("start_time", this.StartTime); parameters.Add("type", this.Type); return(parameters); }
public IDictionary<string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("subscriber_user_id", this.SubscriberUserId); return parameters; }
public T Execute <T>(IAopRequest <T> request, string accessToken, string appAuthToken) where T : AopResponse { AlipayMobilePublicMultiMediaDownloadRequest multiMediaDownloadRequest = ((AlipayMobilePublicMultiMediaDownloadRequest)request); // 添加协议级请求参数 AopDictionary txtParams = new AopDictionary(request.GetParameters()); txtParams.Add(METHOD, request.GetApiName()); txtParams.Add(VERSION, Version); txtParams.Add(APP_ID, appId); txtParams.Add(FORMAT, format); txtParams.Add(TIMESTAMP, DateTime.Now); txtParams.Add(ACCESS_TOKEN, accessToken); txtParams.Add(SIGN_TYPE, signType); txtParams.Add(TERMINAL_TYPE, request.GetTerminalType()); txtParams.Add(TERMINAL_INFO, request.GetTerminalInfo()); txtParams.Add(PROD_CODE, request.GetProdCode()); if (!string.IsNullOrEmpty(appAuthToken)) { txtParams.Add(APP_AUTH_TOKEN, appAuthToken); } // 添加签名参数 txtParams.Add(SIGN, AopUtils.SignAopRequest(txtParams, privateKeyPem, charset, signType)); Stream outStream = multiMediaDownloadRequest.stream; AopResponse rsp = DoGet(txtParams, outStream); return((T)rsp); }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("category", this.Category); parameters.Add("content", this.Content); parameters.Add("desc", this.Desc); parameters.Add("msg_type", this.MsgType); parameters.Add("source_ext_info", this.SourceExtInfo); parameters.Add("title", this.Title); parameters.Add("unique_msg_id", this.UniqueMsgId); parameters.Add("video_length", this.VideoLength); parameters.Add("video_samples", this.VideoSamples); parameters.Add("video_size", this.VideoSize); parameters.Add("video_source", this.VideoSource); parameters.Add("video_temporary_url", this.VideoTemporaryUrl); parameters.Add("video_url", this.VideoUrl); return(parameters); }
private AopDictionary buildRequestParams <T>(IAopRequest <T> request, String accessToken, String appAuthToken) where T : AopResponse { // 默认参数 AopDictionary oriParams = new AopDictionary(request.GetParameters()); // 序列化BizModel AopDictionary result = SerializeBizModel(oriParams, request); // 获取参数 String charset = String.IsNullOrEmpty(this.charset) ? "utf-8" : this.charset; String apiVersion = String.IsNullOrEmpty(request.GetApiVersion()) ? this.Version : request.GetApiVersion(); // 添加协议级请求参数,为空的参数后面会自动过滤,这里不做处理。 result.Add(METHOD, request.GetApiName()); result.Add(VERSION, apiVersion); result.Add(APP_ID, appId); result.Add(FORMAT, format); result.Add(TIMESTAMP, DateTime.Now); result.Add(ACCESS_TOKEN, accessToken); result.Add(SIGN_TYPE, signType); result.Add(TERMINAL_TYPE, request.GetTerminalType()); result.Add(TERMINAL_INFO, request.GetTerminalInfo()); result.Add(PROD_CODE, request.GetProdCode()); result.Add(NOTIFY_URL, request.GetNotifyUrl()); result.Add(CHARSET, charset); result.Add(RETURN_URL, request.GetReturnUrl()); result.Add(APP_AUTH_TOKEN, appAuthToken); if (request.GetNeedEncrypt()) { if (String.IsNullOrEmpty(result[BIZ_CONTENT])) { throw new AopException("api request Fail ! The reason: encrypt request is not supported!"); } if (String.IsNullOrEmpty(this.encyptKey) || String.IsNullOrEmpty(this.encyptType)) { throw new AopException("encryptType or encryptKey must not null!"); } if (!"AES".Equals(this.encyptType)) { throw new AopException("api only support Aes!"); } String encryptContent = AopUtils.AesEncrypt(this.encyptKey, result[BIZ_CONTENT], this.charset); result.Remove(BIZ_CONTENT); result.Add(BIZ_CONTENT, encryptContent); result.Add(ENCRYPT_TYPE, this.encyptType); } return(result); }
public T Execute <T>(IAopRequest <T> request, string accessToken, string appAuthToken) where T : AopResponse { if (string.IsNullOrEmpty(this.charset)) { this.charset = "utf-8"; } string apiVersion = null; if (!string.IsNullOrEmpty(request.GetApiVersion())) { apiVersion = request.GetApiVersion(); } else { apiVersion = Version; } // 添加协议级请求参数 AopDictionary txtParams = new AopDictionary(request.GetParameters()); // 序列化BizModel txtParams = SerializeBizModel(txtParams, request); txtParams.Add(METHOD, request.GetApiName()); txtParams.Add(VERSION, apiVersion); txtParams.Add(APP_ID, appId); txtParams.Add(FORMAT, format); txtParams.Add(TIMESTAMP, DateTime.Now); txtParams.Add(ACCESS_TOKEN, accessToken); txtParams.Add(SIGN_TYPE, signType); txtParams.Add(TERMINAL_TYPE, request.GetTerminalType()); txtParams.Add(TERMINAL_INFO, request.GetTerminalInfo()); txtParams.Add(PROD_CODE, request.GetProdCode()); txtParams.Add(CHARSET, charset); if (!string.IsNullOrEmpty(request.GetNotifyUrl())) { txtParams.Add(NOTIFY_URL, request.GetNotifyUrl()); } if (!string.IsNullOrEmpty(appAuthToken)) { txtParams.Add(APP_AUTH_TOKEN, appAuthToken); } if (request.GetNeedEncrypt()) { if (string.IsNullOrEmpty(txtParams[BIZ_CONTENT])) { throw new AopException("api request Fail ! The reason: encrypt request is not supported!"); } if (string.IsNullOrEmpty(this.encyptKey) || string.IsNullOrEmpty(this.encyptType)) { throw new AopException("encryptType or encryptKey must not null!"); } if (!"AES".Equals(this.encyptType)) { throw new AopException("api only support Aes!"); } string encryptContent = AopUtils.AesEncrypt(this.encyptKey, txtParams[BIZ_CONTENT], this.charset); txtParams.Remove(BIZ_CONTENT); txtParams.Add(BIZ_CONTENT, encryptContent); txtParams.Add(ENCRYPT_TYPE, this.encyptType); } // 添加签名参数 txtParams.Add(SIGN, AopUtils.SignAopRequest(txtParams, privateKeyPem, charset, this.keyFromFile, signType)); // 是否需要上传文件 string body; if (request is IAopUploadRequest <T> ) { IAopUploadRequest <T> uRequest = (IAopUploadRequest <T>)request; IDictionary <string, FileItem> fileParams = AopUtils.CleanupDictionary(uRequest.GetFileParameters()); body = webUtils.DoPost(this.serverUrl + "?" + CHARSET + "=" + this.charset, txtParams, fileParams, this.charset); } else { body = webUtils.DoPost(this.serverUrl + "?" + CHARSET + "=" + this.charset, txtParams, this.charset); } T rsp = null; IAopParser <T> parser = null; if ("xml".Equals(format)) { parser = new AopXmlParser <T>(); rsp = parser.Parse(body, charset); } else { parser = new AopJsonParser <T>(); rsp = parser.Parse(body, charset); } ResponseParseItem item = parseRespItem(request, body, parser, this.encyptKey, this.encyptType, charset); rsp = parser.Parse(item.realContent, charset); CheckResponseSign(request, item.respContent, rsp.IsError, parser, this.alipayPublicKey, this.charset, signType, this.keyFromFile); return(rsp); }
public T pageExecute <T>(IAopRequest <T> request, string accessToken, string reqMethod) where T : AopResponse { if (string.IsNullOrEmpty(this.charset)) { this.charset = "utf-8"; } string apiVersion = null; if (!string.IsNullOrEmpty(request.GetApiVersion())) { apiVersion = request.GetApiVersion(); } else { apiVersion = Version; } AopDictionary txtParams = new AopDictionary(request.GetParameters()); // 序列化BizModel txtParams = SerializeBizModel(txtParams, request); System.Text.StringBuilder xmlData = new System.Text.StringBuilder(); // 添加协议级请求参数 //AopDictionary txtParams = new AopDictionary(request.GetParameters()); txtParams.Add(METHOD, request.GetApiName()); txtParams.Add(VERSION, apiVersion); txtParams.Add(APP_ID, appId); txtParams.Add(FORMAT, format); txtParams.Add(TIMESTAMP, DateTime.Now); txtParams.Add(ACCESS_TOKEN, accessToken); txtParams.Add(SIGN_TYPE, signType); txtParams.Add(TERMINAL_TYPE, request.GetTerminalType()); txtParams.Add(TERMINAL_INFO, request.GetTerminalInfo()); txtParams.Add(PROD_CODE, request.GetProdCode()); txtParams.Add(NOTIFY_URL, request.GetNotifyUrl()); txtParams.Add(CHARSET, this.charset); //txtParams.Add(RETURN_URL, this.return_url); txtParams.Add(RETURN_URL, request.GetReturnUrl()); //字典排序 IDictionary <string, string> sortedTxtParams = new SortedDictionary <string, string>(txtParams); txtParams = new AopDictionary(sortedTxtParams); // 排序返回字典类型添加签名参数 txtParams.Add(SIGN, AopUtils.SignAopRequest(sortedTxtParams, privateKeyPem, this.charset, this.keyFromFile, this.signType)); // 是否需要上传文件 string body; if (request is IAopUploadRequest <T> ) { IAopUploadRequest <T> uRequest = (IAopUploadRequest <T>)request; IDictionary <string, FileItem> fileParams = AopUtils.CleanupDictionary(uRequest.GetFileParameters()); body = webUtils.DoPost(this.serverUrl + "?" + CHARSET + "=" + this.charset, txtParams, fileParams, this.charset); } else { if (reqMethod.Equals("GET")) { //直接调用DoGet方法请求 //body=webUtils .DoGet (this.serverUrl ,txtParams ,this.charset); //拼接get请求的url string tmpUrl = serverUrl; if (txtParams != null && txtParams.Count > 0) { if (tmpUrl.Contains("?")) { tmpUrl = tmpUrl + "&" + WebUtils.BuildQuery(txtParams, charset); } else { tmpUrl = tmpUrl + "?" + WebUtils.BuildQuery(txtParams, charset); } } body = tmpUrl; } else { //直接调用DoPost方法请求 // body = webUtils.DoPost(this.serverUrl, txtParams, this.charset); //输出post表单 body = BuildHtmlRequest(txtParams, reqMethod, reqMethod); } } T rsp = null; IAopParser <T> parser = null; if ("xml".Equals(format)) { parser = new AopXmlParser <T>(); rsp = parser.Parse(body, charset); } else { parser = new AopJsonParser <T>(); rsp = parser.Parse(body, charset); } //验签 // CheckResponseSign(request, rsp, parser, this.alipayPublicKey, this.charset); return(rsp); }
public IDictionary<string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("template_id", this.TemplateId); return parameters; }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("alipay_ca_request", this.AlipayCaRequest); parameters.Add("body", this.Body); parameters.Add("buyer_email", this.BuyerEmail); parameters.Add("buyer_id", this.BuyerId); parameters.Add("channel_parameters", this.ChannelParameters); parameters.Add("currency", this.Currency); parameters.Add("dynamic_id", this.DynamicId); parameters.Add("dynamic_id_type", this.DynamicIdType); parameters.Add("extend_params", this.ExtendParams); parameters.Add("format_type", this.FormatType); parameters.Add("goods_detail", this.GoodsDetail); parameters.Add("it_b_pay", this.ItBPay); parameters.Add("mcard_parameters", this.McardParameters); parameters.Add("operator_id", this.OperatorId); parameters.Add("operator_type", this.OperatorType); parameters.Add("out_trade_no", this.OutTradeNo); parameters.Add("price", this.Price); parameters.Add("quantity", this.Quantity); parameters.Add("ref_ids", this.RefIds); parameters.Add("royalty_parameters", this.RoyaltyParameters); parameters.Add("royalty_type", this.RoyaltyType); parameters.Add("seller_email", this.SellerEmail); parameters.Add("seller_id", this.SellerId); parameters.Add("show_url", this.ShowUrl); parameters.Add("subject", this.Subject); parameters.Add("total_fee", this.TotalFee); return(parameters); }
public IDictionary<string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("biz_content", this.BizContent); return parameters; }
public IDictionary <string, string> GetParameters() { AopDictionary parameters = new AopDictionary(); parameters.Add("bank_bill_no", this.BankBillNo); parameters.Add("bill_date", this.BillDate); parameters.Add("bill_key", this.BillKey); parameters.Add("charge_inst", this.ChargeInst); parameters.Add("extend_field", this.ExtendField); parameters.Add("merchant_order_no", this.MerchantOrderNo); parameters.Add("mobile", this.Mobile); parameters.Add("order_type", this.OrderType); parameters.Add("owner_name", this.OwnerName); parameters.Add("pay_amount", this.PayAmount); parameters.Add("service_amount", this.ServiceAmount); parameters.Add("sub_order_type", this.SubOrderType); parameters.Add("traffic_location", this.TrafficLocation); parameters.Add("traffic_regulations", this.TrafficRegulations); return(parameters); }