public void Find_FindsUsBankAccountWithToken() { Result <Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string nonce = TestHelper.GenerateValidUsBankAccountNonce(gateway); var request = new PaymentMethodRequest { CustomerId = result.Target.Id, PaymentMethodNonce = nonce }; Result <PaymentMethod> paymentMethodResult = gateway.PaymentMethod.Create(request); Assert.IsTrue(paymentMethodResult.IsSuccess()); Assert.IsInstanceOf(typeof(UsBankAccount), paymentMethodResult.Target); UsBankAccount usBankAccount = (UsBankAccount)paymentMethodResult.Target; UsBankAccountGateway usBankAccountGateway = new UsBankAccountGateway(gateway); usBankAccount = usBankAccountGateway.Find(usBankAccount.Token); Assert.AreEqual("021000021", usBankAccount.RoutingNumber); Assert.AreEqual("1234", usBankAccount.Last4); Assert.AreEqual("checking", usBankAccount.AccountType); Assert.AreEqual("Dan Schulman", usBankAccount.AccountHolderName); Assert.IsTrue(Regex.IsMatch(usBankAccount.BankName, ".*CHASE.*")); AchMandate achMandate = usBankAccount.AchMandate; Assert.AreEqual("cl mandate text", achMandate.Text); Assert.AreEqual("DateTime", achMandate.AcceptedAt.GetType().Name); Assert.IsTrue(usBankAccount.IsDefault); }
protected internal UsBankAccountDetails(NodeWrapper node) { RoutingNumber = node.GetString("routing-number"); Last4 = node.GetString("last-4"); AccountType = node.GetString("account-type"); AccountHolderName = node.GetString("account-holder-name"); Token = node.GetString("token"); ImageUrl = node.GetString("image-url"); BankName = node.GetString("bank-name"); AchMandate = new AchMandate(node.GetNode("ach-mandate")); }
public void Sale_TransactUsBankAccountWithToken() { Result <Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string nonce = TestHelper.GenerateValidUsBankAccountNonce(gateway); var request = new PaymentMethodRequest { CustomerId = result.Target.Id, PaymentMethodNonce = nonce, Options = new PaymentMethodOptionsRequest { VerificationMerchantAccountId = MerchantAccountIDs.US_BANK_MERCHANT_ACCOUNT_ID } }; Result <PaymentMethod> paymentMethodResult = gateway.PaymentMethod.Create(request); Assert.IsTrue(paymentMethodResult.IsSuccess()); Assert.IsInstanceOf(typeof(UsBankAccount), paymentMethodResult.Target); UsBankAccount usBankAccount = (UsBankAccount)paymentMethodResult.Target; Assert.IsTrue(usBankAccount.IsVerified); Assert.AreEqual(1, usBankAccount.Verifications.Count); var transactionRequest = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, MerchantAccountId = MerchantAccountIDs.US_BANK_MERCHANT_ACCOUNT_ID }; UsBankAccountGateway usBankAccountGateway = new UsBankAccountGateway(gateway); Result <Transaction> transactionResult = usBankAccountGateway.Sale(usBankAccount.Token, transactionRequest); Assert.IsTrue(transactionResult.IsSuccess()); Transaction transaction = transactionResult.Target; Assert.AreEqual(TransactionStatus.SETTLEMENT_PENDING, transaction.Status); UsBankAccountDetails usBankAccountDetails = transaction.UsBankAccountDetails; Assert.AreEqual(usBankAccount.RoutingNumber, usBankAccountDetails.RoutingNumber); Assert.AreEqual(usBankAccount.Last4, usBankAccountDetails.Last4); Assert.AreEqual(usBankAccount.AccountType, usBankAccountDetails.AccountType); Assert.AreEqual(usBankAccount.AccountHolderName, usBankAccountDetails.AccountHolderName); AchMandate achMandate = usBankAccountDetails.AchMandate; Assert.AreEqual(usBankAccount.AchMandate.Text, achMandate.Text); Assert.AreEqual("DateTime", achMandate.AcceptedAt.GetType().Name); }