public async Task <IssueCourtesyRefundResponse> IssueCourtesyRefund(IssueCourtesyRefundRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null)
        {
            var request = CreateRequest <IssueCourtesyRefundRequest>(reqModel);

            request.URI = "servicemgmt/courtesyrefund/new";

            var response = await client.PostAsync(request, connectSetting);

            var result = await ProcessResponse <IssueCourtesyRefundResponse>(response);

            return(result);
        }
        public async Task IssueCourtesyRefund_Json()
        {
            var rmainfo = new IssueCourtesyRefundRequest()
            {
                RequestBody = new IssueCourtesyRefundRequestBody()
                {
                    IssueCourtesyRefund = new IssueCourtesyRefundRequestBody.IssueCourtesyRefundRequestInfo()
                    {
                        SourceSONumber    = "299395404",
                        RefundReason      = CourtesyRefundReason.WrongItemInformation,
                        TotalRefundAmount = 0.72m,
                        NoteToCustomer    = "just test"
                    }
                }
            };

            CheckRequestString <IssueCourtesyRefundRequest>(rmainfo);
            var result = await fakeapi_json.IssueCourtesyRefund(rmainfo);

            Assert.IsType <IssueCourtesyRefundResponse>(result);
            Assert.True(result.IsSuccess);
            Assert.True(result.ResponseBody.ResponseList.ResponseInfo.RequestStatus == CourtesyRefundRequestStatus.SUBMITTED);
        }