public async Task <PaymentConfirmationResponse> SubmitPaymentAsync(string accessToken, AchPaymentRequest achPayment, CancellationToken cancellationToken = default) { var requestBody = JsonSerializer.Serialize(achPayment, SerializerSettings); return(await SubmitPaymentRequest(accessToken, requestBody, "payments/ach", cancellationToken) .ConfigureAwait(false)); }
public void SubmitPayment_ReturnsConfirmationNumber_WithValidAchPayment() { var accountTokenResponse = TestHelpers.GetAccountToken(_accessToken, _loanPayClient); var routingTokenResponse = TestHelpers.GetRoutingToken(_accessToken, _loanPayClient); var achPayment = new AchPaymentRequest { BankNumber = TestHelpers.BankNumber, CompanyNumber = TestHelpers.CompanyNumber, AccountNumber = "123-123", Amount = 12.34m, ConvenienceFee = 2.65m, PaymentMethod = new AchPaymentMethod { AccountToken = accountTokenResponse.PaymentInformationToken.Token, RoutingToken = routingTokenResponse.PaymentInformationToken.Token, AccountType = BankAccountType.Checking }, Contact = new ContactInfo { Name = "Test Name", Phone = "(123) 456-7890", Email = "*****@*****.**", Address = "1039 3 Mile Rd NW", City = "Walker", State = "MI", Zip = "49544" }, ProcessDate = DateTime.Now.AddDays(2), SessionTimeStamp = DateTime.Now }; var actual = _loanPayClient.LoanPayApi.SubmitPaymentAsync(_accessToken, achPayment, CancellationToken.None) .ConfigureAwait(false) .GetAwaiter() .GetResult(); if (actual.IsError) { _testOutputHelper.WriteLine(actual.Error); } Assert.False(actual.IsError); // We have a confirmation number! Assert.NotEmpty(actual.Confirmation.ConfirmationNumber); }