public void InitTerminalManager(IConnectionTokenProviderService providerService)
        {
            SCPTerminal.SetTokenProvider(new StripeConnectionTokenProvider(providerService));

            if (_isInitialized == false)
            {
                try
                {
                    _isInitialized = true;
                    SCPTerminal.Shared.Delegate = new TerminalServiceTerminal(ConnectionNotifyHandler);
                }
                catch (Exception ex)
                {
                    throw new Exception("Location services are required in order to initialize the Terminal.", ex);
                }
            }
        }
        public override void DidUpdateDiscoveredReaders(SCPTerminal terminal, SCPReader[] readers)
        {
            if (readers.Any())
            {
                var stripeReaders = new List <StripeTerminalReader>();

                foreach (var reader in readers)
                {
                    stripeReaders.Add(new StripeTerminalReader
                    {
                        IsSimulated     = reader?.Simulated ?? false,
                        SerialNumber    = reader?.SerialNumber,
                        SoftwareVersion = reader?.DeviceSoftwareVersion,
                        BatteryLevel    = reader?.BatteryLevel?.FloatValue ?? 0
                    });
                }

                _discoveredReaders.AddRange(readers);
                _onReadersDiscoveredAction?.Invoke(stripeReaders);
                _discoveryCancelable = null;
            }
        }
示例#3
0
 public override void DidReportReaderSoftwareUpdateProgress(SCPTerminal terminal, float progress)
 {
     NotifyHandler(progress);
 }
示例#4
0
 public override void Terminal(SCPTerminal terminal, SCPReader reader)
 {
     NotifyHandler("Disconnected");
 }
示例#5
0
        public override void DidRequestReaderInput(SCPTerminal terminal, SCPReaderInputOptions inputOptions)
        {
            var message = SCPTerminal.StringFromReaderInputOptions(inputOptions);

            NotifyHandler(message);
        }
示例#6
0
        public override void DidRequestReaderDisplayMessage(SCPTerminal terminal, SCPReaderDisplayMessage displayMessage)
        {
            var message = SCPTerminal.StringFromReaderDisplayMessage(displayMessage);

            NotifyHandler(message);
        }