Контракт API возвращает «Ссылка Nbr. '00 #### 'не найдена в системе».при попытке использовать VoidPayment или VoidCheck - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь получить интеграционный тест, который автоматически аннулирует платеж.Я получаю следующую ошибку после попытки вызвать действия VoidCheck или Void Payment.«Ссылочный номер« 001605 »не найден в системе».когда Платеж этого ReferenceNbr действительно существует.

Я хотел бы узнать, смогу ли я получить какие-либо предложения для решения этой проблемы, прежде чем рассмотреть возможность сделать это с Selenium.

Заранее спасибо

Роберт

Это скринкаст, рассказывающий о проблеме.https://www.dropbox.com/s/l4d2soq0dx75xye/Issue%20with%20not%20being%20able%20to%20invoke%20VoidCheck%202019-01-25_12-02-17.mp4?dl=0

         try
        {

            Invoice invoice = new Invoice
            {
                ReferenceNbr = new StringSearch {Value = InvoiceReferenceNbr},
                ReturnBehavior = ReturnBehavior.All
            };
            invoice = SoapClient.Get(invoice) as Invoice;

            var paymentRef = invoice?.ApplicationsDefault.FirstOrDefault()?.ReferenceNbr.Value;

            Payment payment = (Payment) SoapClient.Get(new Payment
            {
                ReferenceNbr = new StringSearch {Value = paymentRef},
                ReturnBehavior = ReturnBehavior.All
            });

            Log($"Invoking Void Check for Payment {payment.ReferenceNbr.Value}");

            /*
             This raises the following Error: Reference Nbr. '001605' cannot be found in the system.
             Using VoidPayment raises the same error.
             */
            InvokeResult invokeResult =
                SoapClient.Invoke(payment, new VoidCheck()); 
            ProcessResult processResult = LongRunProcessor.GetProcessResult(SoapClient, invokeResult);
        }
        catch (Exception e)
        {
            Log(new MessageToLog
            {
                Assertion = false,
                PassMessage = "Will Not Pass",
                FailMessage = $"An Error occured while trying to void Payment for invoice {InvoiceReferenceNbr} \r\n" +
                              $"Message:{e.Message}"
            });
        }
...