예제 #1
0
        private static BuySafeWebReference.BuySafeAPI GetAPI()
        {
            BuySafeWebReference.BuySafeAPI api;
            api = new BuySafeWebReference.BuySafeAPI();
            api.MerchantServiceProviderCredentialsValue = new BuySafeWebReference.MerchantServiceProviderCredentials();
            if (UseSandbox)
            {
                api.Url = SandboxPOSTURL;
                if (!String.IsNullOrEmpty(AppLogic.GlobalConfig("BuySafe.SandBoxEndPoint")))
                {
                    api.Url = AppLogic.GlobalConfig("BuySafe.SandBoxEndPoint");
                }
                api.MerchantServiceProviderCredentialsValue.UserName = SandboxMSPUsername;
                api.MerchantServiceProviderCredentialsValue.Password = SandboxMSPPassword;
            }
            else
            {
                api.Url = ProductionPOSTURL;
                if (!String.IsNullOrEmpty(AppLogic.GlobalConfig("BuySafe.EndPoint")))
                {
                    api.Url = AppLogic.GlobalConfig("BuySafe.EndPoint");
                }
                api.MerchantServiceProviderCredentialsValue.UserName = LiveMSPUsername;
                api.MerchantServiceProviderCredentialsValue.Password = LiveMSPPassword;
            }

            api.BuySafeWSHeaderValue         = new BuySafeWebReference.BuySafeWSHeader();
            api.BuySafeWSHeaderValue.Version = "610";
            return(api);
        }
예제 #2
0
 private static BuySafeWebReference.GetAccountRS GetAccountRS()
 {
     try
     {
         BuySafeWebReference.BuySafeAPI   api       = GetAPI();
         BuySafeWebReference.GetAccountRQ accountRQ = new BuySafeWebReference.GetAccountRQ();
         accountRQ.AccountHash = AccountHash();
         return(api.GetAccount(accountRQ));
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #3
0
        public static BuySafeStatus RegisterStore(Store store)
        {
            BuySafeWebReference.BuySafeAPI api = GetAPI();
            BuySafeWebReference.AddStoreRQ req = new BuySafeWebReference.AddStoreRQ();
            req.AccountHash     = AccountHash();
            req.AddStoreList    = new BuySafeWebReference.StoreInformation[1];
            req.AddStoreList[0] = GetStoreInformation(store);

            BuySafeWebReference.AddStoreRS response = api.AddStore(req);
            BuySafeStatus status = new BuySafeStatus()
            {
                HasError = response.Successful == false
            };

            if (response.ErrorInformation != null)
            {
                status.ErrorMessage = response.ErrorInformation.ToString();
            }
            return(status);
        }
예제 #4
0
        public static BuySafeStatus RegisterMerchant(
            String MerchantUserName,
            String MerchantFirstName,
            String MerchantLastName,
            String MerchantPhone,
            String MerchantEMail,
            String MerchantCompany,
            String MerchantAddress1,
            String MerchantAddress2,
            String MerchantCity,
            String MerchantState,
            String MerchantZip,
            String MerchantCountry,
            ResidenceTypes MerchantResidenceType,

            DateTime MinOrderDate,
            List <Store> Stores
            )
        {
            BuySafeWebReference.BuySafeAPI api = GetAPI();

            BuySafeWebReference.AddAccountRQ reqAccount = new BuySafeWebReference.AddAccountRQ();

            reqAccount.AddStoreList = new BuySafeWebReference.StoreInformation[Stores.Count];
            for (int i = 0; i < Stores.Count; i++)
            {
                reqAccount.AddStoreList[i] = GetStoreInformation(Stores[i]);
            }


            reqAccount.BusinessInformation = new BuySafeWebReference.BusinessInformation();

            BuySafeWebReference.Address a = new BuySafeWebReference.Address();
            a.CityName      = MerchantCity;
            a.Country       = MerchantCountry;
            a.CountryCode   = BuySafeWebReference.CountryCode.US;
            a.PostalCode    = MerchantZip;
            a.StateProvince = MerchantState;
            a.StreetLine1   = MerchantAddress1;
            a.StreetLine2   = MerchantAddress2;
            switch (MerchantResidenceType)
            {
            case ResidenceTypes.Residential:
                a.Type = BuySafeWebReference.AddressType.Home;
                break;

            case ResidenceTypes.Commercial:
            case ResidenceTypes.Unknown:
            default:
                a.Type = BuySafeWebReference.AddressType.Business;
                break;
            }
            a.Type = BuySafeWebReference.AddressType.Business;

            reqAccount.BusinessInformation.Address     = a;
            reqAccount.BusinessInformation.CompanyName = MerchantCompany;
            if (UseSandbox)
            {
                reqAccount.BusinessInformation.PromoCode = SandboxPromoCode;
            }
            else
            {
                reqAccount.BusinessInformation.PromoCode = LivePromoCode;
            }
            BuySafeWebReference.CustomDateTime sellingTime = new BuySafeWebReference.CustomDateTime();
            sellingTime.DateTimeValue = MinOrderDate;
            sellingTime.HasDateTime   = true;
            reqAccount.BusinessInformation.DateBeganSelling = sellingTime;
            reqAccount.BusinessInformation.Email            = MerchantEMail;
            reqAccount.BusinessInformation.FirstName        = MerchantFirstName;
            reqAccount.BusinessInformation.LastName         = MerchantLastName;
            BuySafeWebReference.Phone p = new BuySafeWebReference.Phone();
            p.Number = MerchantPhone;
            p.Type   = BuySafeWebReference.PhoneType.Business;
            reqAccount.BusinessInformation.Phone = p;

            BuySafeWebReference.LoginInformation creds = new BuySafeWebReference.LoginInformation();
            creds.AutoGenerateOnCollision = false;
            creds.UserName = MerchantUserName;
            reqAccount.LoginInformation = creds;

            BuySafeWebReference.AddAccountRS response = api.AddAccount(reqAccount);
            BuySafeStatus status = new BuySafeStatus();

            status.HasError = !response.Successful;
            if (status.HasError)
            {
                status.ErrorMessage = response.ErrorInformation.ToString();
            }
            else
            {
                status.Hash = response.AccountResponse.Hash;
            }
            status.UserName = MerchantUserName;
            return(status);
        }