New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
For webhooks, webhook.request
is both a method and a data attribute
#825
Comments
@AaronBeaudoin thanks for the detailed report! This feels similar to how |
Faced the same issue on the latest build |
☝️ Same issue trying to access Subscription.items For now I'll use something like: def get_subscription(subscription_id: str) -> stripe.Subscription:
try:
return stripe.Subscription.retrieve(subscription_id)
except StripeError as e:
print(e.error)
print(e.json_body)
print(e.user_message)
raise ValueError(f"Failed to retrieve subscription {subscription_id}")
subscription = get_subscription(subscription_id)
subscription.to_dict()["items"] # since subscription.items is dict's built-in method |
Let me take a crack at this issue. |
Describe the bug
Incoming webhook events have a
request
data attribute, but theevent
instance already has arequest
bound method, so we end up with a bit of a conflict. The data attribute can still be accessed withevent["request"]
but it feels weird to need to do that for just that one data attribute and then use dot syntax for everything else.event.request
andevent["request"]
both returning different things is rather confusing, and it took me quite a while to figure out what was going on.To Reproduce
event.request
.event["request"]
.I would probably consider this less of a "bug" and more of an oversight.
Expected behavior
The
event.request
method should probably be something likeevent._request
so it doesn't conflict with the incoming data. That way I can callevent.request
and actually get the attribute from the body of the webhook as expected.Code snippets
No response
OS
macOS
Language version
Python 3.9.10
Library version
stripe-python v2.76.0
API version
2020-08-27
Additional context
No response
The text was updated successfully, but these errors were encountered: