def retrieve(cls, stripe_customer_id): if stripe_customer_id in cls.ACTIVE_CUSTOMERS: cls.ACTIVE_CUSTOMERS[stripe_customer_id].pop('new_card', None) cls.ACTIVE_CUSTOMERS[stripe_customer_id].pop('new_plan', None) return cls.ACTIVE_CUSTOMERS[stripe_customer_id] else: new_customer = cls({ 'default_card': 'card123', 'cards': AttrDict.deep_copy(cls.FAKE_CARD_LIST), 'id': stripe_customer_id, }) new_customer.subscription = FakeSubscription.build( cls.FAKE_SUBSCRIPTION, new_customer) cls.ACTIVE_CUSTOMERS[stripe_customer_id] = new_customer return new_customer
def retrieve(cls, stripe_customer_id): if stripe_customer_id in cls.ACTIVE_CUSTOMERS: cls.ACTIVE_CUSTOMERS[stripe_customer_id].pop("new_card", None) cls.ACTIVE_CUSTOMERS[stripe_customer_id].pop("new_plan", None) return cls.ACTIVE_CUSTOMERS[stripe_customer_id] else: new_customer = cls({ "default_card": "card123", "cards": AttrDict.deep_copy(cls.FAKE_CARD_LIST), "id": stripe_customer_id, }) new_customer.subscription = FakeSubscription.build( cls.FAKE_SUBSCRIPTION, new_customer) cls.ACTIVE_CUSTOMERS[stripe_customer_id] = new_customer return new_customer
def build(cls, data, customer): data = AttrDict.deep_copy(data) data['customer'] = customer return cls(data)