public async Task <IActionResult> TradeQueryAsync([FromQuery] TradeQueryReq req)
        {
            req.CustomerNo = jdConfig.CustomerNo;
            var rst = await jdService.TradeQueryAsync(req);

            return(Ok(rst));
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public async Task <TradeQueryRsp> TradeQueryAsync(TradeQueryReq req)
        {
            req.NotNull("请求参数");
            debugInfo.Info($"交易查询:{req.ToJsonString()}");
            req.CustomerNo.NotNull("提交者会员号");
            req.OutTradeNo.NotNull("商户订单号");
            var reqDateTime = DateTime.Now.ToString("yyyyMMddHHmmss");
            var dic         = new Dictionary <string, string>()
            {
                { "customer_no", jdConfig.CustomerNo },
                { "out_trade_no", req.OutTradeNo },
                { "request_datetime", reqDateTime }
            };

            dic.Add("sign_type", "SHA-256");
            var signSrcTxt =
                $"customer_no={jdConfig.CustomerNo}&out_trade_no={req.OutTradeNo}&request_datetime={reqDateTime}{jdConfig.Sha256SignKey}";
            var sign = JdHelper.ComputeSha256(signSrcTxt);

            dic.Add("sign_data", sign);
            var rsp = await HttpHelper.GetResultAsync <TradeQueryRsp>(new HttpReqModel()
            {
                Url     = jdConfig.TradeQueryUrl,
                Method  = "post",
                ReqBody = dic
            });

            debugInfo.Info($"交易查询返回:{rsp.ToJsonString()}");
            return(rsp);
        }