v8.0.0
-
#1206 stripe-python v8 release
This release introducesStripeClient
and a service-based call pattern. This new interface allows you to easily call Stripe APIs and has several benefits over the existing resource-based pattern:- No global config: you can simultaneously use multiple clients with different configuration options (such as API keys)
- No static methods for easier mocking
For full migration instructions, please refer to the v8 migration guide.
"
⚠️ " symbol highlights breaking changes⚠️ Changed⚠️ Request options likeapi_key
,stripe_account
,stripe_version
, andidempotency_key
can no longer be passed in positionally on resource methods. Please pass these in as keyword arguments.
BEFORE
stripe.Customer.create( "sk_test_123", # api key "KG5LxwFBepaKHyUD", # idempotency key "2022-11-15", # stripe version "acct_123", # stripe account )
AFTER
stripe.Customer.create( api_key="sk_test_123", idempotency_key="KG5LxwFBepaKHyUD", stripe_version="2022-11-15", stripe_account="acct_123", )
⚠️ Methods that turn a response stream (Quote.pdf
) now returns a single value of typeStripeResponseStream
instead of a tuple containing(StripeResponseStream, api_key)
.⚠️ Removed public access toAPIRequestor
.APIRequestor
's main use is internal, and we don't have a good understanding of its external use cases. We had to make several breaking changes to its interface as part of this update, so rather than leaving it public we made it private. If you have a use case forAPIRequestor
, please open up a Github issue describing it. We'd rather you rely on something specifically designed for your use case than having to reach into the library's internals.
⚠️ Removed⚠️ Removeapi_version
fromFile.create
parameters. Please usestripe_version
instead.⚠️ Removeutil.read_special_variable()
utility method (importing directly fromstripe.util
is deprecated as of v7.8.0)⚠️ RemoveStripeError.construct_error_object()
. This method was intended for internal stripe-python use only.⚠️ RemoveListObject.empty_list()
. This method was intended for internal stripe-python use only.⚠️ RemoveSearchResultObject.empty_search_result()
. This method was intended for internal stripe-python use only.⚠️ RemoveStripeObject.ReprJSONEncoder
. This class was intended for internal stripe-python use only.⚠️ RemoveStripeObject.api_base
. This property was defunct and returnedNone
.