internal void RemoveSource(ISourceProtocol source)
        {
            var index = mockSources.FindIndex(p => p.StripeId == source.StripeId);

            if (index >= 0)
            {
                mockSources.RemoveAt(index);
            }
        }
        public override void DetachSource(ISourceProtocol source, STPErrorBlock completion)
        {
            customer.RemoveSource(source);

            if (completion != null)
            {
                completion(null);
            }
        }
        public override void SelectDefaultCustomerSource(ISourceProtocol source, STPErrorBlock completion)
        {
            if (customer.Sources.Where(p => p.StripeId == source.StripeId).Any())
            {
                customer.SetDefaultSource(source);
            }

            if (completion != null)
            {
                completion(null);
            }
        }
        public override void AttachSourceToCustomer(ISourceProtocol source, STPErrorBlock completion)
        {
            var token = source as Token;

            if (token != null)
            {
                var card = token.Card;
                if (card != null)
                {
                    customer.AddSource(card);
                }
            }

            if (completion != null)
            {
                completion(null);
            }
        }
 internal void SetDefaultSource(ISourceProtocol source)
 {
     mockDefaultSource = source;
 }
 internal void AddSource(ISourceProtocol source)
 {
     mockSources.Add(source);
 }