'Pass in copy of POST data to avoid read only QueryDicts on form
This is used to be able to reset some important credit card fields if
card validation fails. In this case, the Stripe token was valid, but the
card was rejected during the charge or subscription instantiation.'

def get_form(self, data=None, files=None, **kwargs):

    if (self.request.method == 'POST'):
        data = self.request.POST.copy()
    cls = self.get_form_class()
    return cls(data=data, files=files, **kwargs)
