dj-stripe: No such transfer po_*

Describe the bug

Every months first day, on web hook call I receive this exception:

ERROR 2023-11-01 02:21:38,929 log 2107788 140146881369984 Internal Server Error: /_stripe/webhook/***/
Traceback (most recent call last):
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/sentry_sdk/integrations/django/views.py", line 85, in sentry_wrapped_callback
    return callback(request, *args, **kwargs)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/django/utils/decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
    return view_func(*args, **kwargs)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/django/views/generic/base.py", line 143, in dispatch
    return handler(request, *args, **kwargs)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/views.py", line 47, in post
    trigger = WebhookEventTrigger.from_request(
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/models/webhooks.py", line 268, in from_request
    raise e
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/models/webhooks.py", line 249, in from_request
    obj.process(save=False, api_key=api_key)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/models/webhooks.py", line 363, in process
    self.event = Event.process(self.json_body, api_key=api_key)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/models/core.py", line 1654, in process
    ret.invoke_webhook_handlers()
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/models/core.py", line 1666, in invoke_webhook_handlers
    webhooks.call_handlers(event=self)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/webhooks.py", line 98, in call_handlers
    handler_func(event=event)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/event_handlers.py", line 353, in other_object_webhook_handler
    _handle_crud_like_event(target_cls=target_cls, event=event)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/event_handlers.py", line 448, in _handle_crud_like_event
    data = target_cls(**kwargs).api_retrieve(
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/djstripe/models/base.py", line 202, in api_retrieve
    return self.stripe_class.retrieve(
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/stripe/api_resources/abstract/api_resource.py", line 12, in retrieve
    instance.refresh()
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/stripe/api_resources/abstract/api_resource.py", line 16, in refresh
    return self._request_and_refresh("get", self.instance_url())
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/stripe/api_resources/abstract/api_resource.py", line 90, in _request_and_refresh
    obj = StripeObject._request(
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/stripe/stripe_object.py", line 282, in _request
    response, api_key = requestor.request(method_, url_, params, headers)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/stripe/api_requestor.py", line 122, in request
    resp = self.interpret_response(rbody, rcode, rheaders)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/stripe/api_requestor.py", line 399, in interpret_response
    self.handle_error_response(rbody, rcode, resp.data, rheaders)
  File "/home/darg/darg/.ve/lib/python3.8/site-packages/stripe/api_requestor.py", line 159, in handle_error_response
    raise err
stripe.error.InvalidRequestError: Request req_Ah9ioeS1Odqn4Z: No such transfer: 'po_***'

Software versions

  • Dj-Stripe version: 2.8.2
  • Python version: 3.11
  • Django version: 4.2
  • Stripe API version: 2017
  • Database type and version: psql v11

About this issue

  • Original URL
  • State: closed
  • Created 8 months ago
  • Comments: 18

Most upvoted comments

now I did after finding api version was empty.

In [70]: whep = WebhookEndpoint.objects.get(pk=2)

In [71]: whep.api_version = '2020-08-27'

In [72]: whep.save()

But also found that inside Stripe each WH has an api version assigned. this is set to default 2017* in my case. so now my local model is not aligned with stripe đŸ˜• . trying to adjust to 2020* api version in Stripe is not possible, I can only select default or lastest version - will find out what it does now on Dec, 1st…

THX for instantly creating a PR to prevent similar in the future and THX for the great support. was a tricky issue, I assume…