djaodjin / djaodjin-saas

Django application for software-as-service and subscription businesses
Other
564 stars 124 forks source link

AttributeError raised during payment #15

Closed rene-armida closed 9 years ago

rene-armida commented 9 years ago

When attempting to submit a payment while registering a test account, I received this error (snipped from the Django log output):

[03/Apr/2015 10:46:29] "GET /cowork/billing/cowork_user6/cart/ HTTP/1.1" 200 41804
127.0.0.1 cowork_user6 INFO [03/Apr/2015:10:47:41 +0000] [checkout] save subscription of cowork_user6 to open-space
127.0.0.1 cowork_user6 INFO [03/Apr/2015:10:47:43 +0000] Updated card information for cowork_user6 on processor (cus_5zXzZ56hXkd7gT)
127.0.0.1 cowork_user6 ERROR [03/Apr/2015:10:47:44 +0000] InvalidRequestError for charge of 17999 cents to cowork_user6
- - ERROR [03/Apr/2015:10:47:44 +0000] Internal Server Error: /cowork/billing/cowork_user6/cart/
Traceback (most recent call last):
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/signup/decorators.py", line 116, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/saas/decorators.py", line 389, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/marmida/develop/djaodjin/reps/djaodjin/djaodjin/decorators.py", line 33, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/saas/views/billing.py", line 389, in dispatch
    return super(CartBaseView, self).dispatch(*args, **kwargs)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch
    return handler(request, *args, **kwargs)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/django/views/generic/edit.py", line 173, in post
    return self.form_valid(form)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/saas/views/billing.py", line 255, in form_valid
    return self.form_invalid(form)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/django/views/generic/edit.py", line 86, in form_invalid
    return self.render_to_response(self.get_context_data(form=form))
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/saas/views/billing.py", line 614, in get_context_data
    context = super(CartView, self).get_context_data(**kwargs)
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/saas/views/billing.py", line 116, in get_context_data
    context.update(PROCESSOR_BACKEND.retrieve_card(self.customer))
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/saas/backends/stripe_processor.py", line 204, in retrieve_card
    if p_customer.default_card:
  File "/home/marmida/develop/djaodjin/lib/python2.7/site-packages/stripe/resource.py", line 70, in __getattr__
    raise AttributeError(*err.args)
AttributeError: default_card
[03/Apr/2015 10:47:45] "POST /cowork/billing/cowork_user6/cart/ HTTP/1.1" 500 217777

This occurs both with Stripe 1.21.0 and 1.22.1, the latest.

rene-armida commented 9 years ago

This works when the API version is changed such that Stripe sends this field in the response.