public void Generate_GatewayRespectsFailOnDuplicatePaymentMethod() { BraintreeGateway gateway = new BraintreeGateway { Environment = Environment.DEVELOPMENT, MerchantId = "integration_merchant_id", PublicKey = "integration_public_key", PrivateKey = "integration_private_key" }; Result <Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string customerId = result.Target.Id; var request = new CreditCardRequest { CustomerId = customerId, Number = "4111111111111111", ExpirationDate = "05/2099" }; Result <CreditCard> creditCardResult = gateway.CreditCard.Create(request); Assert.IsTrue(creditCardResult.IsSuccess()); var clientToken = TestHelper.GenerateDecodedClientToken(gateway, new ClientTokenRequest { CustomerId = customerId, Options = new ClientTokenOptionsRequest { FailOnDuplicatePaymentMethod = true } } ); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); RequestBuilder builder = new RequestBuilder(""); builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint). AddTopLevelElement("shared_customer_identifier_type", "testing"). AddTopLevelElement("shared_customer_identifier", "test-identifier"). AddTopLevelElement("credit_card[number]", "4111111111111111"). AddTopLevelElement("credit_card[expiration_month]", "11"). AddTopLevelElement("credit_card[expiration_year]", "2099"); HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); Assert.AreEqual(422, (int)response.StatusCode); response.Close(); Customer customer = gateway.Customer.Find(customerId); Assert.AreEqual(1, customer.CreditCards.Length); }
public void Generate_GeneratedFingerprintIsAcceptedByGateway() { BraintreeGateway gateway = new BraintreeGateway { Environment = Environment.DEVELOPMENT, MerchantId = "integration_merchant_id", PublicKey = "integration_public_key", PrivateKey = "integration_private_key" }; var clientToken = TestHelper.GenerateDecodedClientToken(gateway); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); var encodedFingerprint = HttpUtility.UrlEncode(authorizationFingerprint, Encoding.UTF8); var url = "v1/payment_methods.json"; url += "?authorizationFingerprint=" + encodedFingerprint; url += "&sharedCustomerIdentifierType=testing"; url += "&sharedCustomerIdentifier=test-identifier"; HttpWebResponse response = new BraintreeTestHttpService().Get(gateway.MerchantId, url); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); response.Close(); }
public void Generate_GeneratedFingerprintIsAcceptedByGateway() { var gateway = new BraintreeGateway(); var clientToken = TestHelper.GenerateDecodedClientToken(gateway); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); var encodedFingerprint = HttpUtility.UrlEncode(authorizationFingerprint, Encoding.UTF8); var url = "v1/payment_methods.json"; url += "?authorizationFingerprint=" + encodedFingerprint; url += "&sharedCustomerIdentifierType=testing"; url += "&sharedCustomerIdentifier=test-identifier"; HttpWebResponse response = new BraintreeTestHttpService().Get(gateway.MerchantId, url); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); response.Close(); }
public void Generate_GatewayRespectsMakeDefault() { var gateway = new BraintreeGateway(); Result<Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string customerId = result.Target.Id; var request = new CreditCardRequest { CustomerId = customerId, Number = "5555555555554444", ExpirationDate = "05/2099" }; Result<CreditCard> creditCardResult = gateway.CreditCard.Create(request); Assert.IsTrue(creditCardResult.IsSuccess()); var clientToken = TestHelper.GenerateDecodedClientToken(gateway, new ClientTokenRequest { CustomerId = customerId, Options = new ClientTokenOptionsRequest { MakeDefault = true } } ); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); var builder = new RequestBuilder(""); builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint). AddTopLevelElement("shared_customer_identifier_type", "testing"). AddTopLevelElement("shared_customer_identifier", "test-identifier"). AddTopLevelElement("credit_card[number]", "4111111111111111"). AddTopLevelElement("credit_card[expiration_month]", "11"). AddTopLevelElement("credit_card[expiration_year]", "2099"); HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); response.Close(); Customer customer = gateway.Customer.Find(customerId); Assert.AreEqual(2, customer.CreditCards.Length); foreach (CreditCard creditCard in customer.CreditCards) { if (creditCard.LastFour == "1111") { Assert.IsTrue(creditCard.IsDefault.Value); } } }
public void Generate_GatewayRespectsVerifyCard() { var gateway = new BraintreeGateway(); Result<Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string customerId = result.Target.Id; var clientToken = TestHelper.GenerateDecodedClientToken(gateway, new ClientTokenRequest { CustomerId = customerId, Options = new ClientTokenOptionsRequest { VerifyCard = true } } ); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); var builder = new RequestBuilder(""); builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint). AddTopLevelElement("shared_customer_identifier_type", "testing"). AddTopLevelElement("shared_customer_identifier", "test-identifier"). AddTopLevelElement("credit_card[number]", "4000111111111115"). AddTopLevelElement("credit_card[expiration_month]", "11"). AddTopLevelElement("credit_card[expiration_year]", "2099"); HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); Assert.AreEqual(422, (int)response.StatusCode); response.Close(); Customer customer = gateway.Customer.Find(customerId); Assert.AreEqual(0, customer.CreditCards.Length); }
public void Generate_GatewayRespectsFailOnDuplicatePaymentMethod() { BraintreeGateway gateway = new BraintreeGateway { Environment = Environment.DEVELOPMENT, MerchantId = "integration_merchant_id", PublicKey = "integration_public_key", PrivateKey = "integration_private_key" }; Result<Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string customerId = result.Target.Id; var request = new CreditCardRequest { CustomerId = customerId, Number = "4111111111111111", ExpirationDate = "05/2099" }; Result<CreditCard> creditCardResult = gateway.CreditCard.Create(request); Assert.IsTrue(creditCardResult.IsSuccess()); var clientToken = TestHelper.GenerateDecodedClientToken(gateway, new ClientTokenRequest { CustomerId = customerId, Options = new ClientTokenOptionsRequest { FailOnDuplicatePaymentMethod = true } } ); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); RequestBuilder builder = new RequestBuilder(""); builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint). AddTopLevelElement("shared_customer_identifier_type", "testing"). AddTopLevelElement("shared_customer_identifier", "test-identifier"). AddTopLevelElement("credit_card[number]", "4111111111111111"). AddTopLevelElement("credit_card[expiration_month]", "11"). AddTopLevelElement("credit_card[expiration_year]", "2099"); HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); Assert.AreEqual(422, (int)response.StatusCode); response.Close(); Customer customer = gateway.Customer.Find(customerId); Assert.AreEqual(1, customer.CreditCards.Length); }