From 272189559ff82429347008c7c634b2d6b82b4870 Mon Sep 17 00:00:00 2001 From: "stripe-openapi[bot]" <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Jul 2023 08:27:08 -0700 Subject: [PATCH 1/4] Update generated code for v424 (#993) Co-authored-by: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> --- OPENAPI_VERSION | 2 +- stripe/api_resources/shipping_rate.py | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 0b391be30..2ba492604 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v413 \ No newline at end of file +v424 \ No newline at end of file diff --git a/stripe/api_resources/shipping_rate.py b/stripe/api_resources/shipping_rate.py index c41c4c837..37e10a591 100644 --- a/stripe/api_resources/shipping_rate.py +++ b/stripe/api_resources/shipping_rate.py @@ -13,9 +13,8 @@ class ShippingRate( UpdateableAPIResource, ): """ - Shipping rates describe the price of shipping presented to your customers and can be - applied to [Checkout Sessions](https://stripe.com/docs/payments/checkout/shipping) - and [Orders](https://stripe.com/docs/orders/shipping) to collect shipping costs. + Shipping rates describe the price of shipping presented to your customers and + applied to a purchase. For more information, see [Charge for shipping](https://stripe.com/docs/payments/during-payment/charge-shipping). """ OBJECT_NAME = "shipping_rate" From 4f69f0c9bd138d1f970956c7d8019e70e0c777a4 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Mon, 24 Jul 2023 17:35:17 +0000 Subject: [PATCH 2/4] Update generated code for v428 --- OPENAPI_VERSION | 2 +- stripe/api_resources/tax/__init__.py | 1 + stripe/api_resources/tax/form.py | 45 ++++++++++++++++++++++++++++ stripe/object_classes.py | 1 + 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 stripe/api_resources/tax/form.py diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index da8dd2679..868f1db50 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v426 \ No newline at end of file +v428 \ No newline at end of file diff --git a/stripe/api_resources/tax/__init__.py b/stripe/api_resources/tax/__init__.py index 7039cc4ac..61c185024 100644 --- a/stripe/api_resources/tax/__init__.py +++ b/stripe/api_resources/tax/__init__.py @@ -5,6 +5,7 @@ # flake8: noqa from stripe.api_resources.tax.calculation import Calculation +from stripe.api_resources.tax.form import Form from stripe.api_resources.tax.registration import Registration from stripe.api_resources.tax.settings import Settings from stripe.api_resources.tax.transaction import Transaction diff --git a/stripe/api_resources/tax/form.py b/stripe/api_resources/tax/form.py new file mode 100644 index 000000000..4b4c0958c --- /dev/null +++ b/stripe/api_resources/tax/form.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from __future__ import absolute_import, division, print_function + +from stripe import util +from stripe.api_resources.abstract import ListableAPIResource + + +class Form(ListableAPIResource): + """ + Tax forms are legal documents which are delivered to one or more tax authorities for information reporting purposes. + + Related guide: [US tax reporting for Connect platforms](https://stripe.com/docs/connect/tax-reporting) + """ + + OBJECT_NAME = "tax.form" + + @classmethod + def _cls_pdf( + cls, + id, + api_key=None, + stripe_version=None, + stripe_account=None, + **params + ): + return cls._static_request( + "get", + "/v1/tax/forms/{id}/pdf".format(id=util.sanitize_id(id)), + api_key=api_key, + stripe_version=stripe_version, + stripe_account=stripe_account, + params=params, + ) + + @util.class_method_variant("_cls_pdf") + def pdf(self, idempotency_key=None, **params): + return self._request( + "get", + "/v1/tax/forms/{id}/pdf".format( + id=util.sanitize_id(self.get("id")) + ), + idempotency_key=idempotency_key, + params=params, + ) diff --git a/stripe/object_classes.py b/stripe/object_classes.py index 2c4251a36..d19456957 100644 --- a/stripe/object_classes.py +++ b/stripe/object_classes.py @@ -100,6 +100,7 @@ api_resources.SubscriptionItem.OBJECT_NAME: api_resources.SubscriptionItem, api_resources.SubscriptionSchedule.OBJECT_NAME: api_resources.SubscriptionSchedule, api_resources.tax.Calculation.OBJECT_NAME: api_resources.tax.Calculation, + api_resources.tax.Form.OBJECT_NAME: api_resources.tax.Form, api_resources.tax.Registration.OBJECT_NAME: api_resources.tax.Registration, api_resources.tax.Settings.OBJECT_NAME: api_resources.tax.Settings, api_resources.tax.Transaction.OBJECT_NAME: api_resources.tax.Transaction, From 99180bd047197eb248e48247217509d913d29e1a Mon Sep 17 00:00:00 2001 From: pakrym-stripe <99349468+pakrym-stripe@users.noreply.github.com> Date: Mon, 24 Jul 2023 13:51:06 -0700 Subject: [PATCH 3/4] Enable streaming tests in python (#996) --- tests/conftest.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/conftest.py b/tests/conftest.py index 08002cd8b..f868d72a9 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -76,18 +76,21 @@ def pytest_runtest_setup(item): def setup_stripe(): orig_attrs = { "api_base": stripe.api_base, + "upload_api_base": stripe.upload_api_base, "api_key": stripe.api_key, "client_id": stripe.client_id, "default_http_client": stripe.default_http_client, } http_client = stripe.http_client.new_default_http_client() stripe.api_base = "http://localhost:%s" % MOCK_PORT + stripe.upload_api_base = "http://localhost:%s" % MOCK_PORT stripe.api_key = "sk_test_123" stripe.client_id = "ca_123" stripe.default_http_client = http_client yield http_client.close() stripe.api_base = orig_attrs["api_base"] + stripe.upload_api_base = orig_attrs["upload_api_base"] stripe.api_key = orig_attrs["api_key"] stripe.client_id = orig_attrs["client_id"] stripe.default_http_client = orig_attrs["default_http_client"] From e388e5814e4a4311daac0e5b0adcf536d529ecd8 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 25 Jul 2023 16:09:30 +0000 Subject: [PATCH 4/4] Update generated code for v431 --- OPENAPI_VERSION | 2 +- stripe/api_resources/tax/form.py | 51 +++++++++++++++++++++----------- tests/test_generated_examples.py | 7 +++++ 3 files changed, 42 insertions(+), 18 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 22e9beae5..03b8593a8 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v430 \ No newline at end of file +v431 \ No newline at end of file diff --git a/stripe/api_resources/tax/form.py b/stripe/api_resources/tax/form.py index 4b4c0958c..8464188ca 100644 --- a/stripe/api_resources/tax/form.py +++ b/stripe/api_resources/tax/form.py @@ -2,8 +2,10 @@ # File generated from our OpenAPI spec from __future__ import absolute_import, division, print_function -from stripe import util +import stripe +from stripe import api_requestor, util from stripe.api_resources.abstract import ListableAPIResource +from stripe.six.moves.urllib.parse import quote_plus class Form(ListableAPIResource): @@ -18,28 +20,43 @@ class Form(ListableAPIResource): @classmethod def _cls_pdf( cls, - id, + sid, api_key=None, + idempotency_key=None, stripe_version=None, stripe_account=None, **params ): - return cls._static_request( - "get", - "/v1/tax/forms/{id}/pdf".format(id=util.sanitize_id(id)), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, + url = "%s/%s/%s" % ( + cls.class_url(), + quote_plus(util.utf8(sid)), + "pdf", ) + requestor = api_requestor.APIRequestor( + api_key, + api_base=stripe.upload_api_base, + api_version=stripe_version, + account=stripe_account, + ) + headers = util.populate_headers(idempotency_key) + response, _ = requestor.request_stream("get", url, params, headers) + return response @util.class_method_variant("_cls_pdf") - def pdf(self, idempotency_key=None, **params): - return self._request( - "get", - "/v1/tax/forms/{id}/pdf".format( - id=util.sanitize_id(self.get("id")) - ), - idempotency_key=idempotency_key, - params=params, + def pdf( + self, + api_key=None, + api_version=None, + stripe_version=None, + stripe_account=None, + **params + ): + version = api_version or stripe_version + requestor = api_requestor.APIRequestor( + api_key, + api_base=stripe.upload_api_base, + api_version=version, + account=stripe_account, ) + url = self.instance_url() + "/pdf" + return requestor.request_stream("get", url, params=params) diff --git a/tests/test_generated_examples.py b/tests/test_generated_examples.py index 1dfaf9991..d73267599 100644 --- a/tests/test_generated_examples.py +++ b/tests/test_generated_examples.py @@ -3662,3 +3662,10 @@ def test_quote_pdf(self, request_mock): "get", "/v1/quotes/qt_xxxxxxxxxxxxx/pdf", ) + + def test_tax_form_pdf(self, request_mock): + stripe.tax.Form.pdf("form_xxxxxxxxxxxxx") + request_mock.assert_requested_stream( + "get", + "/v1/tax/forms/form_xxxxxxxxxxxxx/pdf", + )