コード例 #1
0
ファイル: StripeService.cs プロジェクト: Softeq/XToolkit
        public void RequestPayment(int amount, string currency)
        {
            var stripeRemoteService =
                new StripeRemoteService(_stripeConfig, _restHttpClient, _logManager, _jsonSerializer);

            _paymentSession.CompletePayment(new PaymentCompletionProvider(stripeRemoteService, amount, currency));
        }
コード例 #2
0
        public void Initialize(StripeConfig stripeConfig)
        {
            if (_paymentContext != null)
            {
                return;
            }

            if (STPPaymentConfiguration.SharedConfiguration().PublishableKey == null)
            {
                STPPaymentConfiguration.SharedConfiguration().PublishableKey = stripeConfig.ApiKey;
            }

            var stripeRemoteService =
                new StripeRemoteService(stripeConfig, _restHttpClient, _logManager, _jsonSerializer);
            var provider        = new StripeEphemeralKeyProvider(stripeRemoteService, _logManager);
            var customerContext = new CustomerContext(provider, stripeRemoteService);

            _paymentContext = new STPPaymentContext(
                customerContext,
                STPPaymentConfiguration.SharedConfiguration(),
                STPTheme.DefaultTheme)
            {
                HostViewController = _getUiViewControllerFunc(),
                Delegate           = new PaymentDelegate(_messageHub, stripeRemoteService)
            };
        }
コード例 #3
0
 public StripeEphemeralKeyProvider(
     StripeRemoteService stripeRemoteService,
     ILogManager logManager)
 {
     _stripeRemoteService = stripeRemoteService;
     _logger = logManager.GetLogger <StripeEphemeralKeyProvider>();
 }
コード例 #4
0
ファイル: StripeService.cs プロジェクト: Softeq/XToolkit
        public void OnCreate(Bundle savedInstanceState, StripeConfig stripeConfig)
        {
            _stripeConfig = stripeConfig;

            PaymentConfiguration.Init(_stripeConfig.ApiKey);

            var stripeRemoteService =
                new StripeRemoteService(_stripeConfig, _restHttpClient, _logManager, _jsonSerializer);

            CustomerSession.InitCustomerSession(new StripeEphemeralKeyProvider(stripeRemoteService));

            _paymentSession = new PaymentSession(CrossCurrentActivity.Current.Activity);
            var config = new PaymentSessionConfig.Builder()
                         .SetShippingInfoRequired(false)
                         .SetShippingMethodsRequired(false)
                         .Build();

            _paymentSession.Init(new PaymentSessionListener(), config, savedInstanceState);

            StripeManager.Initialize(stripeRemoteService, _stripeConfig);
        }
コード例 #5
0
ファイル: StripeManager.cs プロジェクト: Softeq/XToolkit
 public static void Initialize(
     StripeRemoteService stripeRemoteService,
     StripeConfig config)
 {
     Instance = new StripeManager(stripeRemoteService, config);
 }
コード例 #6
0
ファイル: StripeManager.cs プロジェクト: Softeq/XToolkit
 private StripeManager(StripeRemoteService stripeRemoteService, StripeConfig config)
 {
     _stripeRemoteService = stripeRemoteService;
     _config = config;
 }
コード例 #7
0
ファイル: StripeService.cs プロジェクト: Softeq/XToolkit
 public PaymentCompletionProvider(StripeRemoteService stripeRemoteService, int amount, string currency)
 {
     _stripeRemoteService = stripeRemoteService;
     _amount   = amount;
     _currency = currency;
 }
コード例 #8
0
ファイル: StripeService.cs プロジェクト: Softeq/XToolkit
 public StripeEphemeralKeyProvider(StripeRemoteService stripeRemoteService)
 {
     _stripeRemoteService = stripeRemoteService;
 }
コード例 #9
0
 public PaymentDelegate(IMessageHub messageHub, StripeRemoteService stripeRemoteService)
 {
     _messageHub          = messageHub;
     _stripeRemoteService = stripeRemoteService;
 }
コード例 #10
0
 public CustomerContext(
     StripeEphemeralKeyProvider keyProvider,
     StripeRemoteService stripeRemoteService) : base(keyProvider)
 {
     _stripeRemoteService = stripeRemoteService;
 }