def add_new_source(self, source_token, stripe_js_response=None):
        """Add new source (for example: a new card) to the customer

        The new source will be automatically set as customer's default payment source.
        Passing stripe_js_response is optional. If set, StripeCustomer.stripe_js_response will be updated.
        """
        customer = self.retrieve_from_stripe()
        customer.source = source_token
        customer.save()
        if stripe_js_response:
            self.stripe_js_response = stripe_js_response
        self._update_from_stripe_object(customer)