public void Can_update_standard_recurring_billing() { // ReferenceId is set here var create = CreateSubscription(); Assert.IsNotNull(create.RecurringBillingId); var subscription = new Subscription("Test Subscription", DateTime.UtcNow, Period.Monthly, 0.01); var card = new CreditCard("4111 1111 1111 1111", "John Q Customer", DateTime.Now.Month, DateTime.Now.Year); var beanstream = new BeanstreamProcessor(CredentialFirst, CredentialSecond, CredentialThird); var result = beanstream.UpdateRecurringBilling(subscription, card); Assert.IsNotNull(result); }
private AuthorizeNetResult ProcessAuth(double amount) { var creditCard = new CreditCard("4111 1111 1111 1111", "John Q Customer", 11, 09); var authDotNet = new AuthorizeNetProcessor(CredentialFirst, CredentialSecond); return authDotNet.Authorize(amount, creditCard); }
/// <summary> /// Captures the specified amount. /// </summary> /// <param name="amount">The amount.</param> /// <param name="card">The card.</param> /// <param name="transactionId">The transaction id.</param> /// <returns></returns> public AuthorizeNetResult Capture(Money amount, CreditCard card, string transactionId) { var uri = GetCreditCardUri(this); return RequestWithMoneyCreditCardAndTransaction(CreditCardTransactionType.Capture, amount, card, transactionId, uri); }
private AuthorizeNetResult CreateRecurringBilling(Subscription subscription) { var expiryMonth = DateTime.UtcNow.Month; var expiryYear = DateTime.UtcNow.Year; var creditCard = new CreditCard("4111 1111 1111 1111", "John Q Customer", expiryMonth, expiryYear); return CreateRecurringBilling(subscription, creditCard); }
public void Can_validate_test_cards() { var cc = new CreditCard(VisaNumber, "John Q Customer", DateTime.UtcNow.Month, DateTime.UtcNow.Year); Assert.IsTrue(cc.IsValid); }
private AuthorizeNetResult CreateRecurringBilling(Subscription subscription, CreditCard card) { var authDotNet = new AuthorizeNetProcessor(CredentialFirst, CredentialSecond); var billTo = new Address {FirstName = "John", LastName = "Customer"}; authDotNet.SetBillingAddress(billTo); var result = authDotNet.CreateRecurringBilling(subscription, card); return result; }
public void Can_satisfy_generic_specification() { var card = new CreditCard("4111 1111 1111 1111", "John Q Customer", DateTime.Now.Month, DateTime.Now.Year); var satisfied = card.Satisfies<VisaSpecification>(); Assert.IsTrue(satisfied); }
/// <summary> /// Creates the recurring billing. /// </summary> /// <param name="subscription">The subscription.</param> /// <param name="card">The card.</param> /// <returns></returns> public AuthorizeNetResult CreateRecurringBilling(Subscription subscription, CreditCard card) { ValidateSubscription(subscription); ValidateAmountCard(subscription.PaymentAmount, card); ValidateBillingAddress(); var document = BuildRecurringBillingRequest(RecurringBillingTransactionType.Create, subscription, card); var result = SendRecurringBillingRequest(document); if (!result.TransactionId.IsNullOrBlank()) { subscription.ReferenceId = Convert.ToInt64(result.TransactionId); } return result; }
private XDocument BuildRecurringBillingRequest(RecurringBillingTransactionType type, Subscription subscription, CreditCard card) { XNamespace xmlns = "AnetApi/xml/v1/schema/AnetApiSchema.xsd"; //var xml = new XmlWrapper(xmlns); var hasSubscription = subscription != null; var hasId = hasSubscription && subscription.Id != Identity.None; var hasRefId = hasSubscription && subscription.ReferenceId.HasValue; var refId = hasSubscription ? subscription.Id : Identity.None; var subscriptionId = hasSubscription ? subscription.ReferenceId.ValueOr(Identity.None) : Identity.None; if (type == RecurringBillingTransactionType.Cancel) { subscription = null; } // TODO Gateway return null; /* return new XDocument( XmlWrapper.Declare("1.0", "utf-8") , xml.Tag("ARB{0}SubscriptionRequest".FormatWith(type) , xml.Tag("merchantAuthentication" , xml.Tag("name", Authenticator.First) , xml.Tag("transactionKey", Authenticator.Second)) , xml.If(hasId, xml.Tag("refId", refId)) , xml.If(hasRefId, xml.Tag("subscriptionId", subscriptionId)) , xml.If(hasSubscription, BuildSubscriptionNode(subscription, xml, card)) ) ); */ }
private AuthorizeNetResult ProcessCredit(double amount, string transactionId) { var creditCard = new CreditCard("4111 1111 1111 1111", "John Q Customer", 09, 09); var authDotNet = new AuthorizeNetProcessor(CredentialFirst, CredentialSecond); return authDotNet.Credit(amount, creditCard, transactionId); }
private BeanstreamResult CreateSubscription() { var subscription = new Subscription("Test Subscription", DateTime.UtcNow, Period.Monthly, 0.01); var card = new CreditCard("4111 1111 1111 1111", "John Q Customer", DateTime.Now.Month, DateTime.Now.Year); var beanstream = new BeanstreamProcessor(CredentialFirst, CredentialSecond, CredentialThird); // Billing address is required for card transactions beanstream.SetBillingAddress(new Address { FirstName = "Paul Randal", Email = "*****@*****.**", Phone = "9999999", AddressLine = "1045 Main Street", City = "Vancouver", State = "BC", Zip = "V8R 1J6", Country = "CA", }); return beanstream.CreateRecurringBilling(subscription, card); }
public void Can_validate_test_card_expecting_visa_and_fail() { var cc = new CreditCard(CreditCardType.Visa, MasterCardNumber, "John Q Customer", DateTime.UtcNow.Month, DateTime.UtcNow.Year); Assert.IsFalse(cc.IsValid); }
public void Can_validate_test_card_expecting_visa() { var cc = new CreditCard(CreditCardType.Visa, VisaNumber, "John Q Customer", DateTime.UtcNow.Month, DateTime.UtcNow.Year); Assert.IsTrue(cc.IsValid); }
private static void AssertCreditCardValidation(string accountNumber, CreditCardType type) { var cc = new CreditCard(accountNumber, "John Q Customer", DateTime.UtcNow.Month, DateTime.UtcNow.Year); Assert.IsTrue(cc.IsValid); Assert.IsTrue(cc.Type == type); }
/// <summary> /// Credits the specified amount. /// </summary> /// <param name="amount">The amount.</param> /// <param name="card">The card.</param> /// <param name="transactionId">The transaction id.</param> /// <returns></returns> public AuthorizeNetResult Credit(Money amount, CreditCard card, string transactionId) { ValidateAmountTransaction(amount, transactionId); _creditCard = card; _creditCardTransactionType = CreditCardTransactionType.Credit; _info.TransactionId = transactionId; _info.TransactionAmount = amount; var uri = GetCreditCardUri(this); return Request(_info, uri); }
/// <summary> /// Updates the recurring billing. /// </summary> /// <param name="subscription">The subscription.</param> /// <param name="card">The card.</param> /// <returns></returns> public AuthorizeNetResult UpdateRecurringBilling(Subscription subscription, CreditCard card) { ValidateSubscription(subscription); ValidateAmountCard(subscription.PaymentAmount, card); ValidateBillingAddress(); var document = BuildRecurringBillingRequest(RecurringBillingTransactionType.Update, subscription, card); return SendRecurringBillingRequest(document); }
/// <summary> /// Authorizes the specified amount. /// </summary> /// <param name="amount">The amount.</param> /// <param name="card">The card.</param> /// <returns></returns> public AuthorizeNetResult Authorize(Money amount, CreditCard card) { var uri = GetCreditCardUri(this); return RequestWithMoneyAndCard(CreditCardTransactionType.PreAuthorization, amount, card, uri); }