Inheritance: Braintree.Request
        public void TestCreateMerchantAccount()
        {
            MerchantAccountRequest request = new MerchantAccountRequest
            {
                Individual = new IndividualRequest
                {
                    FirstName = "Joseph",
                    LastName = "Fluckiger",
                    Email = "*****@*****.**",
                    Phone = "5129219530",
                    DateOfBirth = "2005-04-25",
                    Ssn = "456-45-4567",
                    Address = new AddressRequest
                    {
                        StreetAddress = "9004 Sunburst Ter",
                        Locality = "Round Rock",
                        Region = "TX",
                        PostalCode = "78681"
                    }
                },
                Funding = new FundingRequest
                {
                    Destination = FundingDestination.MOBILE_PHONE,
                    MobilePhone = "5129219530"
                },
                TosAccepted = true,
                MasterMerchantAccountId = "mz5yt3cr5vpbjvq3",
                Id =  _testSitterId.ToString()  // "joseph_fluckiger_sitter2"
            };

            Result<MerchantAccount> ret = _paymentManager.CreateSubMerchantAccount(request);

            bool iss = ret.IsSuccess();

            Assert.IsTrue(iss);

           

        }
        public virtual async Task <Result <MerchantAccount> > UpdateAsync(string id, MerchantAccountRequest request)
        {
            XmlNode merchantAccountXML = await service.PutAsync(service.MerchantPath() + "/merchant_accounts/" + id + "/update_via_api", request).ConfigureAwait(false);

            return(new ResultImpl <MerchantAccount>(new NodeWrapper(merchantAccountXML), gateway));
        }
        public virtual Result <MerchantAccount> Update(string id, MerchantAccountRequest request)
        {
            XmlNode merchantAccountXML = service.Put(service.MerchantPath() + "/merchant_accounts/" + id + "/update_via_api", request);

            return(new ResultImpl <MerchantAccount>(new NodeWrapper(merchantAccountXML), gateway));
        }
        public virtual Result <MerchantAccount> Create(MerchantAccountRequest request)
        {
            XmlNode merchantAccountXML = service.Post(service.MerchantPath() + "/merchant_accounts/create_via_api", request);

            return(new ResultImpl <MerchantAccount>(new NodeWrapper(merchantAccountXML), gateway));
        }
        public virtual Result<MerchantAccount> Update(string id, MerchantAccountRequest request)
        {
            XmlNode merchantAccountXML = service.Put(service.MerchantPath() + "/merchant_accounts/" + id + "/update_via_api", request);

            return new ResultImpl<MerchantAccount>(new NodeWrapper(merchantAccountXML), gateway);
        }
        public virtual Result<MerchantAccount> Create(MerchantAccountRequest request)
        {
            XmlNode merchantAccountXML = service.Post(service.MerchantPath() + "/merchant_accounts/create_via_api", request);

            return new ResultImpl<MerchantAccount>(new NodeWrapper(merchantAccountXML), gateway);
        }
 public void Create_HandlesInvalidValidationErrors()
 {
     var request = new MerchantAccountRequest
     {
         Individual = new IndividualRequest
         {
             FirstName = "<>",
             LastName = "<>",
             Email = "bad",
             Phone = "999",
             Address = new AddressRequest
             {
                 StreetAddress = "nope",
                 PostalCode = "1",
                 Region = "QQ",
             },
             DateOfBirth = "hah",
             Ssn = "12345",
         },
         Business = new BusinessRequest
         {
             LegalName = "``{}",
             DbaName = "{}``",
             TaxId = "bad",
             Address = new AddressRequest
             {
                 StreetAddress = "nope",
                 PostalCode = "1",
                 Region = "QQ",
             },
         },
         Funding = new FundingRequest
         {
             Destination = FundingDestination.UNRECOGNIZED,
             Email = "BILLFOLD",
             MobilePhone = "TRIFOLD",
             RoutingNumber = "LEATHER",
             AccountNumber = "BACK POCKET",
         },
         TosAccepted = true,
         MasterMerchantAccountId = "sandbox_master_merchant_account"
     };
     Result<MerchantAccount> result = gateway.MerchantAccount.Create(request);
     Assert.IsFalse(result.IsSuccess());
     ValidationErrors errors = result.Errors.ForObject("merchant-account");
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_FIRST_NAME_IS_INVALID,
         errors.ForObject("individual").OnField("first-name")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_LAST_NAME_IS_INVALID,
         errors.ForObject("individual").OnField("last-name")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_DATE_OF_BIRTH_IS_INVALID,
         errors.ForObject("individual").OnField("date-of-birth")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_PHONE_IS_INVALID,
         errors.ForObject("individual").OnField("phone")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_SSN_IS_INVALID,
         errors.ForObject("individual").OnField("ssn")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_EMAIL_IS_INVALID,
         errors.ForObject("individual").OnField("email")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_ADDRESS_STREET_ADDRESS_IS_INVALID,
         errors.ForObject("individual").ForObject("address").OnField("street-address")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_ADDRESS_POSTAL_CODE_IS_INVALID,
         errors.ForObject("individual").ForObject("address").OnField("postal-code")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_ADDRESS_REGION_IS_INVALID,
         errors.ForObject("individual").ForObject("address").OnField("region")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_BUSINESS_DBA_NAME_IS_INVALID,
         errors.ForObject("business").OnField("dba-name")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_BUSINESS_LEGAL_NAME_IS_INVALID,
         errors.ForObject("business").OnField("legal-name")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_BUSINESS_TAX_ID_IS_INVALID,
         errors.ForObject("business").OnField("tax-id")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_BUSINESS_ADDRESS_STREET_ADDRESS_IS_INVALID,
         errors.ForObject("business").ForObject("address").OnField("street-address")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_BUSINESS_ADDRESS_POSTAL_CODE_IS_INVALID,
         errors.ForObject("business").ForObject("address").OnField("postal-code")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_BUSINESS_ADDRESS_REGION_IS_INVALID,
         errors.ForObject("business").ForObject("address").OnField("region")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_FUNDING_DESTINATION_IS_INVALID,
         errors.ForObject("funding").OnField("destination")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_FUNDING_ACCOUNT_NUMBER_IS_INVALID,
         errors.ForObject("funding").OnField("account-number")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_FUNDING_ROUTING_NUMBER_IS_INVALID,
         errors.ForObject("funding").OnField("routing-number")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_FUNDING_EMAIL_IS_INVALID,
         errors.ForObject("funding").OnField("email")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_FUNDING_MOBILE_PHONE_IS_INVALID,
         errors.ForObject("funding").OnField("mobile-phone")[0].Code);
 }
 public void Create_HandlesRequiredValidationErrors()
 {
     var request = new MerchantAccountRequest
     {
         TosAccepted = true,
         MasterMerchantAccountId = "sandbox_master_merchant_account"
     };
     Result<MerchantAccount> result = gateway.MerchantAccount.Create(request);
     Assert.IsFalse(result.IsSuccess());
     ValidationErrors errors = result.Errors.ForObject("merchant-account");
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_FIRST_NAME_IS_REQUIRED,
         errors.ForObject("individual").OnField("first-name")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_LAST_NAME_IS_REQUIRED,
         errors.ForObject("individual").OnField("last-name")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_DATE_OF_BIRTH_IS_REQUIRED,
         errors.ForObject("individual").OnField("date-of-birth")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_EMAIL_IS_REQUIRED,
         errors.ForObject("individual").OnField("email")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_ADDRESS_STREET_ADDRESS_IS_REQUIRED,
         errors.ForObject("individual").ForObject("address").OnField("street-address")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_ADDRESS_LOCALITY_IS_REQUIRED,
         errors.ForObject("individual").ForObject("address").OnField("locality")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_ADDRESS_POSTAL_CODE_IS_REQUIRED,
         errors.ForObject("individual").ForObject("address").OnField("postal-code")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_INDIVIDUAL_ADDRESS_REGION_IS_REQUIRED,
         errors.ForObject("individual").ForObject("address").OnField("region")[0].Code);
     Assert.AreEqual(ValidationErrorCode.MERCHANT_ACCOUNT_FUNDING_DESTINATION_IS_REQUIRED,
         errors.ForObject("funding").OnField("destination")[0].Code);
 }
 public Result<MerchantAccount> UpdateSubMerchantAccount(string merchantId, MerchantAccountRequest request)
 {
     Result<MerchantAccount> result = _gateway.MerchantAccount.Update(merchantId, request);
     return result;
 }
 public Result<MerchantAccount> CreateSubMerchantAccount(MerchantAccountRequest request)
 {
     Result<MerchantAccount> result = _gateway.MerchantAccount.Create(request);
     return result;
 }
        public void TestUpdateMerchant()
        {
            MerchantAccountRequest requestU = new MerchantAccountRequest
            {
                //Individual = new IndividualRequest
                //{
                //    FirstName = "Joseph22",
                //},
                Funding = new FundingRequest
                {
                    Descriptor = "Blue Ladders",
                    Destination = FundingDestination.BANK,
                    Email = "*****@*****.**",
                    MobilePhone = "5555555555",
                    AccountNumber = "1123581321",
                    RoutingNumber = "071101307"
                },
            };
            var retU = _paymentManager.UpdateSubMerchantAccount("joseph_fluckiger_sitter", requestU);
            var iss = retU.IsSuccess();

            MerchantAccount merchantAccount = retU.Target;
            var rn = merchantAccount.FundingDetails.RoutingNumber;
            
        }
        public StoreCustomerResult CreateMerchantAccounts(PaymentAddress addr, BankAccountDetail bank, PaymentCard card)
        {
            MerchantAccountRequest request = new MerchantAccountRequest
            {
                Individual = new IndividualRequest
                {
                    FirstName = currentUser.FirstName,
                    LastName = currentUser.LastName,
                    Email = currentUser.Email,
                    Phone = currentUser.MobilePhone,
                    Address = new AddressRequest
                    {
                        StreetAddress = addr.StreetAddress,
                        Locality = addr.Locality,
                        Region = addr.Region,
                    }
                },
                Funding = new FundingRequest
                {
                    Destination = FundingDestination.BANK,
                    MobilePhone = currentUser.MobilePhone,
                    AccountNumber = bank.AccountNumber,
                    RoutingNumber = bank.BSB
                },
                TosAccepted = true,
            };

            Result<MerchantAccount> result = Gateway.MerchantAccount.Create(request);
            if (result.IsSuccess())
            {
                MerchantAccount merchant = result.Target;

                return new StoreCustomerResult
                {
                    CustomerId = merchant.Id,
                    FirstName = merchant.IndividualDetails.FirstName,
                    LastName = merchant.IndividualDetails.LastName
                };
            }
            else
            {
                return new StoreCustomerResult { ErrorMessage = result.Message };
            }
        }
Example #13
0
        public virtual Result <MerchantAccount> Create(MerchantAccountRequest request)
        {
            XmlNode merchantAccountXML = Service.Post(CREATE_URL, request);

            return(new ResultImpl <MerchantAccount>(new NodeWrapper(merchantAccountXML), Service));
        }
        public virtual Result<MerchantAccount> Create(MerchantAccountRequest request)
        {
            XmlNode merchantAccountXML = Service.Post(CREATE_URL, request);

            return new ResultImpl<MerchantAccount>(new NodeWrapper(merchantAccountXML), Service);
        }