示例#1
0
        public PayPalManager(Context context, PayPal.Forms.Abstractions.PayPalConfiguration xfconfig)
        {
            _xfconfig = xfconfig;
            Context   = context;

            switch (xfconfig.Environment)
            {
            case PayPal.Forms.Abstractions.Enum.PayPalEnvironment.NoNetwork:
                CONFIG_ENVIRONMENT = PayPalConfiguration.EnvironmentNoNetwork;
                break;

            case PayPal.Forms.Abstractions.Enum.PayPalEnvironment.Production:
                CONFIG_ENVIRONMENT = PayPalConfiguration.EnvironmentProduction;
                break;

            case PayPal.Forms.Abstractions.Enum.PayPalEnvironment.Sandbox:
                CONFIG_ENVIRONMENT = PayPalConfiguration.EnvironmentSandbox;
                break;
            }

            CONFIG_CLIENT_ID = xfconfig.PayPalKey;

            config = new PayPalConfiguration()
                     .Environment(CONFIG_ENVIRONMENT)
                     .ClientId(CONFIG_CLIENT_ID)
                     .AcceptCreditCards(xfconfig.AcceptCreditCards)
                     .MerchantName(xfconfig.MerchantName)
                     .MerchantPrivacyPolicyUri(global::Android.Net.Uri.Parse(xfconfig.MerchantPrivacyPolicyUri))
                     .MerchantUserAgreementUri(global::Android.Net.Uri.Parse(xfconfig.MerchantUserAgreementUri));

            if (!String.IsNullOrEmpty(xfconfig.Language))
            {
                config = config.LanguageOrLocale(xfconfig.Language);
            }

            if (!String.IsNullOrEmpty(xfconfig.PhoneCountryCode))
            {
                config = config.DefaultUserPhoneCountryCode(xfconfig.PhoneCountryCode);
            }

            Intent intent = new Intent(Context, typeof(PayPalService));

            intent.PutExtra(PayPalService.ExtraPaypalConfiguration, config);
            Context.StartService(intent);
        }
示例#2
0
        public PayPalManager(PayPal.Forms.Abstractions.PayPalConfiguration xfconfig)
        {
            NSString key   = null;
            NSString value = new NSString(xfconfig.PayPalKey);
            string   env   = string.Empty;

            switch (xfconfig.Environment)
            {
            case PayPal.Forms.Abstractions.Enum.PayPalEnvironment.NoNetwork:
                key = Constants.PayPalEnvironmentNoNetwork;
                env = Constants.PayPalEnvironmentNoNetwork.ToString();
                break;

            case PayPal.Forms.Abstractions.Enum.PayPalEnvironment.Production:
                key = Constants.PayPalEnvironmentProduction;
                env = Constants.PayPalEnvironmentProduction.ToString();
                break;

            case PayPal.Forms.Abstractions.Enum.PayPalEnvironment.Sandbox:
                key = Constants.PayPalEnvironmentSandbox;
                env = Constants.PayPalEnvironmentSandbox.ToString();
                break;
            }

            PayPalMobile.InitializeWithClientIdsForEnvironments(NSDictionary.FromObjectsAndKeys(
                                                                    new NSObject[] {
                value,
                value,
                value
            }, new NSObject[] {
                key,
                Constants.PayPalEnvironmentProduction,
                Constants.PayPalEnvironmentSandbox
            }
                                                                    ));

            Environment = env;

            _payPalConfig     = new PayPalConfiguration();
            AcceptCreditCards = xfconfig.AcceptCreditCards;

            _payPalConfig.MerchantName             = xfconfig.MerchantName;
            _payPalConfig.MerchantPrivacyPolicyURL = new NSUrl(xfconfig.MerchantPrivacyPolicyUri);
            _payPalConfig.MerchantUserAgreementURL = new NSUrl(xfconfig.MerchantUserAgreementUri);
            _payPalConfig.LanguageOrLocale         = xfconfig.Language ?? NSLocale.PreferredLanguages[0];
            if (!String.IsNullOrEmpty(xfconfig.PhoneCountryCode))
            {
                _payPalConfig.DefaultUserPhoneCountryCode = xfconfig.PhoneCountryCode;
            }


            switch (xfconfig.ShippingAddressOption)
            {
            case Abstractions.Enum.ShippingAddressOption.Both:
                _payPalConfig.PayPalShippingAddressOption = PayPalShippingAddressOption.Both;
                break;

            case Abstractions.Enum.ShippingAddressOption.None:
                _payPalConfig.PayPalShippingAddressOption = PayPalShippingAddressOption.None;
                break;

            case Abstractions.Enum.ShippingAddressOption.PayPal:
                _payPalConfig.PayPalShippingAddressOption = PayPalShippingAddressOption.PayPal;
                break;

            case Abstractions.Enum.ShippingAddressOption.Provided:
                _payPalConfig.PayPalShippingAddressOption = PayPalShippingAddressOption.Provided;
                break;
            }

            Debug.WriteLine("PayPal iOS SDK Version: " + PayPalMobile.LibraryVersion);
        }