Example #1
0
        /// <summary>
        /// 获取AliPay的支付跳转URL
        /// </summary>
        /// <param name="pRequest"></param>
        /// <returns></returns>
        public static AliPayWapQueryOrderResponse GetQueryTradeResponse(AliPayWapTokenRequest pRequest, AliPayChannel pChannel)
        {
            AliPayWapQueryOrderResponse orderresponse = new AliPayWapQueryOrderResponse();
            var str = BaseGeteway.GetResponseStr(pRequest, Geteway);

            if (!string.IsNullOrEmpty(pChannel.RSA_PublicKey))
            {
                var token = Res_dataDecrypt(str, pChannel, pRequest.InputCharset);
            }
            TokenResponse response = new TokenResponse();
            var           tempdic  = AliPayFunction.ParseResponse(str, pRequest.SecID, pChannel.RSA_PrivateKey, pRequest.InputCharset);

            response.Load(tempdic);
            orderresponse.TokenResponse = response;
            AliPayWapQueryTradeRequest tradeRequeset = new AliPayWapQueryTradeRequest(pChannel)
            {
                RequestToken = response.Token
            };

            orderresponse.RedirectURL = CreateUrl(tradeRequeset);
            orderresponse.IsSucess    = !string.IsNullOrEmpty(response.ResData);
            if (!orderresponse.IsSucess)
            {
                orderresponse.Message = response.ResError;
            }
            return(orderresponse);
        }
Example #2
0
        public static RoyaltyResponse GetRoyaltyResponse(RoyaltyRequest pRequest)
        {
            var str = BaseGeteway.GetResponseStr(pRequest, AliPayConfig.RoyaltyUrl);

            Log.Loggers.Debug(new Log.DebugLogInfo()
            {
                Message = "分润调用接口:" + str
            });
            RoyaltyResponse response = new RoyaltyResponse();

            if (!string.IsNullOrEmpty(str))
            {
                var tempdic = AliPayFunction.ParseResponse(str);
                response.Load(tempdic);
            }
            return(response);
        }
Example #3
0
        public static CreateAndPayResponseParameters OfflineCreateAndPay(CreateAndPayRequest pRequest)
        {
            BaseOfflineResponse            baseResponse = new BaseOfflineResponse();
            CreateAndPayResponseParameters response     = new CreateAndPayResponseParameters();
            var str = BaseGeteway.GetResponseStr(pRequest, Geteway);
            var dic = GetDictionary(str);

            baseResponse.Load(dic);
            if (baseResponse.IsSuccess == "F")
            {
                throw new Exception("请求Offline接口失败:" + baseResponse.Error);
            }
            var paraDic = GetDictionary(baseResponse.Response);

            response.Load(paraDic);
            return(response);
        }