Exemple #1
0
        public NotifyResult ParseNotifyResponse(string responseValue)
        {
            NotifyResponse response = XmlSerializerHelper.FromXmlString <NotifyResponse>(responseValue);

            if (!response.IsSuccess)
            {
                NotifyResult result1 = new NotifyResult();
                result1.ErrorCode    = response.ErrCode;
                result1.ErrorMessage = this.GetErrorMessage(response, "ParseNotifyResponse");
                return(result1);
            }
            if (!this.ValidateResponse <NotifyResponse>(response))
            {
                NotifyResult result2 = new NotifyResult();
                result2.ErrorMessage = "返回结果响应结果不正确";
                return(result2);
            }
            NotifyResult result3 = new NotifyResult();

            result3.IsSuccess     = true;
            result3.Attach        = response.Attach;
            result3.OutTradeNo    = response.OutTradeNo;
            result3.TimeEnd       = response.TimeEnd;
            result3.TotalFee      = ((double)response.TotalFee.GetValueOrDefault()) / 100.0;
            result3.TransactionId = response.TransactionId;
            result3.Bank          = WeChatBankTypes.GetBank(response.BankType);
            return(result3);
        }
Exemple #2
0
        public QueryOrderResult QueryOrderAsync(QueryOrderParameter queryOrderParameter)
        {
            string str;

            if (!this.ValidateParameter <QueryOrderParameter>(queryOrderParameter, out str))
            {
                QueryOrderResult result1 = new QueryOrderResult();
                result1.ErrorMessage = str;
                return(result1);
            }
            OrderQueryRequest request = new OrderQueryRequest
            {
                AppId       = this.m_AppId,
                MerchantId  = queryOrderParameter.MerchantId,
                NonceString = WeChatSignHelper.CreateRandomString(),
                OutTradeNo  = queryOrderParameter.OutTradeNo
            };
            OrderQueryResponse response = this.InvokeApiAsync <OrderQueryRequest, OrderQueryResponse>(_OrderQueryUrl, request);

            if (!response.IsSuccess)
            {
                QueryOrderResult result3 = new QueryOrderResult();
                result3.ErrorCode    = response.ErrCode;
                result3.ErrorMessage = response.ReturnMsg;
                return(result3);
            }
            QueryOrderResult result2 = new QueryOrderResult();

            result2.IsSuccess             = true;
            result2.EndTime               = response.TimeEnd;
            result2.OutTradeNo            = response.OutTradeNo;
            result2.TotalFee              = ((double)response.TotalFee.GetValueOrDefault()) / 100.0;
            result2.TradeState            = (TradeState)Enum.Parse(typeof(TradeState), response.TradeState, true);
            result2.TradeStateDescription = response.TradeStateDesc;
            result2.TransactionId         = response.TransactionId;
            result2.Bank = WeChatBankTypes.GetBank(response.BankType);
            return(result2);
        }