Comments (2)
Really really sorry for the delay getting back to you - I usually keep an eye on pull requests and have been heads down on an internal project for the last while.
We've built our API libraries so that they extract information from our API's responses rather than having them hard-coded - if you look, id
and object
are the only hard-coded field names. Ultimately, whether Customer objects have a deleted attribute before they're deleted is an API question, not a bindings one.
I'll take this back to the rest of the team - I think we'd like to rethink how deleted and non-deleted objects are presented over the API, but obviously these kinds of changes can be tricky.
In the mean time, because I don't think this is fundamentally an issue with stripe-python, I'm going to go ahead and close this issue, but I'll make a note to reach out if we change this behavior.
from stripe-python.
Just a +1 @ebroder.
I've been having to use the same getattr(customer, 'deleted', False)
incantation after trying the intuitive customer.deleted
attribute that you would expect to be False
on a live object. The API should serve an identical attribute name for both live and deleted objects that we can boolean compare.
Another irritation is attempting to do customer.delete()
on an already deleted Customer.
I can understanding raising an exception if the customer has already been deleted, but in fact it raises an InvalidRequestError
(which is not programmatically useful necessarily) AND a bogus message ("No such customer"). In fact, the customer does exist -- it has just been already deleted. So raising an exception like ObjectDeletedException
would at least be more useful for try/catch statements -- but I can also see a use case for a wrapper method like stripe.Customer.delete(force=True)
which suppresses any error about the customer having previously been deleted.
p2
from stripe-python.
Related Issues (20)
- Official Python docs out of date HOT 3
- AttributeError: service_agreement HOT 14
- AttributeError: 'CustomerService' object has no attribute 'modify' with StripeClient HOT 1
- Incorrect annotation on `ErrorOrbject.code` HOT 3
- Unable to remove metadata from PaymentIntent.modify HOT 2
- Missing `convert_to_dict` export HOT 3
- Typing issue: `CreateParams` for `StripeObject`s should allow for Optional values HOT 3
- `HTTPXClient` `allow_sync_requests` != `allow_sync_methods` HOT 1
- Quote PDF endpoint does not work HOT 4
- Typing issue: additional_verifications missing in `stripe.Account.CreateParams` HOT 1
- Create a type alias for `stripe.TaxId.type` and others HOT 3
- unknown parameter: stripe_acccount when creating subscription for a connected account HOT 2
- calling stripe.treasury.Transaction.list Method raises Unrecognized request URL exception HOT 1
- OSS-Fuzz Integration HOT 1
- There doesn't seem to be a way of robustly relying on library's types for API responses HOT 2
- Expading list-items doesn't work with retrieve_async HOT 2
- Ability to query for previous API requests HOT 1
- Can't expand invoice from quote HOT 2
- TaxRate.list does not return any TaxRates, even when I can look them up with TaxRate.retrieve HOT 1
- Webhook "Unable to connect" even though it connects successfully
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stripe-python.