public async Task SubmitRMA_Json()
        {
            var rmainfo = new SubmitRMARequest()
            {
                RequestBody = new SubmitRMARequestBody()
                {
                    IssueRMA = new SubmitRMARequestBody.SubmitRMAInfo()
                    {
                        RMAType            = RMAType.Refund,
                        SourceSONumber     = 299232884,
                        SellerRMANumber    = "E12345678",
                        AutoReceiveMark    = SubmitRMARequestAutoReceiveMark.No,
                        RMANote            = "API test refund RMA201601061001",
                        RMATransactionList = new List <SubmitRMARequestBody.SubmitRMAInfo.RMATransactionInfo>()
                        {
                            new SubmitRMARequestBody.SubmitRMAInfo.RMATransactionInfo()
                            {
                                SellerPartNumber    = "Test_SP#A2EU_20181108_0003",
                                ReturnQuantity      = 1,
                                ReturnUnitPrice     = 0.02m,
                                RefundShippingPrice = 0.00m,
                                RMAReason           = RMAReason.Defective
                            }
                        }
                    }
                }
            };

            CheckRequestString <SubmitRMARequest>(rmainfo);
            var result = await fakeapi_json.SubmitRMA(rmainfo);

            Assert.IsType <SubmitRMAResponse>(result);
            Assert.Equal("299232884", result.ResponseBody.RMAInfo.OrderNumber);
        }
        public async Task <SubmitRMAResponse> SubmitRMA(SubmitRMARequest reqModel, int?Version = null, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null)
        {
            var request = CreateRequest <SubmitRMARequest>(reqModel);

            request.URI = "servicemgmt/rma/newrma";
            if (Version != null)
            {
                request.QueryParams.Add("version", Version.ToString());
            }

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

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

            return(result);
        }