AW.Pay.Core.AliPay.BuildRequest C# (CSharp) Method

BuildRequest() private method

private BuildRequest ( string orderNo, string subject, decimal totalAmt, EnumAliPayTradeType aliPayType ) : string
orderNo string
subject string
totalAmt decimal
aliPayType EnumAliPayTradeType
return string
        private string BuildRequest(string orderNo, string subject, decimal totalAmt, EnumAliPayTradeType aliPayType)
        {
            var signType = aliPayType == EnumAliPayTradeType.APP ? EnumSignType.RSA : EnumSignType.MD5;

            SortedDictionary<string, string> dicParam = CreateParam(orderNo, subject, totalAmt, aliPayType);
            string urlParam = CreateURLParamString(dicParam, aliPayType);

            string sign = BuildRequestsign(urlParam, signType);
            dicParam.Add("sign_type", signType.ToString());

            if (aliPayType == EnumAliPayTradeType.APP)
            {
                //APP支付URL字段须进行URL编码,具体出处参看官方文档
                sign=HttpUtility.UrlEncode(sign, Encoding.UTF8);
                return urlParam + "&sign=\"" + sign + "\"&sign_type=\"" + signType.ToString() + "\"";
            }
            else
            {
                dicParam.Add("sign", sign);
                return BuildForm(dicParam);
            }
        }