public void Sale_WithUsBankAccountNonce()
{
var request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
MerchantAccountId = MerchantAccountIDs.US_BANK_MERCHANT_ACCOUNT_ID,
PaymentMethodNonce = TestHelper.GenerateValidUsBankAccountNonce(gateway),
Options = new TransactionOptionsRequest
{
SubmitForSettlement = true
}
};
Result<Transaction> result = gateway.Transaction.Sale(request);
Assert.IsTrue(result.IsSuccess());
Assert.AreEqual(PaymentInstrumentType.US_BANK_ACCOUNT, result.Target.PaymentInstrumentType);
Assert.IsNotNull(result.Target.UsBankAccountDetails);
UsBankAccountDetails usBankAccountDetails = result.Target.UsBankAccountDetails;
Assert.IsNull(usBankAccountDetails.Token);
Assert.AreEqual("021000021", usBankAccountDetails.RoutingNumber);
Assert.AreEqual("1234", usBankAccountDetails.Last4);
Assert.AreEqual("checking", usBankAccountDetails.AccountType);
Assert.AreEqual("Dan Schulman", usBankAccountDetails.AccountHolderName);
Assert.AreEqual("PayPal Checking - 1234", usBankAccountDetails.AccountDescription);
Assert.IsTrue(Regex.IsMatch(usBankAccountDetails.BankName, ".*CHASE.*"));
}