#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
        public RefundQueryResult RefundQuery(WeChatRefundQueryParamter paramter)
#pragma warning restore CS1591 // 缺少对公共可见类型或成员的 XML 注释
        {
            string nonceStr = TenPayV3Util.GetNoncestr();
            TenPayV3RefundQueryRequestData tenPayV3RefundRequestData = new TenPayV3RefundQueryRequestData(Options.WeChatBaseOptions.AppId,
                                                                                                          Options.WeChatBaseOptions.MchId, Options.WeChatBaseOptions.Key, nonceStr, paramter.DeviceInfo, paramter.TransactionId,
                                                                                                          paramter.OutTradeNo, paramter.OutRefundNo, paramter.RefundId, null, null, paramter.Offset);

            RefundQueryResult refundQueryResult = TenPayV3.RefundQuery(tenPayV3RefundRequestData);

            return(refundQueryResult);
        }
예제 #2
0
        public async Task <IActionResult> RefundQuery(RefundQueryModel refundQuery)
        {
            if (string.IsNullOrWhiteSpace(refundQuery.NonceStr))
            {
                refundQuery.NonceStr = TenPayV3Util.GetNoncestr();
            }
            if (string.IsNullOrWhiteSpace(refundQuery.OutTradeNo) &&
                string.IsNullOrWhiteSpace(refundQuery.TransactionId) &&
                string.IsNullOrWhiteSpace(refundQuery.OutRefundNo) &&
                string.IsNullOrWhiteSpace(refundQuery.RefundId))
            {
                return(BadRequest("需要OutTradeNo,TransactionId,OutRefundNo,RefundId之一"));
            }

            refundQuery.SignType = "MD5";

            TenPayV3RefundQueryRequestData dataInfo = new TenPayV3RefundQueryRequestData(
                appId: TenPyConfigRead.AppId,
                mchId: TenPyConfigRead.MchId,
                key: TenPyConfigRead.Key,
                nonceStr: refundQuery.NonceStr,
                deviceInfo: refundQuery.DeviceInfo,
                transactionId: refundQuery.TransactionId,
                outTradeNo: refundQuery.OutTradeNo,
                outRefundNo: refundQuery.OutRefundNo,
                refundId: refundQuery.RefundId,
                offset: refundQuery.Offset
                );

            var result = await TenPayV3.RefundQueryAsync(dataInfo);

            var log = _logger.CreateLogger("查询退款");

            if (result.return_code == "FAIL")
            {
                log.LogError($"商家订单号(OutTradeNo):{refundQuery.OutTradeNo}   通讯标记(return_code):{result.return_code}  {result.return_msg}");
            }
            if (result.result_code == "FAIL")
            {
                log.LogError($"商家订单号(OutTradeNo):{refundQuery.OutTradeNo}   业务结果(result_code):{result.result_code}\n{result.err_code}:{result.err_code_des}");
            }
            else if (result.result_code == "SUCCESS")
            {
                log.LogInformation($"商家订单号(OutTradeNo):{refundQuery.OutTradeNo}  业务结果(result_code):{result.result_code}");
            }
            return(Ok(new
            {
                respond = result,
                request = refundQuery
            }));
        }