// GET api/<controller> public IEnumerable<SimpleTransaction> Get(string pub, string priv, string merchant, long from, long to) { var gateway = new BraintreeGateway { Environment = Braintree.Environment.SANDBOX, MerchantId = merchant, PublicKey = pub, PrivateKey = priv }; var fromDate = FromUnixTime(from); var toDate = FromUnixTime(to).AddDays(1); var request = new TransactionSearchRequest().SubmittedForSettlementAt.Between(fromDate, toDate); ResourceCollection<Transaction> collection = gateway.Transaction.Search(request); return (from Transaction transaction in collection select new SimpleTransaction { Id = transaction.Id, MerchantAccountId = transaction.MerchantAccountId, Status = transaction.Status.ToString(), Amount = transaction.Amount, TaxAmount = transaction.TaxAmount, CreatedAt = transaction.CreatedAt, CurrencyIsoCode = transaction.CurrencyIsoCode }).ToList(); }
public virtual ResourceCollection <Transaction> Transactions() { var gateway = new TransactionGateway(this.gateway); var searchRequest = new TransactionSearchRequest(). Ids.IncludedIn(TransactionIds.ToArray()); return(gateway.Search(searchRequest)); }
public ResourceCollection<Transaction> Transactions() { var gateway = new TransactionGateway(this.gateway); var searchRequest = new TransactionSearchRequest(). Ids.IncludedIn(TransactionIds.ToArray()); return gateway.Search(searchRequest); }
public ResourceCollection<Transaction> Transactions() { TransactionGateway gateway = new TransactionGateway(service); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Ids.IncludedIn(TransactionIds.ToArray()); return gateway.Search(searchRequest); }
public ResourceCollection <Transaction> Transactions() { TransactionGateway gateway = new TransactionGateway(service); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Ids.IncludedIn(TransactionIds.ToArray()); return(gateway.Search(searchRequest)); }
public virtual ResourceCollection<Transaction> Search(TransactionSearchRequest query) { NodeWrapper response = new NodeWrapper(Service.Post("/transactions/advanced_search_ids", query)); if (response.GetName() == "search-results") { return new ResourceCollection<Transaction>(response, delegate(String[] ids) { return FetchTransactions(query, ids); }); } else { throw new DownForMaintenanceException(); } }
public virtual async Task <ResourceCollection <Transaction> > SearchAsync(TransactionSearchRequest query) { var response = new NodeWrapper(await service.PostAsync(service.MerchantPath() + "/transactions/advanced_search_ids", query).ConfigureAwait(false)); if (response.GetName() == "search-results") { return(new ResourceCollection <Transaction>(response, ids => FetchTransactions(query, ids))); } else { throw new UnexpectedException(); } }
private List<Transaction> FetchTransactions(TransactionSearchRequest query, String[] ids) { query.Ids.IncludedIn(ids); NodeWrapper response = new NodeWrapper(Service.Post("/transactions/advanced_search", query)); List<Transaction> transactions = new List<Transaction>(); foreach (NodeWrapper node in response.GetList("transaction")) { transactions.Add(new Transaction(node, Service)); } return transactions; }
// TODO async delegate in ResourceCollection constructor private async Task <List <Transaction> > FetchTransactionsAsync(TransactionSearchRequest query, string[] ids) { query.Ids.IncludedIn(ids); var response = new NodeWrapper(await service.PostAsync(service.MerchantPath() + "/transactions/advanced_search", query)); var transactions = new List <Transaction>(); foreach (var node in response.GetList("transaction")) { transactions.Add(new Transaction(node, gateway)); } return(transactions); }
public virtual ResourceCollection <Transaction> Search(TransactionSearchRequest query) { var response = new NodeWrapper(service.Post(service.MerchantPath() + "/transactions/advanced_search_ids", query)); if (response.GetName() == "search-results") { return(new ResourceCollection <Transaction>(response, delegate(string[] ids) { return FetchTransactions(query, ids); })); } else { throw new UnexpectedException(); } }
public virtual async Task <ResourceCollection <Transaction> > SearchAsync(TransactionSearchRequest query) { var response = new NodeWrapper(await service.PostAsync(service.MerchantPath() + "/transactions/advanced_search_ids", query)); if (response.GetName() == "search-results") { return(new ResourceCollection <Transaction>(response, delegate(string[] ids) { return FetchTransactions(query, ids); })); } else { throw new DownForMaintenanceException(); } }
private List <Transaction> FetchTransactions(TransactionSearchRequest query, string[] ids) { query.Ids.IncludedIn(ids); var response = new NodeWrapper(service.Post(service.MerchantPath() + "/transactions/advanced_search", query)); if (response.GetName() == "credit-card-transactions") { var transactions = new List <Transaction>(); foreach (var node in response.GetList("transaction")) { transactions.Add(new Transaction(node, gateway)); } return(transactions); } else { throw new DownForMaintenanceException(); } }
public void Search_OnTextNodeOperators() { var request = new TransactionRequest { Amount = 1000M, CreditCard = new TransactionCreditCardRequest { Number = "4111111111111111", ExpirationDate = "05/2012", CardholderName = "Tom Smith" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; var searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCardholderName.StartsWith("Tom"); ResourceCollection<Transaction> collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCardholderName.EndsWith("Smith"); collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCardholderName.Contains("m Sm"); collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCardholderName.IsNot("Tom Smith"); collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(0, collection.MaximumCount); }
public void Search_OnAmount() { TransactionRequest request = new TransactionRequest { Amount = 1000M, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Amount.Between(500M, 1500M); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Amount.GreaterThanOrEqualTo(500M); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Amount.LessThanOrEqualTo(1500M); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Amount.Between(500M, 900M); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
private List<Transaction> FetchTransactions(TransactionSearchRequest query, string[] ids) { query.Ids.IncludedIn(ids); var response = new NodeWrapper(service.Post(service.MerchantPath() + "/transactions/advanced_search", query)); var transactions = new List<Transaction>(); foreach (var node in response.GetList("transaction")) { transactions.Add(new Transaction(node, gateway)); } return transactions; }
public void Search_OnGatewayRejectedAt() { BraintreeGateway processingRulesGateway = new BraintreeGateway { Environment = Environment.DEVELOPMENT, MerchantId = "processing_rules_merchant_id", PublicKey = "processing_rules_public_key", PrivateKey = "processing_rules_private_key" }; TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010", CVV = "200" } }; Transaction transaction = processingRulesGateway.Transaction.Sale(request).Transaction; DateTime threeDaysEarlier = DateTime.Now.AddDays(-3); DateTime oneDayEarlier = DateTime.Now.AddDays(-1); DateTime oneDayLater = DateTime.Now.AddDays(1); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). GatewayRejectedAt.Between(oneDayEarlier, oneDayLater); Assert.AreEqual(1, processingRulesGateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). GatewayRejectedAt.GreaterThanOrEqualTo(oneDayEarlier); Assert.AreEqual(1, processingRulesGateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). GatewayRejectedAt.LessThanOrEqualTo(oneDayLater); Assert.AreEqual(1, processingRulesGateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). GatewayRejectedAt.Between(threeDaysEarlier, oneDayEarlier); Assert.AreEqual(0, processingRulesGateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnSettledAt() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" }, Options = new TransactionOptionsRequest { SubmitForSettlement = true } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TestHelper.Settle(service, transaction.Id); transaction = gateway.Transaction.Find(transaction.Id); DateTime threeDaysEarlier = DateTime.Now.AddDays(-3); DateTime oneDayEarlier = DateTime.Now.AddDays(-1); DateTime oneDayLater = DateTime.Now.AddDays(1); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). SettledAt.Between(oneDayEarlier, oneDayLater); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). SettledAt.GreaterThanOrEqualTo(oneDayEarlier); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). SettledAt.LessThanOrEqualTo(oneDayLater); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). SettledAt.Between(threeDaysEarlier, oneDayEarlier); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_ReturnsErrorOnTimeout() { TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Amount.Is(-5); gateway.Transaction.Search(searchRequest); }
public void Search_OnAllTextFields() { string creditCardToken = string.Format("cc{0}", new Random().Next(1000000).ToString()); string firstName = string.Format("Tim{0}", new Random().Next(1000000).ToString()); TransactionRequest request = new TransactionRequest { Amount = 1000M, CreditCard = new TransactionCreditCardRequest { Number = "4111111111111111", ExpirationDate = "05/2012", CardholderName = "Tom Smith", Token = creditCardToken }, BillingAddress = new AddressRequest { Company = "Braintree", CountryName = "United States of America", ExtendedAddress = "Suite 123", FirstName = firstName, LastName = "Smith", Locality = "Chicago", PostalCode = "12345", Region = "IL", StreetAddress = "123 Main St" }, Customer = new CustomerRequest { Company = "Braintree", Email = "*****@*****.**", Fax = "5551231234", FirstName = "Tom", LastName = "Smith", Phone = "5551231234", Website = "http://example.com" }, Options = new TransactionOptionsRequest { StoreInVault = true, SubmitForSettlement = true }, OrderId = "myorder", ShippingAddress = new AddressRequest { Company = "Braintree P.S.", CountryName = "Mexico", ExtendedAddress = "Apt 456", FirstName = "Thomas", LastName = "Smithy", Locality = "Braintree", PostalCode = "54321", Region = "MA", StreetAddress = "456 Road" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TestHelper.Settle(service, transaction.Id); transaction = gateway.Transaction.Find(transaction.Id); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). BillingCompany.Is("Braintree"). BillingCountryName.Is("United States of America"). BillingExtendedAddress.Is("Suite 123"). BillingFirstName.Is(firstName). BillingLastName.Is("Smith"). BillingLocality.Is("Chicago"). BillingPostalCode.Is("12345"). BillingRegion.Is("IL"). BillingStreetAddress.Is("123 Main St"). CreditCardCardholderName.Is("Tom Smith"). CreditCardExpirationDate.Is("05/2012"). CreditCardNumber.Is(SandboxValues.CreditCardNumber.VISA). Currency.Is("USD"). CustomerCompany.Is("Braintree"). CustomerEmail.Is("*****@*****.**"). CustomerFax.Is("5551231234"). CustomerFirstName.Is("Tom"). CustomerId.Is(transaction.Customer.Id). CustomerLastName.Is("Smith"). CustomerPhone.Is("5551231234"). CustomerWebsite.Is("http://example.com"). OrderId.Is("myorder"). PaymentMethodToken.Is(creditCardToken). ProcessorAuthorizationCode.Is(transaction.ProcessorAuthorizationCode). SettlementBatchId.Is(transaction.SettlementBatchId). ShippingCompany.Is("Braintree P.S."). ShippingCountryName.Is("Mexico"). ShippingExtendedAddress.Is("Apt 456"). ShippingFirstName.Is("Thomas"). ShippingLastName.Is("Smithy"). ShippingLocality.Is("Braintree"). ShippingPostalCode.Is("54321"). ShippingRegion.Is("MA"). ShippingStreetAddress.Is("456 Road"). User.Is("integration_user_public_id"). CreditCardUniqueIdentifier.Is(transaction.CreditCard.UniqueNumberIdentifier); ResourceCollection<Transaction> collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); Assert.AreEqual(transaction.Id, collection.FirstItem.Id); }
public void Search_PaymentInstrumentTypeIsEuropeBankAccount() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, PaymentMethodNonce = Nonce.Transactable }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). PaymentInstrumentType.Is("EuropeBankAccountDetail"); ResourceCollection<Transaction> collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(0, collection.MaximumCount); }
public void Search_OnCreatedUsing() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreatedUsing.Is(TransactionCreatedUsing.FULL_INFORMATION); ResourceCollection<Transaction> collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreatedUsing.IncludedIn(TransactionCreatedUsing.FULL_INFORMATION, TransactionCreatedUsing.TOKEN); collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreatedUsing.Is(TransactionCreatedUsing.TOKEN); collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(0, collection.MaximumCount); }
public void Search_PaymentInstrumentTypeIsApplePay() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, PaymentMethodNonce = Nonce.ApplePayVisa }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). PaymentInstrumentType.Is("ApplePayDetail"); ResourceCollection<Transaction> collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(collection.FirstItem.PaymentInstrumentType, PaymentInstrumentType.APPLE_PAY_CARD); }
public void Search_PaymentInstrumentTypeIsPayPal() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, PaymentMethodNonce = Nonce.PayPalOneTimePayment }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). PaymentInstrumentType.Is("PayPalDetail"); ResourceCollection<Transaction> collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(collection.FirstItem.PaymentInstrumentType, PaymentInstrumentType.PAYPAL_ACCOUNT); }
public void Search_PaymentInstrumentTypeIsCreditCard() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). PaymentInstrumentType.Is("CreditCardDetail"); ResourceCollection<Transaction> collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(collection.FirstItem.PaymentInstrumentType,PaymentInstrumentType.CREDIT_CARD); }
public void Search_OnCreatedAtUsingLocalTime() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; DateTime oneDayEarlier = DateTime.Now.AddDays(-1); DateTime oneDayLater = DateTime.Now.AddDays(1); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreatedAt.Between(oneDayEarlier, oneDayLater); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnMerchantAccountId() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). MerchantAccountId.Is(transaction.MerchantAccountId); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). MerchantAccountId.IncludedIn(transaction.MerchantAccountId, "badmerchantaccountid"); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). MerchantAccountId.Is("badmerchantaccountid"); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnDisputeDate() { DateTime disputeDate = DateTime.Parse("2014-03-01"); DateTime threeDaysEarlier = disputeDate.AddDays(-3); DateTime oneDayEarlier = disputeDate.AddDays(-1); DateTime oneDayLater = disputeDate.AddDays(1); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is("disputedtransaction"). DisputeDate.Between(oneDayEarlier, oneDayLater); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is("2disputetransaction"). DisputeDate.GreaterThanOrEqualTo(oneDayEarlier); Assert.AreEqual(2, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is("disputedtransaction"). DisputeDate.LessThanOrEqualTo(oneDayLater); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is("disputedtransaction"). DisputeDate.Between(threeDaysEarlier, oneDayEarlier); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnCreditCardType() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCardType.Is(CreditCardCardType.VISA); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCardType.Is(transaction.CreditCard.CardType); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCardType.IncludedIn(CreditCardCardType.VISA, CreditCardCardType.MASTER_CARD); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCardType.Is(CreditCardCardType.MASTER_CARD); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnAuthorizationExpiredAt() { DateTime threeDaysEarlier = DateTime.Now.AddDays(-3); DateTime oneDayEarlier = DateTime.Now.AddDays(-1); DateTime oneDayLater = DateTime.Now.AddDays(1); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). AuthorizationExpiredAt.Between(threeDaysEarlier, oneDayEarlier); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). AuthorizationExpiredAt.Between(oneDayEarlier, oneDayLater); var results = gateway.Transaction.Search(searchRequest); Assert.IsTrue(results.MaximumCount > 0); Assert.AreEqual(TransactionStatus.AUTHORIZATION_EXPIRED, results.FirstItem.Status); }
public void Search_OnStatus() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Status.Is(TransactionStatus.AUTHORIZED); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Status.IncludedIn(TransactionStatus.AUTHORIZED, TransactionStatus.GATEWAY_REJECTED); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Status.Is(TransactionStatus.GATEWAY_REJECTED); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnProcessorDeclinedAt() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.DECLINE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Transaction; DateTime threeDaysEarlier = DateTime.Now.AddDays(-3); DateTime oneDayEarlier = DateTime.Now.AddDays(-1); DateTime oneDayLater = DateTime.Now.AddDays(1); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). ProcessorDeclinedAt.Between(oneDayEarlier, oneDayLater); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). ProcessorDeclinedAt.GreaterThanOrEqualTo(oneDayEarlier); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). ProcessorDeclinedAt.LessThanOrEqualTo(oneDayLater); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). ProcessorDeclinedAt.Between(threeDaysEarlier, oneDayEarlier); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnAuthorizationExpiredStatus() { TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Status.Is(TransactionStatus.AUTHORIZATION_EXPIRED); ResourceCollection<Transaction> results = gateway.Transaction.Search(searchRequest); Assert.IsTrue(results.MaximumCount > 0); Assert.AreEqual(TransactionStatus.AUTHORIZATION_EXPIRED, results.FirstItem.Status); }
public void Search_OnMultipleStatuses() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" }, Options = new TransactionOptionsRequest { SubmitForSettlement = true } }; Transaction transaction = gateway.Transaction.Sale(request).Target; DateTime threeDaysEarlier = DateTime.Now.AddDays(-3); DateTime oneDayEarlier = DateTime.Now.AddDays(-1); DateTime oneDayLater = DateTime.Now.AddDays(1); TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). AuthorizedAt.Between(oneDayEarlier, oneDayLater). SubmittedForSettlementAt.Between(oneDayEarlier, oneDayLater); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). AuthorizedAt.Between(threeDaysEarlier, oneDayEarlier). SubmittedForSettlementAt.Between(threeDaysEarlier, oneDayEarlier); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnSource() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Source.Is(TransactionSource.API); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Source.IncludedIn(TransactionSource.API, TransactionSource.CONTROL_PANEL); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). Source.Is(TransactionSource.CONTROL_PANEL); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public virtual ResourceCollection<Transaction> Search(TransactionSearchRequest query) { var response = new NodeWrapper(service.Post(service.MerchantPath() + "/transactions/advanced_search_ids", query)); if (response.GetName() == "search-results") { return new ResourceCollection<Transaction>(response, delegate(string[] ids) { return FetchTransactions(query, ids); }); } else { throw new DownForMaintenanceException(); } }
public void Search_OnTransactionType() { string name = new Random().Next(1000000).ToString(); TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010", CardholderName = name }, Options = new TransactionOptionsRequest { SubmitForSettlement = true } }; Transaction creditTransaction = gateway.Transaction.Credit(request).Target; Transaction saleTransaction = gateway.Transaction.Sale(request).Target; TestHelper.Settle(service, saleTransaction.Id); Transaction refundTransaction = gateway.Transaction.Refund(saleTransaction.Id).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). CreditCardCardholderName.Is(name). Type.Is(TransactionType.CREDIT); Assert.AreEqual(2, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). CreditCardCardholderName.Is(name). Type.Is(TransactionType.CREDIT). Refund.Is(true); ResourceCollection<Transaction> collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); Assert.AreEqual(refundTransaction.Id, collection.FirstItem.Id); searchRequest = new TransactionSearchRequest(). CreditCardCardholderName.Is(name). Type.Is(TransactionType.CREDIT). Refund.Is(false); collection = gateway.Transaction.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); Assert.AreEqual(creditTransaction.Id, collection.FirstItem.Id); }
public void Search_OnCreditCardCustomerLocation() { TransactionRequest request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, CreditCard = new TransactionCreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, ExpirationDate = "05/2010" } }; Transaction transaction = gateway.Transaction.Sale(request).Target; TransactionSearchRequest searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCustomerLocation.Is(CreditCardCustomerLocation.US); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCustomerLocation.IncludedIn(CreditCardCustomerLocation.US, CreditCardCustomerLocation.INTERNATIONAL); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); searchRequest = new TransactionSearchRequest(). Id.Is(transaction.Id). CreditCardCustomerLocation.Is(CreditCardCustomerLocation.INTERNATIONAL); Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount); }
public void Search_OnPayPalFields() { var request = new TransactionRequest { Amount = SandboxValues.TransactionAmount.AUTHORIZE, PaymentMethodNonce = Nonce.PayPalOneTimePayment }; var transactionResult = gateway.Transaction.Sale(request); Assert.IsTrue(transactionResult.IsSuccess()); var searchRequest = new TransactionSearchRequest(). Id.Is(transactionResult.Target.Id). PayPalPaymentId.StartsWith("PAY"). PayPalAuthorizationId.StartsWith("SALE"). PayPalPayerEmail.Is("*****@*****.**"); Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount); }