Beispiel #1
0
        /// <summary>
        /// 支付宝支付查询(蚂蚁金服)
        /// </summary>
        /// <param name="alipayTradeQueryInfo">查询信息</param>
        /// <param name="config">config</param>
        /// <returns>结果</returns>
        public static AlipayTradeQueryResult QueryPayTradeResult(AlipayTradeQueryInfo alipayTradeQueryInfo, SdkPay.Config config)
        {
            var body                   = QueryPayTrade(alipayTradeQueryInfo, config);
            var parser                 = new AopJsonParser <QueryPayTrade>();
            var queryPayTrade          = parser.Parse(body, SdkPay.Config.Charset);
            var alipayTradeQueryResult = new AlipayTradeQueryResult
            {
                IsSuccess = queryPayTrade.Code == "10000" && (queryPayTrade.trade_status == "TRADE_SUCCESS" || queryPayTrade.trade_status == "TRADE_FINISHED")
            };

            if (alipayTradeQueryResult.IsSuccess)
            {
                alipayTradeQueryResult.Buyer           = queryPayTrade.buyer_logon_id;
                alipayTradeQueryResult.PayAmount       = Convert.ToDecimal(queryPayTrade.total_amount);
                alipayTradeQueryResult.PanyInterfaceNo = queryPayTrade.trade_no;
                alipayTradeQueryResult.TradeNo         = queryPayTrade.out_trade_no;
            }
            return(alipayTradeQueryResult);
        }
Beispiel #2
0
        /// <summary>
        /// 支付宝支付查询(蚂蚁金服)
        /// </summary>
        /// <param name="alipayTradeQueryInfo">查询信息</param>
        /// <param name="config">config</param>
        /// <returns>结果</returns>
        public static string QueryPayTrade(AlipayTradeQueryInfo alipayTradeQueryInfo, SdkPay.Config config)
        {
            const string                url          = SdkPay.Config.ServerUrl;
            string                      appId        = config.GetAppId();
            string                      rivateKeyPem = config.GetPrivateKeyPem();
            const string                format       = SdkPay.Config.Format;
            const string                version      = SdkPay.Config.Version;
            const string                signType     = SdkPay.Config.SignType;
            string                      publicKeyPem = config.GetPublicKeyPemAliPay();
            const string                charset      = SdkPay.Config.Charset;
            IAopClient                  client       = new DefaultAopClient(url, appId, rivateKeyPem, format, version, signType, publicKeyPem, charset, false);
            AlipayTradeQueryRequest     request      = new AlipayTradeQueryRequest();
            AlipayTradeAppPayQueryModel model        = new AlipayTradeAppPayQueryModel
            {
                out_trade_no = alipayTradeQueryInfo.OutTradeNo,
                trade_no     = alipayTradeQueryInfo.TradeNo
            };

            request.SetBizModel(model);
            AlipayTradeQueryResponse response = client.Execute(request);
            var body = response.Body;

            return(body);
        }