public void Sale_ReturnsSuccessfulResponseWithUsBankAccount()
{
var request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
MerchantAccountId = MerchantAccountIDs.US_BANK_MERCHANT_ACCOUNT_ID,
PaymentMethodNonce = TestHelper.GenerateValidUsBankAccountNonce(gateway),
Options = new TransactionOptionsRequest
{
SubmitForSettlement = true,
StoreInVault = true
}
};
Result<Transaction> result = gateway.Transaction.Sale(request);
Assert.IsTrue(result.IsSuccess());
Transaction transaction = result.Target;
Assert.AreEqual(1000.00, transaction.Amount);
Assert.AreEqual(TransactionType.SALE, transaction.Type);
Assert.AreEqual(TransactionStatus.SETTLEMENT_PENDING, transaction.Status);
Assert.AreEqual(DateTime.Now.Year, transaction.CreatedAt.Value.Year);
Assert.AreEqual(DateTime.Now.Year, transaction.UpdatedAt.Value.Year);
UsBankAccountDetails usBankAccountDetails = transaction.UsBankAccountDetails;
Assert.AreEqual("021000021", usBankAccountDetails.RoutingNumber);
Assert.AreEqual("1234", usBankAccountDetails.Last4);
Assert.AreEqual("checking", usBankAccountDetails.AccountType);
Assert.AreEqual("PayPal Checking - 1234", usBankAccountDetails.AccountDescription);
Assert.AreEqual("Dan Schulman", usBankAccountDetails.AccountHolderName);
Assert.IsTrue(Regex.IsMatch(usBankAccountDetails.BankName, ".*CHASE.*"));
}