/// <summary> /// Adds a new customer to the database. /// </summary> /// <param name="customer">Customer.</param> /// <returns>Number of records affected. If all worked well, then should be 1.</returns> public int AddCustomer(CustomerModel customer) { CustomerRequest request = new CustomerRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.Action = "Create"; request.Customer = Mapper.ToDataTransferObject(customer); CustomerResponse response = null; SafeProxy.DoAction<ActionServiceClient>(Service, client => { response = client.SetCustomers(request); }); if (request.RequestId != response.CorrelationId) throw new ApplicationException("AddCustomer: RequestId and CorrelationId do not match."); if (response.Acknowledge != AcknowledgeType.Success) throw new ApplicationException(response.Message); // Update version & new customerId customer.Version = response.Customer.Version; customer.CustomerId = response.Customer.CustomerId; return response.RowsAffected; }
public void Customer() { CustomerRequest request = new CustomerRequest { PaymentMethodNonce = Nonce.Coinbase }; Result<Customer> customerResult = gateway.Customer.Create(request); Assert.IsTrue(customerResult.IsSuccess()); var customer = gateway.Customer.Find(customerResult.Target.Id); Assert.AreEqual(1, customer.CoinbaseAccounts.Length); CoinbaseAccount account = customer.CoinbaseAccounts[0]; Assert.AreNotEqual("", account.UserEmail); Assert.IsNotNull(account.UserEmail); Assert.AreNotEqual("", account.UserName); Assert.IsNotNull(account.UserName); Assert.AreNotEqual("", account.UserId); Assert.IsNotNull(account.UserId); Assert.AreEqual(1, customer.PaymentMethods.Length); Assert.AreEqual(customer.PaymentMethods[0], customer.CoinbaseAccounts[0]); }
public void ToXml_Includes_DeviceSessionId() { var request = new CustomerRequest() { CreditCard = new CreditCardRequest() { DeviceSessionId = "my_dsid", FraudMerchantId = "my_fmid" } }; Assert.IsTrue(request.ToXml().Contains("my_dsid")); Assert.IsTrue(request.ToXml().Contains("my_fmid")); }
public void ToXml_Includes_DeviceData() { var request = new CustomerRequest() { CreditCard = new CreditCardRequest() { DeviceData = "{\"device_session_id\":\"my_dsid\", \"fraud_merchant_id\":\"my_fmid\"}" } }; Assert.IsTrue(request.ToXml().Contains("device_session_id")); Assert.IsTrue(request.ToXml().Contains("my_dsid")); Assert.IsTrue(request.ToXml().Contains("fraud_merchant_id")); Assert.IsTrue(request.ToXml().Contains("my_fmid")); }
public Customer GetCustomer(int customerId) { CustomerRequest request = new CustomerRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.LoadOptions = new string[] { "Customer" }; request.Criteria = new CustomerCriteria { CustomerId = customerId }; CustomerResponse response = ActionServiceClient.GetCustomers(request); if (request.RequestId != response.CorrelationId) throw new ApplicationException("GetCustomers: RequestId and CorrelationId do not match."); return response.Customer; }
public void AddCustomer(Customer customer) { CustomerRequest request = new CustomerRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.Action = "Create"; request.Customer = customer; CustomerResponse response = ActionServiceClient.SetCustomers(request); if (request.RequestId != response.CorrelationId) throw new ApplicationException("AddCustomer: RequestId and CorrelationId do not match."); // These messages are for public consumption. Includes validation errors. if (response.Acknowledge == AcknowledgeType.Failure) throw new ApplicationException(response.Message); }
public int DeleteCustomer(int customerId) { CustomerRequest request = new CustomerRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.Action = "Delete"; request.Criteria = new CustomerCriteria { CustomerId = customerId }; CustomerResponse response = ActionServiceClient.SetCustomers(request); if (request.RequestId != response.CorrelationId) throw new ApplicationException("DeleteCustomer: RequestId and CorrelationId do not match."); if (response.Acknowledge == AcknowledgeType.Failure) throw new ApplicationException(response.Message); return response.RowsAffected; }
public void CreateCustomerFromTransparentRedirect() { CustomerRequest trParams = new CustomerRequest { FirstName = "John" }; CustomerRequest request = new CustomerRequest { LastName = "Doe" }; string queryString = TestHelper.QueryStringForTR(trParams, request, gateway.TransparentRedirect.Url, service); Result<Customer> result = gateway.TransparentRedirect.ConfirmCustomer(queryString); Assert.IsTrue(result.IsSuccess()); Customer customer = result.Target; Assert.AreEqual("John", customer.FirstName); Assert.AreEqual("Doe", customer.LastName); }
public void Can_Create_A_Customer() { //// Arrange var gateway = this.BraintreeProviderSettings.AsBraintreeGateway(); var customerRequest = new CustomerRequest() { CustomerId = this.CustomerKey.ToString(), FirstName = "Rusty", LastName = "Swayne", Company = "Mindfly", Email = "*****@*****.**", Website = "http://www.mindfly.com" }; //// Act var result = gateway.Customer.Create(customerRequest); //// Assert Assert.IsTrue(result.IsSuccess()); }
public void Find_RaisesNotFoundErrorForCreditCardToken() { var createRequest = new CustomerRequest { CreditCard = new CreditCardRequest { Number = "5555555555554444", ExpirationDate = "05/12", CVV = "123", } }; var resp = gateway.Customer.Create(createRequest); Assert.IsNotNull(resp); Customer customer = resp.Target; Assert.IsNotNull(customer, resp.Message); try { gateway.PayPalAccount.Find(customer.CreditCards[0].Token); Assert.Fail("Should throw NotFoundException"); } catch (NotFoundException) {} }
public void Setup() { gateway = new BraintreeGateway { //Environment = Environment.DEVELOPMENT, //MerchantId = "integration_merchant_id", //PublicKey = "integration_public_key", //PrivateKey = "integration_private_key" }; CustomerRequest request = new CustomerRequest { CreditCard = new CreditCardRequest { CardholderName = "Fred Jones", Number = "5555555555554444", ExpirationDate = "05/12" } }; customer = gateway.Customer.Create(request).Target; creditCard = customer.CreditCards[0]; }
public bool UpdateStoreInfo(StoreDetailModels model, ref string msg) { try { CustomerRequest paraBody = new CustomerRequest(); paraBody.StoreInfo = model; paraBody.CreatedUser = model.CreateUser; NSLog.Logger.Info("UpdateStoreInfo Request: ", paraBody); //==================== var result = (NSApiResponse)ApiResponse.Post <NSApiResponse>(Commons.customerAPIEditStore, null, paraBody); if (result != null) { if (result.Success) { return(true); } else { msg = result.Message; NSLog.Logger.Info("UpdateStoreInfo", result.Message); return(false); } } else { NSLog.Logger.Info("UpdateStoreInfo", result); return(false); } } catch (Exception e) { NSLog.Logger.Error("UpdateStoreInfo", e); return(false); } }
public void UpdateCustomer(Customer customer) { CustomerRequest request = new CustomerRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.Action = "Update"; request.Customer = customer; CustomerResponse response = ActionServiceClient.SetCustomers(request); if (request.RequestId != response.CorrelationId) { throw new ApplicationException("UpdateCustomer: RequestId and CorrelationId do not match."); } // These messages are for public consumption. Includes validation errors. if (response.Acknowledge == AcknowledgeType.Failure) { throw new ApplicationException(response.Message); } }
public void CardTypeIndicators() { string name = Guid.NewGuid().ToString("n"); var createRequest = new CustomerRequest { CreditCard = new CreditCardRequest { CardholderName = name, Number = TestUtil.CreditCardNumbers.CardTypeIndicators.Unknown, ExpirationDate = "05/12", Options = new CreditCardOptionsRequest { VerifyCard = true } } }; gateway.Customer.Create(createRequest); CreditCardVerificationSearchRequest searchRequest = new CreditCardVerificationSearchRequest(). CreditCardCardholderName.Is(name); ResourceCollection <CreditCardVerification> collection = gateway.CreditCardVerification.Search(searchRequest); CreditCardVerification verification = collection.FirstItem; Assert.AreEqual(verification.CreditCard.Prepaid, Braintree.CreditCardPrepaid.UNKNOWN); Assert.AreEqual(verification.CreditCard.Debit, Braintree.CreditCardDebit.UNKNOWN); Assert.AreEqual(verification.CreditCard.DurbinRegulated, Braintree.CreditCardDurbinRegulated.UNKNOWN); Assert.AreEqual(verification.CreditCard.Commercial, Braintree.CreditCardCommercial.UNKNOWN); Assert.AreEqual(verification.CreditCard.Healthcare, Braintree.CreditCardHealthcare.UNKNOWN); Assert.AreEqual(verification.CreditCard.Payroll, Braintree.CreditCardPayroll.UNKNOWN); Assert.AreEqual(verification.CreditCard.CountryOfIssuance, Braintree.CreditCard.CountryOfIssuanceUnknown); Assert.AreEqual(verification.CreditCard.IssuingBank, Braintree.CreditCard.IssuingBankUnknown); Assert.AreEqual(verification.CreditCard.ProductId, Braintree.CreditCard.ProductIdUnknown); }
private CustomerServiceResponse UpdateCustomer(CustomerRequest request) { var response = new CustomerServiceResponse(); using (var context = customerContextFactory.CreateDbContext()) { var customerToUpdate = context.Customers.SingleOrDefault(customer => customer.Id == request.CustomerInfo.Id); if (customerToUpdate == null) { response.Success = false; response.Customers = new CustomerInfo[] { request.CustomerInfo }; return(response); } if (!string.IsNullOrEmpty(request.CustomerInfo.Name)) { customerToUpdate.Name = request.CustomerInfo.Name; } if (request.CustomerInfo.Age.HasValue) { customerToUpdate.Age = request.CustomerInfo.Age; } if (request.CustomerInfo.LikesDisney.HasValue) { customerToUpdate.LikesDisney = request.CustomerInfo.LikesDisney; } context.Customers.Update(customerToUpdate); context.SaveChanges(); response.Success = true; response.Customers = new CustomerInfo[] { customerToUpdate }; } return(response); }
public void Update_Success() { CustomerRequest request = BuildCreateRequest(); Customer createdCustomer = client.Create(request); Thread.Sleep(1000); try { var updateRequest = new CustomerRequest { FirstName = "New name", }; Customer customer = client.Update(createdCustomer.Id, updateRequest); Assert.NotNull(customer); Assert.Equal(updateRequest.FirstName, customer.FirstName); } finally { client.Delete(createdCustomer.Id); } }
public async Task UpdateAsync_Success() { CustomerRequest request = BuildCreateRequest(); Customer createdCustomer = await client.CreateAsync(request); await Task.Delay(1000); try { var updateRequest = new CustomerRequest { FirstName = "New name", }; Customer customer = await client.UpdateAsync(createdCustomer.Id, updateRequest); Assert.NotNull(customer); Assert.Equal(updateRequest.FirstName, customer.FirstName); } finally { await client.DeleteAsync(createdCustomer.Id); } }
public override async Task <CustomerCollectionResponse> GetCustomers(Empty request, ServerCallContext context) { var result = new CustomerCollectionResponse(); try { var costumers = await _costumerRepository.GetAll(); foreach (var costumer in costumers) { costumer.CaesarDecipherObject(_keyCaesarEncipher); var current = new CustomerRequest(); current.IdNumber = costumer.IdNumber; current.Address = costumer.Address; current.BirthDate = costumer.BirthDate.ToString(); current.City = costumer.City; current.Country = costumer.Country; current.Email = costumer.Email; current.FirsName = costumer.FirsName; current.IdNumber = costumer.IdNumber; current.LastName = costumer.LastName; current.MiddleName = costumer.MiddleName; current.Movil = costumer.Movil; current.Phone = costumer.Phone; result.Customers.Add(current); } } catch (Exception ex) { _logger.LogError(ex, $"ERROR: GETALL Costumer"); result.Message = $"ERROR: GETALL Costumer"; } return(result); }
private CustomerServiceResponse DeleteCustomer(CustomerRequest request) { var response = new CustomerServiceResponse(); using (var context = customerContextFactory.CreateDbContext()) { var customer = context.Customers.SingleOrDefault(user => user.Id == request.CustomerInfo.Id); if (customer != null) { context.Customers.Remove(customer); context.SaveChanges(); response.Success = true; response.Customers = new CustomerInfo[] { customer }; } else { response.Success = false; response.Customers = new CustomerInfo[] { request.CustomerInfo }; } } return(response); }
public void Update_UpdatesCustomerAndNestedValues() { var createRequest = new CustomerRequest() { FirstName = "Old First", LastName = "Old Last", CreditCard = new CreditCardRequest() { Number = "4111111111111111", ExpirationDate = "10/10", BillingAddress = new CreditCardAddressRequest() { PostalCode = "11111" } } }; Customer customer = gateway.Customer.Create(createRequest).Target; CreditCard creditCard = customer.CreditCards[0]; Address address = creditCard.BillingAddress; var updateRequest = new CustomerRequest() { FirstName = "New First", LastName = "New Last", CreditCard = new CreditCardRequest() { ExpirationDate = "12/12", Options = new CreditCardOptionsRequest() { UpdateExistingToken = creditCard.Token }, BillingAddress = new CreditCardAddressRequest() { PostalCode = "44444", CountryName = "Chad", CountryCodeAlpha2 = "TD", CountryCodeAlpha3 = "TCD", CountryCodeNumeric = "148", Options = new CreditCardAddressOptionsRequest() { UpdateExisting = true } } } }; Customer updatedCustomer = gateway.Customer.Update(customer.Id, updateRequest).Target; CreditCard updatedCreditCard = gateway.CreditCard.Find(creditCard.Token); Address updatedAddress = gateway.Address.Find(customer.Id, address.Id); Assert.AreEqual("New First", updatedCustomer.FirstName); Assert.AreEqual("New Last", updatedCustomer.LastName); Assert.AreEqual("12/2012", updatedCreditCard.ExpirationDate); Assert.AreEqual("44444", updatedAddress.PostalCode); Assert.AreEqual("Chad", updatedAddress.CountryName); Assert.AreEqual("TD", updatedAddress.CountryCodeAlpha2); Assert.AreEqual("TCD", updatedAddress.CountryCodeAlpha3); Assert.AreEqual("148", updatedAddress.CountryCodeNumeric); }
public void Update_UpdatesCustomerAndNestedValuesViaTr() { var createRequest = new CustomerRequest() { FirstName = "Old First", LastName = "Old Last", CreditCard = new CreditCardRequest() { Number = "4111111111111111", ExpirationDate = "10/10", BillingAddress = new CreditCardAddressRequest() { PostalCode = "11111" } } }; Customer customer = gateway.Customer.Create(createRequest).Target; CreditCard creditCard = customer.CreditCards[0]; Address address = creditCard.BillingAddress; var trParams = new CustomerRequest() { CustomerId = customer.Id, FirstName = "New First", LastName = "New Last", CreditCard = new CreditCardRequest() { ExpirationDate = "12/12", Options = new CreditCardOptionsRequest() { UpdateExistingToken = creditCard.Token }, BillingAddress = new CreditCardAddressRequest() { PostalCode = "44444", CountryName = "Chad", CountryCodeAlpha2 = "TD", CountryCodeAlpha3 = "TCD", CountryCodeNumeric = "148", Options = new CreditCardAddressOptionsRequest() { UpdateExisting = true } } } }; string queryString = TestHelper.QueryStringForTR(trParams, new CustomerRequest(), gateway.Customer.TransparentRedirectURLForUpdate(), service); Customer updatedCustomer = gateway.Customer.ConfirmTransparentRedirect(queryString).Target; CreditCard updatedCreditCard = gateway.CreditCard.Find(creditCard.Token); Address updatedAddress = gateway.Address.Find(customer.Id, address.Id); Assert.AreEqual("New First", updatedCustomer.FirstName); Assert.AreEqual("New Last", updatedCustomer.LastName); Assert.AreEqual("12/2012", updatedCreditCard.ExpirationDate); Assert.AreEqual("44444", updatedAddress.PostalCode); Assert.AreEqual("Chad", updatedAddress.CountryName); Assert.AreEqual("TD", updatedAddress.CountryCodeAlpha2); Assert.AreEqual("TCD", updatedAddress.CountryCodeAlpha3); Assert.AreEqual("148", updatedAddress.CountryCodeNumeric); }
public void ConfirmTransparentRedirect_CreatesNestedElementsAndCustomFields() { CustomerRequest trParams = new CustomerRequest(); CustomerRequest request = new CustomerRequest { FirstName = "John", LastName = "Doe", CreditCard = new CreditCardRequest { Number = SandboxValues.CreditCardNumber.VISA, CardholderName = "John Doe", ExpirationDate = "05/10", BillingAddress = new CreditCardAddressRequest { CountryName = "Mexico", CountryCodeAlpha2 = "MX", CountryCodeAlpha3 = "MEX", CountryCodeNumeric = "484" } }, CustomFields = new Dictionary<string, string> { { "store_me", "a custom value" } } }; string queryString = TestHelper.QueryStringForTR(trParams, request, gateway.Customer.TransparentRedirectURLForCreate(), service); Result<Customer> result = gateway.Customer.ConfirmTransparentRedirect(queryString); Assert.IsTrue(result.IsSuccess()); Customer customer = result.Target; Assert.AreEqual("John", customer.FirstName); Assert.AreEqual("Doe", customer.LastName); Assert.AreEqual("John Doe", customer.CreditCards[0].CardholderName); Assert.AreEqual("a custom value", customer.CustomFields["store_me"]); Address address = customer.CreditCards[0].BillingAddress; Assert.AreEqual("Mexico", address.CountryName); Assert.AreEqual("MX", address.CountryCodeAlpha2); Assert.AreEqual("MEX", address.CountryCodeAlpha3); Assert.AreEqual("484", address.CountryCodeNumeric); }
public void Create_WithVenmoSdkPaymentMethodCode() { var createRequest = new CustomerRequest() { FirstName = "Michael", LastName = "Angelo", CreditCard = new CreditCardRequest() { VenmoSdkPaymentMethodCode = SandboxValues.VenmoSdk.VISA_PAYMENT_METHOD_CODE } }; Customer customer = gateway.Customer.Create(createRequest).Target; Assert.AreEqual("Michael", customer.FirstName); Assert.AreEqual("Angelo", customer.LastName); Assert.AreEqual("411111", customer.CreditCards[0].Bin); Assert.AreEqual("1111", customer.CreditCards[0].LastFour); }
public void Create_CreateCustomerUsingAccessToken() { var createRequest = new CustomerRequest() { FirstName = "Michael", LastName = "Angelo", Company = "Some Company", Email = "*****@*****.**", Phone = "312.555.1111", Fax = "312.555.1112", Website = "www.example.com", }; //BraintreeGateway oauthGateway = new BraintreeGateway( // "client_id$development$integration_client_id", // "client_secret$development$integration_client_secret" //); //string code = OAuthTestHelper.CreateGrant(oauthGateway, "integration_merchant_id", "read_write"); BraintreeGateway oauthGateway = new BraintreeGateway( "client_id$" + Environment.CONFIGURED.EnvironmentName + "$integration_client_id", "client_secret$" + Environment.CONFIGURED.EnvironmentName + "$integration_client_secret" ); string code = OAuthTestHelper.CreateGrant(oauthGateway, gateway.Configuration.MerchantId, "read_write"); ResultImpl<OAuthCredentials> accessTokenResult = oauthGateway.OAuth.CreateTokenFromCode(new OAuthCredentialsRequest { Code = code, Scope = "read_write" }); gateway = new BraintreeGateway(accessTokenResult.Target.AccessToken); Customer customer = gateway.Customer.Create(createRequest).Target; Assert.AreEqual("Michael", customer.FirstName); Assert.AreEqual("Angelo", customer.LastName); Assert.AreEqual("Some Company", customer.Company); Assert.AreEqual("*****@*****.**", customer.Email); Assert.AreEqual("312.555.1111", customer.Phone); Assert.AreEqual("312.555.1112", customer.Fax); Assert.AreEqual("www.example.com", customer.Website); Assert.AreEqual(DateTime.Now.Year, customer.CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.UpdatedAt.Value.Year); }
public void Create_withErrorsOnCountry() { var createRequest = new CustomerRequest() { FirstName = "Michael", LastName = "Angelo", Company = "Some Company", Email = "*****@*****.**", Phone = "312.555.1111", Fax = "312.555.1112", Website = "www.example.com", CreditCard = new CreditCardRequest() { Number = "5555555555554444", ExpirationDate = "05/22", BillingAddress = new CreditCardAddressRequest { CountryName = "zzzzzz", CountryCodeAlpha2 = "zz", CountryCodeAlpha3 = "zzz", CountryCodeNumeric = "000" } } }; Result<Customer> result = gateway.Customer.Create(createRequest); Assert.IsFalse(result.IsSuccess()); Assert.AreEqual( ValidationErrorCode.ADDRESS_COUNTRY_NAME_IS_NOT_ACCEPTED, result.Errors.ForObject("Customer").ForObject("CreditCard").ForObject("BillingAddress").OnField("CountryName")[0].Code ); Assert.AreEqual( ValidationErrorCode.ADDRESS_COUNTRY_CODE_ALPHA2_IS_NOT_ACCEPTED, result.Errors.ForObject("Customer").ForObject("CreditCard").ForObject("BillingAddress").OnField("CountryCodeAlpha2")[0].Code ); Assert.AreEqual( ValidationErrorCode.ADDRESS_COUNTRY_CODE_ALPHA3_IS_NOT_ACCEPTED, result.Errors.ForObject("Customer").ForObject("CreditCard").ForObject("BillingAddress").OnField("CountryCodeAlpha3")[0].Code ); Assert.AreEqual( ValidationErrorCode.ADDRESS_COUNTRY_CODE_NUMERIC_IS_NOT_ACCEPTED, result.Errors.ForObject("Customer").ForObject("CreditCard").ForObject("BillingAddress").OnField("CountryCodeNumeric")[0].Code ); }
public void Search_OnCreatedAt() { CustomerRequest request = new CustomerRequest(); Customer customer = gateway.Customer.Create(request).Target; DateTime createdAt = customer.CreatedAt.Value; DateTime threeHoursEarlier = createdAt.AddHours(-3); DateTime oneHourEarlier = createdAt.AddHours(-1); DateTime oneHourLater = createdAt.AddHours(1); CustomerSearchRequest searchRequest = new CustomerSearchRequest(). Id.Is(customer.Id). CreatedAt.Between(oneHourEarlier, oneHourLater); Assert.AreEqual(1, gateway.Customer.Search(searchRequest).MaximumCount); searchRequest = new CustomerSearchRequest(). Id.Is(customer.Id). CreatedAt.GreaterThanOrEqualTo(oneHourEarlier); Assert.AreEqual(1, gateway.Customer.Search(searchRequest).MaximumCount); searchRequest = new CustomerSearchRequest(). Id.Is(customer.Id). CreatedAt.LessThanOrEqualTo(oneHourLater); Assert.AreEqual(1, gateway.Customer.Search(searchRequest).MaximumCount); searchRequest = new CustomerSearchRequest(). Id.Is(customer.Id). CreatedAt.Between(threeHoursEarlier, oneHourEarlier); Assert.AreEqual(0, gateway.Customer.Search(searchRequest).MaximumCount); }
public async Task <CustomerResponse> CreateCustomerAsync(CustomerRequest request) { return(await this.PostAsync <CustomerResponse>($"customers", request).ConfigureAwait(false)); }
public Task <CustomerResponse> Update(Guid id, CustomerRequest model) => _customerRepository.Update(id, model);
public Task <CustomerResponse> Create(CustomerRequest model) => _customerRepository.Create(model);
public string proceedPayment(string nonce, string package, User u, int trial) { string nonceFromTheClient = nonce; if (u.Company_Name == null) { u.Company_Name = "Not Given"; } var request = new CustomerRequest { FirstName = u.Name, Company = u.Company_Name, Email = u.Email, Phone = u.Phone, Website = u.Website_Address, }; Result <Customer> result = gateway.Customer.Create(request); if (result.IsSuccess()) { string customerId = result.Target.Id; var request1 = new PaymentMethodRequest { CustomerId = customerId, PaymentMethodNonce = nonce, Options = new PaymentMethodOptionsRequest { VerifyCard = true } }; Result <PaymentMethod> result1 = gateway.PaymentMethod.Create(request1); Result <Subscription> result2; if (result1.IsSuccess()) { if (trial != 0) { var request2 = new SubscriptionRequest { PaymentMethodToken = result1.Target.Token, PlanId = package, Options = new SubscriptionOptionsRequest { StartImmediately = false }, FirstBillingDate = DateTime.Now.AddMonths(trial) }; result2 = gateway.Subscription.Create(request2); } else { var request2 = new SubscriptionRequest { PaymentMethodToken = result1.Target.Token, PlanId = package, Options = new SubscriptionOptionsRequest { StartImmediately = true }, }; result2 = gateway.Subscription.Create(request2); } if (result2.IsSuccess()) { string Subscription_Id = result2.Target.Id; return(Subscription_Id); } else { //Please check your funds. return("-3"); } } else { //Your card is valid or not. return("-2"); } } else { // Requirements of customer for Braintree is not complete return("-1"); } }
public string GetIDbyRequest(CustomerRequest request) => request.IDuser;
public bool UpdateCustomer(CustomerRequest request) { return(true); }
public bool InsertCustomer(CustomerRequest request) { return(true); }
public void Update_AcceptsPaymentMethodNonce() { var create = new CustomerRequest { CreditCard = new CreditCardRequest { Number = "4111111111111111", ExpirationDate = "10/18", } }; var customer = gateway.Customer.Create(create).Target; var update = new CustomerRequest { PaymentMethodNonce = Nonce.PayPalFuturePayment }; var updatedCustomer = gateway.Customer.Update(customer.Id, update).Target; Assert.AreEqual(1, updatedCustomer.PayPalAccounts.Length); Assert.AreEqual(1, updatedCustomer.CreditCards.Length); Assert.AreEqual(2, updatedCustomer.PaymentMethods.Length); }
public void Find_IncludesApplePayCardsInPaymentMethods() { var createRequest = new CustomerRequest { PaymentMethodNonce = Nonce.ApplePayAmex }; Customer createdCustomer = gateway.Customer.Create(createRequest).Target; Customer customer = gateway.Customer.Find(createdCustomer.Id); Assert.IsNotNull(customer.ApplePayCards); Assert.IsNotNull(customer.PaymentMethods); ApplePayCard card = customer.ApplePayCards[0]; Assert.IsNotNull(card.Token); Assert.AreEqual(card, customer.PaymentMethods[0]); }
public abstract Customer MapToDomain(CustomerRequest customer);
public async Task <CustomerResponse> UpdateCustomerAsync(string customerId, CustomerRequest request) { return(await this.PostAsync <CustomerResponse>($"customers/{customerId}", request).ConfigureAwait(false)); }
public ActionResult CreateSubscription(FormCollection collection) { using (_db) { string nonceFromTheClient = collection["payment_method_nonce"]; string planid = collection["planid"]; string cardToken = ""; var user = _db.Users.Single(u => u.Email == User.Identity.Name); //Search for customer var customerRequest = new CustomerSearchRequest().Email.Is(User.Identity.Name); ResourceCollection <Customer> results = PaymentGateways.Gateway.Customer.Search(customerRequest); if (results.Ids.Count == 0) { // If no result, create the customer, create cardToken var request = new CustomerRequest { FirstName = user.FirstName, LastName = user.LastName, Email = User.Identity.Name, Phone = "", CreditCard = new CreditCardRequest { PaymentMethodNonce = nonceFromTheClient, Options = new CreditCardOptionsRequest { VerifyCard = true } } }; Result <Customer> result = PaymentGateways.Gateway.Customer.Create(request); if (!result.IsSuccess()) { TempData["message"] = result.Message; return(Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri)); } cardToken = result.Target.PaymentMethods[0].Token; } SubscriptionRequest newSub; if (!cardToken.Equals("")) { newSub = new SubscriptionRequest { PaymentMethodToken = cardToken, PlanId = planid, NeverExpires = true, Options = new SubscriptionOptionsRequest { StartImmediately = true } }; } else { newSub = new SubscriptionRequest { PaymentMethodNonce = nonceFromTheClient, PlanId = planid, NeverExpires = true, Options = new SubscriptionOptionsRequest { StartImmediately = true } }; } Result <Subscription> subResult = PaymentGateways.Gateway.Subscription.Create(newSub); if (!subResult.IsSuccess()) { TempData["message"] = subResult.Message; return(Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri)); } switch (int.Parse(planid)) { case 1: user.MemberLevel = MemberLevel.Bronze; break; case 2: user.MemberLevel = MemberLevel.Silver; break; case 3: user.MemberLevel = MemberLevel.Gold; break; default: Debug.WriteLine("Invalid Plan Number"); break; } _db.SaveChanges(); TempData["message"] = "success"; return(View("Index")); } }
public void Create_CreateCustomerWithCreditCard() { var createRequest = new CustomerRequest() { FirstName = "Michael", LastName = "Angelo", Company = "Some Company", Email = "*****@*****.**", Phone = "312.555.1111", Fax = "312.555.1112", Website = "www.example.com", CreditCard = new CreditCardRequest() { Number = "5555555555554444", ExpirationDate = "05/22", CVV = "123", CardholderName = "Michael Angelo" } }; Customer customer = gateway.Customer.Create(createRequest).Target; Assert.AreEqual("Michael", customer.FirstName); Assert.AreEqual("Angelo", customer.LastName); Assert.AreEqual("Some Company", customer.Company); Assert.AreEqual("*****@*****.**", customer.Email); Assert.AreEqual("312.555.1111", customer.Phone); Assert.AreEqual("312.555.1112", customer.Fax); Assert.AreEqual("www.example.com", customer.Website); Assert.AreEqual(DateTime.Now.Year, customer.CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.UpdatedAt.Value.Year); Assert.AreEqual(1, customer.CreditCards.Length); Assert.AreEqual("555555", customer.CreditCards[0].Bin); Assert.AreEqual("4444", customer.CreditCards[0].LastFour); Assert.AreEqual("05", customer.CreditCards[0].ExpirationMonth); Assert.AreEqual("2022", customer.CreditCards[0].ExpirationYear); Assert.AreEqual("Michael Angelo", customer.CreditCards[0].CardholderName); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].UpdatedAt.Value.Year); }
public JsonResult GetCustomerById(CustomerRequest customer) { return(new JsonResult("")); }
public void Create_CreateCustomerWithCreditCardAndBillingAddress() { var createRequest = new CustomerRequest() { FirstName = "Michael", LastName = "Angelo", Company = "Some Company", Email = "*****@*****.**", Phone = "312.555.1111", Fax = "312.555.1112", Website = "www.example.com", CreditCard = new CreditCardRequest() { Number = "5555555555554444", ExpirationDate = "05/22", CVV = "123", CardholderName = "Michael Angelo", BillingAddress = new CreditCardAddressRequest() { FirstName = "Michael", LastName = "Angelo", Company = "Angelo Co.", StreetAddress = "1 E Main St", ExtendedAddress = "Apt 3", Locality = "Chicago", Region = "IL", PostalCode = "60622", CountryName = "United States of America" } } }; Customer customer = gateway.Customer.Create(createRequest).Target; Assert.AreEqual("Michael", customer.FirstName); Assert.AreEqual("Angelo", customer.LastName); Assert.AreEqual("Some Company", customer.Company); Assert.AreEqual("*****@*****.**", customer.Email); Assert.AreEqual("312.555.1111", customer.Phone); Assert.AreEqual("312.555.1112", customer.Fax); Assert.AreEqual("www.example.com", customer.Website); Assert.AreEqual(DateTime.Now.Year, customer.CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.UpdatedAt.Value.Year); Assert.AreEqual(1, customer.CreditCards.Length); Assert.AreEqual("555555", customer.CreditCards[0].Bin); Assert.AreEqual("4444", customer.CreditCards[0].LastFour); Assert.AreEqual("05", customer.CreditCards[0].ExpirationMonth); Assert.AreEqual("2022", customer.CreditCards[0].ExpirationYear); Assert.AreEqual("Michael Angelo", customer.CreditCards[0].CardholderName); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].UpdatedAt.Value.Year); Assert.AreEqual(customer.Addresses[0].Id, customer.CreditCards[0].BillingAddress.Id); Assert.AreEqual("Michael", customer.Addresses[0].FirstName); Assert.AreEqual("Angelo", customer.Addresses[0].LastName); Assert.AreEqual("Angelo Co.", customer.Addresses[0].Company); Assert.AreEqual("1 E Main St", customer.Addresses[0].StreetAddress); Assert.AreEqual("Apt 3", customer.Addresses[0].ExtendedAddress); Assert.AreEqual("Chicago", customer.Addresses[0].Locality); Assert.AreEqual("IL", customer.Addresses[0].Region); Assert.AreEqual("60622", customer.Addresses[0].PostalCode); Assert.AreEqual("United States of America", customer.Addresses[0].CountryName); }
public void Create_WithVenmoSdkSession() { var createRequest = new CustomerRequest() { CreditCard = new CreditCardRequest() { Number = "5555555555554444", ExpirationDate = "05/22", Options = new CreditCardOptionsRequest() { VenmoSdkSession = SandboxValues.VenmoSdk.SESSION } } }; Customer customer = gateway.Customer.Create(createRequest).Target; Assert.IsTrue(customer.CreditCards[0].IsVenmoSdk.Value); }
public void Search_OnAllTextFields() { string creditCardToken = string.Format("cc{0}", new Random().Next(1000000).ToString()); CustomerRequest request = new CustomerRequest { Company = "Braintree", Email = "*****@*****.**", Fax = "5551231234", FirstName = "Tom", LastName = "Smith", Phone = "5551231235", Website = "http://example.com", CreditCard = new CreditCardRequest { CardholderName = "Tim Toole", Number = "4111111111111111", ExpirationDate = "05/2012", Token = creditCardToken, BillingAddress = new CreditCardAddressRequest { Company = "Braintree", CountryName = "United States of America", ExtendedAddress = "Suite 123", FirstName = "Drew", LastName = "Michaelson", Locality = "Chicago", PostalCode = "12345", Region = "IL", StreetAddress = "123 Main St" } } }; Customer customer = gateway.Customer.Create(request).Target; customer = gateway.Customer.Find(customer.Id); CustomerSearchRequest searchRequest = new CustomerSearchRequest(). Id.Is(customer.Id). FirstName.Is("Tom"). LastName.Is("Smith"). Company.Is("Braintree"). Email.Is("*****@*****.**"). Website.Is("http://example.com"). Fax.Is("5551231234"). Phone.Is("5551231235"). AddressFirstName.Is("Drew"). AddressLastName.Is("Michaelson"). AddressLocality.Is("Chicago"). AddressPostalCode.Is("12345"). AddressRegion.Is("IL"). AddressCountryName.Is("United States of America"). AddressStreetAddress.Is("123 Main St"). AddressExtendedAddress.Is("Suite 123"). PaymentMethodToken.Is(creditCardToken). CardholderName.Is("Tim Toole"). CreditCardNumber.Is("4111111111111111"). CreditCardExpirationDate.Is("05/2012"); ResourceCollection <Customer> collection = gateway.Customer.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); Assert.AreEqual(customer.Id, collection.FirstItem.Id); }
public void ConfirmTransparentRedirect_UpdatesTheCustomer() { CustomerRequest createRequest = new CustomerRequest { FirstName = "Jane", LastName = "Deer" }; Customer createdCustomer = gateway.Customer.Create(createRequest).Target; CustomerRequest trParams = new CustomerRequest { CustomerId = createdCustomer.Id }; CustomerRequest request = new CustomerRequest { FirstName = "John", LastName = "Doe" }; string queryString = TestHelper.QueryStringForTR(trParams, request, gateway.Customer.TransparentRedirectURLForUpdate(), service); Result<Customer> result = gateway.Customer.ConfirmTransparentRedirect(queryString); Assert.IsTrue(result.IsSuccess()); Customer customer = result.Target; Assert.AreEqual("John", customer.FirstName); Assert.AreEqual("Doe", customer.LastName); }
public async Task <IActionResult> Create([FromRoute] Guid businessId, [FromBody] CustomerRequest request) { var res = await CustomerService.Add(businessId, request); return(Ok(res)); }
public void Update_UpdatesCustomerWithNewValues() { string oldId = Guid.NewGuid().ToString(); string newId = Guid.NewGuid().ToString(); var createRequest = new CustomerRequest() { Id = oldId, FirstName = "Old First", LastName = "Old Last", Company = "Old Company", Email = "*****@*****.**", Phone = "312.555.1111 xOld", Fax = "312.555.1112 xOld", Website = "old.example.com" }; gateway.Customer.Create(createRequest); var updateRequest = new CustomerRequest() { Id = newId, FirstName = "Michael", LastName = "Angelo", Company = "Some Company", Email = "*****@*****.**", Phone = "312.555.1111", Fax = "312.555.1112", Website = "www.example.com" }; Customer updatedCustomer = gateway.Customer.Update(oldId, updateRequest).Target; Assert.AreEqual(newId, updatedCustomer.Id); Assert.AreEqual("Michael", updatedCustomer.FirstName); Assert.AreEqual("Angelo", updatedCustomer.LastName); Assert.AreEqual("Some Company", updatedCustomer.Company); Assert.AreEqual("*****@*****.**", updatedCustomer.Email); Assert.AreEqual("312.555.1111", updatedCustomer.Phone); Assert.AreEqual("312.555.1112", updatedCustomer.Fax); Assert.AreEqual("www.example.com", updatedCustomer.Website); Assert.AreEqual(DateTime.Now.Year, updatedCustomer.CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, updatedCustomer.UpdatedAt.Value.Year); }
public IRestRequest Build() { var request = new CustomerRequest(); return(request); }
public void Update_AcceptsNestedBillingAddressId() { Customer customer = gateway.Customer.Create(new CustomerRequest()).Target; AddressRequest addressRequest = new AddressRequest { FirstName = "John", LastName = "Doe" }; Address address = gateway.Address.Create(customer.Id, addressRequest).Target; var updateRequest = new CustomerRequest { CreditCard = new CreditCardRequest { Number = "4111111111111111", ExpirationDate = "10/10", BillingAddressId = address.Id } }; Customer updatedCustomer = gateway.Customer.Update(customer.Id, updateRequest).Target; Address billingAddress = updatedCustomer.CreditCards[0].BillingAddress; Assert.AreEqual(address.Id, billingAddress.Id); Assert.AreEqual("John", billingAddress.FirstName); Assert.AreEqual("Doe", billingAddress.LastName); }
public ActionResult GetAccount(CustomerRequest customerRequest) { var customerAccount = _customerInfoService.RegisterAmount(customerRequest.customerId, customerRequest.initialCredit); return(RedirectToAction("Index", "Transactions", customerAccount)); }
public void Search_FindDuplicateCardsGivenPaymentMethodToken() { CreditCardRequest creditCard = new CreditCardRequest { Number = "4111111111111111", ExpirationDate = "05/2012" }; CustomerRequest jimRequest = new CustomerRequest { FirstName = "Jim", CreditCard = creditCard }; CustomerRequest joeRequest = new CustomerRequest { FirstName = "Jim", CreditCard = creditCard }; Customer jim = gateway.Customer.Create(jimRequest).Target; Customer joe = gateway.Customer.Create(joeRequest).Target; CustomerSearchRequest searchRequest = new CustomerSearchRequest(). PaymentMethodTokenWithDuplicates.Is(jim.CreditCards[0].Token); ResourceCollection<Customer> collection = gateway.Customer.Search(searchRequest); List<string> customerIds = new List<string>(); foreach (Customer customer in collection) { customerIds.Add(customer.Id); } Assert.IsTrue(customerIds.Contains(jim.Id)); Assert.IsTrue(customerIds.Contains(joe.Id)); }
public void Find_FindsCustomerWithGivenId() { string id = Guid.NewGuid().ToString(); var createRequest = new CustomerRequest { Id = id, FirstName = "Michael", LastName = "Angelo", Company = "Some Company", Email = "*****@*****.**", Phone = "312.555.1111", Fax = "312.555.1112", Website = "www.example.com", CreditCard = new CreditCardRequest { Number = "5555555555554444", ExpirationDate = "05/22", CVV = "123", CardholderName = "Michael Angelo", BillingAddress = new CreditCardAddressRequest() { FirstName = "Mike", LastName = "Smith", Company = "Smith Co.", StreetAddress = "1 W Main St", ExtendedAddress = "Suite 330", Locality = "Chicago", Region = "IL", PostalCode = "60622", CountryName = "United States of America" } } }; Customer createdCustomer = gateway.Customer.Create(createRequest).Target; Customer customer = gateway.Customer.Find(createdCustomer.Id); Assert.AreEqual(id, customer.Id); Assert.AreEqual("Michael", customer.FirstName); Assert.AreEqual("Angelo", customer.LastName); Assert.AreEqual("Some Company", customer.Company); Assert.AreEqual("*****@*****.**", customer.Email); Assert.AreEqual("312.555.1111", customer.Phone); Assert.AreEqual("312.555.1112", customer.Fax); Assert.AreEqual("www.example.com", customer.Website); Assert.AreEqual(DateTime.Now.Year, customer.CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.UpdatedAt.Value.Year); Assert.AreEqual(1, customer.CreditCards.Length); Assert.AreEqual("555555", customer.CreditCards[0].Bin); Assert.AreEqual("4444", customer.CreditCards[0].LastFour); Assert.AreEqual("05", customer.CreditCards[0].ExpirationMonth); Assert.AreEqual("2022", customer.CreditCards[0].ExpirationYear); Assert.AreEqual("Michael Angelo", customer.CreditCards[0].CardholderName); Assert.IsTrue(Regex.IsMatch(customer.CreditCards[0].UniqueNumberIdentifier, "\\A\\w{32}\\z")); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].UpdatedAt.Value.Year); Assert.AreEqual("Mike", customer.Addresses[0].FirstName); Assert.AreEqual("Smith", customer.Addresses[0].LastName); Assert.AreEqual("Smith Co.", customer.Addresses[0].Company); Assert.AreEqual("1 W Main St", customer.Addresses[0].StreetAddress); Assert.AreEqual("Suite 330", customer.Addresses[0].ExtendedAddress); Assert.AreEqual("Chicago", customer.Addresses[0].Locality); Assert.AreEqual("IL", customer.Addresses[0].Region); Assert.AreEqual("60622", customer.Addresses[0].PostalCode); Assert.AreEqual("United States of America", customer.Addresses[0].CountryName); }
public void Search_OnAllTextFields() { string creditCardToken = string.Format("cc{0}", new Random().Next(1000000).ToString()); CustomerRequest request = new CustomerRequest { Company = "Braintree", Email = "*****@*****.**", Fax = "5551231234", FirstName = "Tom", LastName = "Smith", Phone = "5551231235", Website = "http://example.com", CreditCard = new CreditCardRequest { CardholderName = "Tim Toole", Number = "4111111111111111", ExpirationDate = "05/2012", Token = creditCardToken, BillingAddress = new CreditCardAddressRequest { Company = "Braintree", CountryName = "United States of America", ExtendedAddress = "Suite 123", FirstName = "Drew", LastName = "Michaelson", Locality = "Chicago", PostalCode = "12345", Region = "IL", StreetAddress = "123 Main St" } } }; Customer customer = gateway.Customer.Create(request).Target; customer = gateway.Customer.Find(customer.Id); CustomerSearchRequest searchRequest = new CustomerSearchRequest(). Id.Is(customer.Id). FirstName.Is("Tom"). LastName.Is("Smith"). Company.Is("Braintree"). Email.Is("*****@*****.**"). Website.Is("http://example.com"). Fax.Is("5551231234"). Phone.Is("5551231235"). AddressFirstName.Is("Drew"). AddressLastName.Is("Michaelson"). AddressLocality.Is("Chicago"). AddressPostalCode.Is("12345"). AddressRegion.Is("IL"). AddressCountryName.Is("United States of America"). AddressStreetAddress.Is("123 Main St"). AddressExtendedAddress.Is("Suite 123"). PaymentMethodToken.Is(creditCardToken). CardholderName.Is("Tim Toole"). CreditCardNumber.Is("4111111111111111"). CreditCardExpirationDate.Is("05/2012"); ResourceCollection<Customer> collection = gateway.Customer.Search(searchRequest); Assert.AreEqual(1, collection.MaximumCount); Assert.AreEqual(customer.Id, collection.FirstItem.Id); }
public void Create_withSecurityParams() { var createRequest = new CustomerRequest() { CreditCard = new CreditCardRequest() { Number = "5555555555554444", ExpirationDate = "05/22", CVV = "123", DeviceSessionId = "my_dsid" } }; Result<Customer> result = gateway.Customer.Create(createRequest); Assert.IsTrue(result.IsSuccess()); }
public ActionResult CustomerRequest(RegisterRequestModel model) { using (TestElectricityKobiEntities db = new TestElectricityKobiEntities()) { //ViewBag.IsModalOpen = "false"; TempData["IsModalOpen"] = "false"; string phoneNumber = string.Empty; //string olarak gelen değeri, Decimal değer tipine dönüştürdük. //model.AverageElectricityBillDecimal = Convert.ToDecimal(model.AverageElectricityBill); if (!string.IsNullOrWhiteSpace(model.PhoneNumber)) { phoneNumber = new String(model.PhoneNumber.Where(Char.IsDigit).ToArray()); } var customerRequest = new CustomerRequest { FirstName = string.Empty, LastName = string.Empty, PhoneNumber = phoneNumber, CompanyName = string.Empty, SubscriberGroupId = 4, AverageElectricityBill = default(decimal), Email = string.IsNullOrWhiteSpace(model.Email) ? string.Empty : model.Email }; db.CustomerRequests.Add(customerRequest); db.SaveChanges(); TempData["IsModalOpen"] = "true"; //var customerRequestId = customerRequest.Id; //var fileList = new List<HttpPostedFileBase>(); //fileList.Add(model.Attachment1); //fileList.Add(model.Attachment2); //foreach (var file in fileList) //{ // byte[] billDocumentBinary = null; // if (file != null) // { // try // { // using (Stream inputStream = file.InputStream) // { // MemoryStream memoryStream = inputStream as MemoryStream; // if (memoryStream == null) // { // memoryStream = new MemoryStream(); // inputStream.CopyTo(memoryStream); // } // billDocumentBinary = memoryStream.ToArray(); // } // db.BillDocuments.Add(new BillDocument { FileName = file.FileName, FileBinary = billDocumentBinary, CustomerRequestId = customerRequestId }); // db.SaveChanges(); // TempData["IsModalOpen"] = "true"; // } // catch (Exception ex) // { // return RedirectToAction("Index", "Home"); // } // } //} SendMail(phoneNumber, model.Email, null, string.Empty, null, string.Empty); return(RedirectToAction("Index", "Home")); } }
public async Task <ReturnResponse> CreateCustomer(CustomerRequest customerRequest) { if (customerRequest == null) { return(new ReturnResponse() { StatusCode = Utils.ObjectNull, StatusMessage = Utils.StatusMessageObjectNull }); } if (string.IsNullOrWhiteSpace(customerRequest.EmailAddress) || string.IsNullOrWhiteSpace(customerRequest.FullName) || string.IsNullOrWhiteSpace(customerRequest.PhoneNumber) || string.IsNullOrWhiteSpace(customerRequest.Address) || string.IsNullOrWhiteSpace(customerRequest.Password)) { return(new ReturnResponse() { StatusCode = Utils.ObjectNull, StatusMessage = Utils.StatusMessageObjectNull }); } var roleToFind = await _roleManager.FindByNameAsync(Utils.CustomerRole); if (roleToFind == null) { return(new ReturnResponse() { StatusCode = Utils.NotFound, StatusMessage = "Role Not Found" }); } if (await _authRepository.UserEmailExists(customerRequest.EmailAddress)) { return(new ReturnResponse() { StatusCode = Utils.ObjectExists, StatusMessage = Utils.StatusMessageObjectExists }); } var customer = new Customer() { EmailAddress = customerRequest.EmailAddress, FullName = customerRequest.FullName, PhoneNumber = customerRequest.PhoneNumber, Address = customerRequest.Address }; var user = new User() { UserName = customerRequest.EmailAddress, Email = customerRequest.EmailAddress, //UserTypeId = customer.CustomerId, UserType = Utils.Customer, Customer = customer }; var result = await _userManager.CreateAsync(user, customerRequest.Password); if (result.Succeeded) { //UPDATE USERTYPEID IN USER TABLE user.UserTypeId = customer.CustomerId; var updateResult = await _userManager.UpdateAsync(user); if (!updateResult.Succeeded) { return(new ReturnResponse() { StatusCode = Utils.NotSucceeded, StatusMessage = Utils.StatusMessageNotSucceeded }); } //ASSIGN CUSTOMER ROLE TO USER (CUSTOMER) var assignmentResult = await _roleManagementRepository.AssignRolesToUser(new RoleUserAssignmentRequest() { Users = new List <int>() { user.Id }, Roles = new List <int>() { roleToFind.Id } }); if (assignmentResult.StatusCode == Utils.Success) { //SEND MAIL TO CUSTOMER TO CONFIRM EMAIL var userTokenVal = await _userManager.GenerateEmailConfirmationTokenAsync(user); string hashedEmail = _authRepository.GetHashedEmail(user.Email); var fullToken = userTokenVal + "#" + hashedEmail; var emailVerificationLink = _authRepository.GetUserEmailVerificationLink(fullToken); if (emailVerificationLink == null) { return(new ReturnResponse() { StatusCode = Utils.ObjectNull, StatusMessage = Utils.StatusMessageObjectNull }); } var emailMessage1 = "Please click the button below to complete your registration and activate you account."; var emailMessage2 = ""; string emailBody = _globalRepository.GetMailBodyTemplate(customer.FullName, "", emailVerificationLink, emailMessage1, emailMessage2, "activation.html"); var emailSubject = "CONFIRM YOUR EMAIL ADDRESS"; //SEND MAIL TO CUSTOMER TO VERIFY EMAIL MailModel mailObj = new MailModel(_configuration.GetValue <string>("MercuryMartEmailAddress"), _configuration.GetValue <string>("MercuryMartEmailName"), customer.EmailAddress, emailSubject, emailBody); var response = await _mailRepository.SendMail(mailObj); if (!response.StatusCode.Equals(HttpStatusCode.Accepted)) { return(new ReturnResponse() { StatusCode = Utils.MailFailure, StatusMessage = Utils.StatusMessageMailFailure }); } var customerToReturn = await GetCustomers(customer.CustomerId); if (customerToReturn.StatusCode != Utils.Success) { return(new ReturnResponse() { StatusCode = Utils.NotSucceeded, StatusMessage = "Error Occured while Fetching Customer Information" }); } return(new ReturnResponse() { StatusCode = Utils.Success, StatusMessage = "Registration Successful!!!", ObjectValue = (Customer)customerToReturn.ObjectValue }); } return(new ReturnResponse() { StatusCode = Utils.NotSucceeded, StatusMessage = Utils.StatusMessageNotSucceeded }); } return(new ReturnResponse() { StatusCode = Utils.NotSucceeded, StatusMessage = Utils.StatusMessageNotSucceeded }); }
public async Task <JsonResult> SaveCustomer([FromBody] CustomerRequest customer) { return(new JsonResult(await _customerBusiness.SaveCustomer(customer))); }
public void Find_FindsCustomerWithGivenId() { string id = Guid.NewGuid().ToString(); var createRequest = new CustomerRequest { Id = id, FirstName = "Michael", LastName = "Angelo", Company = "Some Company", Email = "*****@*****.**", Phone = "312.555.1111", Fax = "312.555.1112", Website = "www.example.com", CreditCard = new CreditCardRequest { Number = "5105105105105100", ExpirationDate = "05/12", CVV = "123", CardholderName = "Michael Angelo", BillingAddress = new CreditCardAddressRequest() { FirstName = "Mike", LastName = "Smith", Company = "Smith Co.", StreetAddress = "1 W Main St", ExtendedAddress = "Suite 330", Locality = "Chicago", Region = "IL", PostalCode = "60622", CountryName = "United States of America" } } }; Customer createdCustomer = gateway.Customer.Create(createRequest).Target; Customer customer = gateway.Customer.Find(createdCustomer.Id); Assert.AreEqual(id, customer.Id); Assert.AreEqual("Michael", customer.FirstName); Assert.AreEqual("Angelo", customer.LastName); Assert.AreEqual("Some Company", customer.Company); Assert.AreEqual("*****@*****.**", customer.Email); Assert.AreEqual("312.555.1111", customer.Phone); Assert.AreEqual("312.555.1112", customer.Fax); Assert.AreEqual("www.example.com", customer.Website); Assert.AreEqual(DateTime.Now.Year, customer.CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.UpdatedAt.Value.Year); Assert.AreEqual(1, customer.CreditCards.Length); Assert.AreEqual("510510", customer.CreditCards[0].Bin); Assert.AreEqual("5100", customer.CreditCards[0].LastFour); Assert.AreEqual("05", customer.CreditCards[0].ExpirationMonth); Assert.AreEqual("2012", customer.CreditCards[0].ExpirationYear); Assert.AreEqual("Michael Angelo", customer.CreditCards[0].CardholderName); Assert.IsTrue(Regex.IsMatch(customer.CreditCards[0].UniqueNumberIdentifier, "\\A\\w{32}\\z")); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].UpdatedAt.Value.Year); Assert.AreEqual("Mike", customer.Addresses[0].FirstName); Assert.AreEqual("Smith", customer.Addresses[0].LastName); Assert.AreEqual("Smith Co.", customer.Addresses[0].Company); Assert.AreEqual("1 W Main St", customer.Addresses[0].StreetAddress); Assert.AreEqual("Suite 330", customer.Addresses[0].ExtendedAddress); Assert.AreEqual("Chicago", customer.Addresses[0].Locality); Assert.AreEqual("IL", customer.Addresses[0].Region); Assert.AreEqual("60622", customer.Addresses[0].PostalCode); Assert.AreEqual("United States of America", customer.Addresses[0].CountryName); }
public async Task <ActionResult> Index(CheckoutModel model) { //Check if the model-state is valid -- this will catch anytime someone hacks your client-side validation if (ModelState.IsValid) { var gateway = new BraintreeGateway { Environment = Braintree.Environment.SANDBOX, MerchantId = ConfigurationManager.AppSettings["Braintree.MerchantID"], PublicKey = ConfigurationManager.AppSettings["Braintree.PublicKey"], PrivateKey = ConfigurationManager.AppSettings["Braintree.PrivateKey"] }; CustomerSearchRequest searchRequest = new CustomerSearchRequest(); searchRequest.Email.Is(model.ContactEmail); Customer c = null; var existingCustomers = await gateway.Customer.SearchAsync(searchRequest); if (existingCustomers.Ids.Any()) { c = existingCustomers.FirstItem; } else { CustomerRequest newCustomer = new CustomerRequest(); newCustomer.FirstName = model.FirstName; newCustomer.LastName = model.LastName; newCustomer.Email = model.ContactEmail; newCustomer.Phone = model.ContactPhone; var customerResult = await gateway.Customer.CreateAsync(newCustomer); if (customerResult.IsSuccess()) { c = customerResult.Target; } else { throw new Exception(customerResult.Errors.All().First().Message); } } string token; Braintree.CreditCardRequest card = new Braintree.CreditCardRequest(); card.Number = model.CreditCardNumber; card.CVV = model.CreditCardVerificationValue; card.ExpirationMonth = model.CreditCardExpirationMonth.ToString().PadLeft(2, '0'); card.ExpirationYear = model.CreditCardExpirationYear.ToString(); card.CardholderName = model.FirstName + " " + model.LastName; card.CustomerId = c.Id; var cardResult = await gateway.CreditCard.CreateAsync(card); if (cardResult.IsSuccess()) { token = cardResult.Target.Token; } else { throw new Exception(cardResult.Errors.All().First().Message); } HttpCookie cartCookie = Request.Cookies["cart"]; var order = db.Orders.Find(int.Parse(cartCookie.Value)); Braintree.TransactionRequest transaction = new TransactionRequest(); transaction.PaymentMethodToken = token; transaction.Amount = order.OrderedProducts.Sum(x => (x.Product.Price ?? 0) * (x.Quantity ?? 0)); transaction.CustomerId = c.Id; var saleResult = await gateway.Transaction.SaleAsync(transaction); if (saleResult.IsSuccess()) { Response.SetCookie(new HttpCookie("cart") { Expires = DateTime.Now }); order.OrderCompletedDate = DateTime.UtcNow; order.CustomerEmail = model.ContactEmail; order.BillingStreetAddress1 = model.BillingAddress.Street1; if (model.BillingAddress.Street2 != null) { order.BillingStreetAddress2 = model.BillingAddress.Street2; } order.BillingCity = model.BillingAddress.City; order.BillingState = model.BillingAddress.State; order.BillingZip = model.BillingAddress.PostalCode; order.ShippingStreetAddress1 = model.ShippingAddress.Street1; if (model.ShippingAddress.Street2 != null) { order.ShippingStreetAddress2 = model.ShippingAddress.Street2; } order.ShippingCity = model.ShippingAddress.City; order.ShippingState = model.ShippingAddress.State; order.ShippingZip = model.ShippingAddress.PostalCode; if (User.Identity.IsAuthenticated) { var user = db.Users.FirstOrDefault(X => X.AspNetUser.UserName == User.Identity.Name); order.AspNetUserID = user.AspNetUserID; } order.LastModifiedOn = DateTime.UtcNow; await db.SaveChangesAsync(); string apiKey = System.Configuration.ConfigurationManager.AppSettings["SendGrid.ApiKey"]; SendGrid.ISendGridClient client = new SendGridClient(apiKey); EmailAddress from = new EmailAddress("*****@*****.**", "Paracord Store"); EmailAddress to = new EmailAddress(model.ContactEmail); string subject = string.Format("Your Paracord Store Order {0}", order.OrderID); string htmlContent = CreateReceiptEmail(order); string plainTextContent = CreatePlaintextEmail(order); SendGridMessage message = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent); message.SetTemplateId("a179572c-a791-467e-aebb-5ea6cca0fb2c"); Response response = await client.SendEmailAsync(message); TempData["EmailAddress"] = model.ContactEmail; return(RedirectToAction("Index", "Receipt", new { id = order.OrderID })); } } return(View(model)); }
public void Create_CreateCustomerWithCreditCardAndBillingAddress() { var createRequest = new CustomerRequest() { FirstName = "Michael", LastName = "Angelo", Company = "Some Company", Email = "*****@*****.**", Phone = "312.555.1111", Fax = "312.555.1112", Website = "www.example.com", CreditCard = new CreditCardRequest() { Number = "5105105105105100", ExpirationDate = "05/12", CVV = "123", CardholderName = "Michael Angelo", BillingAddress = new CreditCardAddressRequest() { FirstName = "Michael", LastName = "Angelo", Company = "Angelo Co.", StreetAddress = "1 E Main St", ExtendedAddress = "Apt 3", Locality = "Chicago", Region = "IL", PostalCode = "60622", CountryName = "United States of America" } } }; Customer customer = gateway.Customer.Create(createRequest).Target; Assert.AreEqual("Michael", customer.FirstName); Assert.AreEqual("Angelo", customer.LastName); Assert.AreEqual("Some Company", customer.Company); Assert.AreEqual("*****@*****.**", customer.Email); Assert.AreEqual("312.555.1111", customer.Phone); Assert.AreEqual("312.555.1112", customer.Fax); Assert.AreEqual("www.example.com", customer.Website); Assert.AreEqual(DateTime.Now.Year, customer.CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.UpdatedAt.Value.Year); Assert.AreEqual(1, customer.CreditCards.Length); Assert.AreEqual("510510", customer.CreditCards[0].Bin); Assert.AreEqual("5100", customer.CreditCards[0].LastFour); Assert.AreEqual("05", customer.CreditCards[0].ExpirationMonth); Assert.AreEqual("2012", customer.CreditCards[0].ExpirationYear); Assert.AreEqual("Michael Angelo", customer.CreditCards[0].CardholderName); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].CreatedAt.Value.Year); Assert.AreEqual(DateTime.Now.Year, customer.CreditCards[0].UpdatedAt.Value.Year); Assert.AreEqual(customer.Addresses[0].Id, customer.CreditCards[0].BillingAddress.Id); Assert.AreEqual("Michael", customer.Addresses[0].FirstName); Assert.AreEqual("Angelo", customer.Addresses[0].LastName); Assert.AreEqual("Angelo Co.", customer.Addresses[0].Company); Assert.AreEqual("1 E Main St", customer.Addresses[0].StreetAddress); Assert.AreEqual("Apt 3", customer.Addresses[0].ExtendedAddress); Assert.AreEqual("Chicago", customer.Addresses[0].Locality); Assert.AreEqual("IL", customer.Addresses[0].Region); Assert.AreEqual("60622", customer.Addresses[0].PostalCode); Assert.AreEqual("United States of America", customer.Addresses[0].CountryName); }