[spartacus] cannot start payment for new user (BuyerNotConfigured)

RESOLVED WORKSFORME

Status

Marketplace
Payments/Refunds
P2
normal
RESOLVED WORKSFORME
3 years ago
3 years ago

People

(Reporter: kumar, Unassigned)

Tracking

Avenir
x86
Mac OS X
Points:
---

Details

(Whiteboard: [qa-])

For some strange reason I only see this error locally. My STR:

- open local packaged Marketplace
- search :paid
- purchase an app
- log in as a new user

I see a BuyerNotConfigured exception. It looks like the buyer is typically created after PIN entry so I'm not sure how this even works on payments-alt :/ It seems to be starting the transaction before PIN entry. Maybe we need to defer the start-transaction request?

Full tb:

Traceback (most recent call last):
  File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
    self.result = application(self.environ, self.start_response)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 72, in __call__
    return self.application(environ, start_response)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 255, in __call__
    response = self.get_response(request)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/django/core/handlers/base.py", line 176, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/django/core/handlers/base.py", line 113, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/rest_framework/viewsets.py", line 78, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 77, in wrapped_view
    return view_func(*args, **kwargs)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/rest_framework/views.py", line 399, in dispatch
    response = self.handle_exception(exc)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/rest_framework/views.py", line 396, in dispatch
    response = handler(request, *args, **kwargs)
  File "/Users/kumar/dev/webpay/webpay/api/api.py", line 114, in create
    res = configure_transaction(request)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/django/views/decorators/http.py", line 41, in inner
    return func(request, *args, **kwargs)
  File "/Users/kumar/dev/webpay/webpay/base/decorators.py", line 11, in wrapper
    response = func(*args, **kw)
  File "/Users/kumar/dev/webpay/webpay/pay/views.py", line 146, in configure_transaction
    if not tasks.configure_transaction(request, mcc=mcc, mnc=mnc):
  File "/Users/kumar/dev/webpay/webpay/pay/tasks.py", line 99, in configure_transaction
    [p.name for p in providers])
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/celery/app/task.py", line 358, in delay
    return self.apply_async(args, kwargs)
  File "/Users/kumar/.virtualenvs/webpay/src/nuggets/celeryutils.py", line 22, in apply_async
    return super(Task, self).apply_async(args, kwargs, **options)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/celery/app/task.py", line 462, in apply_async
    return self.apply(args, kwargs, task_id=task_id, **options)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/celery/app/task.py", line 634, in apply
    request=request, propagate=throw)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/celery/task/trace.py", line 326, in eager_trace_task
    uuid, args, kwargs, request)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/celery/task/trace.py", line 228, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/Users/kumar/.virtualenvs/webpay/src/nuggets/celeryutils.py", line 35, in wrapped
    return fun(*args, **kw)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/multidb/pinning.py", line 46, in decorator
    return func(*args, **kw)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/multidb/pinning.py", line 46, in decorator
    return func(*args, **kw)
  File "/Users/kumar/.virtualenvs/webpay/lib/python2.7/site-packages/django/db/transaction.py", line 223, in inner
    return func(*args, **kwargs)
  File "/Users/kumar/dev/webpay/webpay/pay/tasks.py", line 261, in start_pay
    mnc=network.get('mnc')
  File "/Users/kumar/dev/webpay/lib/solitude/api.py", line 270, in start_transaction
    .format(u=user_uuid, pr=self.provider.name))
BuyerNotConfigured: reference: Buyer with uuid fireplace.loc:e7c473a5984f4b6cfe8d93acf405718079496a2887702e85b8bfbd10be1d61a3 does not exist



pertinent logs:

E/GeckoConsole(  301): Content JS LOG at http://fireplace.loc:7777/js/lib/auth.js:58 in verifyUser/<: [auth] Verify success
E/GeckoConsole(  301): Content JS LOG at http://fireplace.loc:7777/js/views/page.js:57 in PageView<.handleLoginStateChange: [view][page] logged_in state changed to true
E/GeckoConsole(  301): Content JS LOG at http://fireplace.loc:7777/js/models/transaction.js:61 in TransactionModel<.getNetworkCodes: [model][transaction] Using B2G 1.4+ mcc/mnc lookup
E/GeckoConsole(  301): Content JS LOG at http://fireplace.loc:7777/js/views/page.js:132 in PageView<.setUpPayment/<: [view][page] 500
E/GeckoConsole(  301): Content JS LOG at http://fireplace.loc:7777/js/views/page.js:133 in PageView<.setUpPayment/<: [view][page] error
E/GeckoConsole(  301): Content JS LOG at http://fireplace.loc:7777/js/views/error.js:66 in ErrorView<.render: [view][error] {"errorCode":"TRANS_CONFIG_FAILED","heading":"Error","msg":"An unexpected error occurred.","showCancel":true,"showCta":false}
Blocks: 837289
Whiteboard: [qa-]
As a quick fix, can we just defer start-transaction until after the PIN has been entered/created ? That would at least get things working even though it might result in slower payments.

Updated

3 years ago
Priority: -- → P2
Is this still a problem (even locally) ? If so do we think it's a blocker - presumably it's not reproducible on stage. 

If the order of calls is wrong then we should investigate this isn't something that's going to be a problem down the road.

Which device was this?
Flags: needinfo?(kumar.mcmillan)
I can't reproduce it anymore. I think we either fixed this (I have a vague memory of some change) or this tb was obscuring an earlier tb.
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Flags: needinfo?(kumar.mcmillan)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.