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 }; } }
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); }