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