Skip to content
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

API Updates for beta branch #906

Merged
merged 8 commits into from Dec 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
@@ -1 +1 @@
v212
v214
2 changes: 2 additions & 0 deletions stripe/api_resources/__init__.py
Expand Up @@ -84,9 +84,11 @@
from stripe.api_resources.subscription import Subscription
from stripe.api_resources.subscription_item import SubscriptionItem
from stripe.api_resources.subscription_schedule import SubscriptionSchedule
from stripe.api_resources.tax_calculation import TaxCalculation
from stripe.api_resources.tax_code import TaxCode
from stripe.api_resources.tax_id import TaxId
from stripe.api_resources.tax_rate import TaxRate
from stripe.api_resources.tax_transaction import TaxTransaction
from stripe.api_resources.token import Token
from stripe.api_resources.topup import Topup
from stripe.api_resources.transfer import Transfer
Expand Down
182 changes: 182 additions & 0 deletions stripe/api_resources/quote.py
Expand Up @@ -77,6 +77,35 @@ def cancel(self, idempotency_key=None, **params):
params=params,
)

@classmethod
def _cls_draft_quote(
cls,
quote,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
return cls._static_request(
"post",
"/v1/quotes/{quote}/draft".format(quote=util.sanitize_id(quote)),
api_key=api_key,
stripe_version=stripe_version,
stripe_account=stripe_account,
params=params,
)

@util.class_method_variant("_cls_draft_quote")
def draft_quote(self, idempotency_key=None, **params):
return self._request(
"post",
"/v1/quotes/{quote}/draft".format(
quote=util.sanitize_id(self.get("id"))
),
idempotency_key=idempotency_key,
params=params,
)

@classmethod
def _cls_finalize_quote(
cls,
Expand Down Expand Up @@ -170,6 +199,159 @@ def list_line_items(self, idempotency_key=None, **params):
params=params,
)

@classmethod
def _cls_list_lines(
cls,
quote,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
return cls._static_request(
"get",
"/v1/quotes/{quote}/lines".format(quote=util.sanitize_id(quote)),
api_key=api_key,
stripe_version=stripe_version,
stripe_account=stripe_account,
params=params,
)

@util.class_method_variant("_cls_list_lines")
def list_lines(self, idempotency_key=None, **params):
return self._request(
"get",
"/v1/quotes/{quote}/lines".format(
quote=util.sanitize_id(self.get("id"))
),
idempotency_key=idempotency_key,
params=params,
)

@classmethod
def _cls_preview_invoice_lines(
cls,
quote,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
return cls._static_request(
"get",
"/v1/quotes/{quote}/preview_invoice_lines".format(
quote=util.sanitize_id(quote)
),
api_key=api_key,
stripe_version=stripe_version,
stripe_account=stripe_account,
params=params,
)

@util.class_method_variant("_cls_preview_invoice_lines")
def preview_invoice_lines(self, idempotency_key=None, **params):
return self._request(
"get",
"/v1/quotes/{quote}/preview_invoice_lines".format(
quote=util.sanitize_id(self.get("id"))
),
idempotency_key=idempotency_key,
params=params,
)

@classmethod
def _cls_preview_invoices(
cls,
quote,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
return cls._static_request(
"get",
"/v1/quotes/{quote}/preview_invoices".format(
quote=util.sanitize_id(quote)
),
api_key=api_key,
stripe_version=stripe_version,
stripe_account=stripe_account,
params=params,
)

@util.class_method_variant("_cls_preview_invoices")
def preview_invoices(self, idempotency_key=None, **params):
return self._request(
"get",
"/v1/quotes/{quote}/preview_invoices".format(
quote=util.sanitize_id(self.get("id"))
),
idempotency_key=idempotency_key,
params=params,
)

@classmethod
def _cls_preview_subscription_schedules(
cls,
quote,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
return cls._static_request(
"get",
"/v1/quotes/{quote}/preview_subscription_schedules".format(
quote=util.sanitize_id(quote)
),
api_key=api_key,
stripe_version=stripe_version,
stripe_account=stripe_account,
params=params,
)

@util.class_method_variant("_cls_preview_subscription_schedules")
def preview_subscription_schedules(self, idempotency_key=None, **params):
return self._request(
"get",
"/v1/quotes/{quote}/preview_subscription_schedules".format(
quote=util.sanitize_id(self.get("id"))
),
idempotency_key=idempotency_key,
params=params,
)

@classmethod
def _cls_reestimate(
cls,
quote,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
return cls._static_request(
"post",
"/v1/quotes/{quote}/reestimate".format(
quote=util.sanitize_id(quote)
),
api_key=api_key,
stripe_version=stripe_version,
stripe_account=stripe_account,
params=params,
)

@util.class_method_variant("_cls_reestimate")
def reestimate(self, idempotency_key=None, **params):
return self._request(
"post",
"/v1/quotes/{quote}/reestimate".format(
quote=util.sanitize_id(self.get("id"))
),
idempotency_key=idempotency_key,
params=params,
)

@classmethod
def _cls_pdf(
cls,
Expand Down
45 changes: 45 additions & 0 deletions stripe/api_resources/tax_calculation.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 CreateableAPIResource


class TaxCalculation(CreateableAPIResource):
"""
A Tax `Calculation` allows you to calculate the tax to collect from your customer.
"""

OBJECT_NAME = "tax.calculation"

@classmethod
def _cls_list_line_items(
cls,
calculation,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
return cls._static_request(
"get",
"/v1/tax/calculations/{calculation}/line_items".format(
calculation=util.sanitize_id(calculation)
),
api_key=api_key,
stripe_version=stripe_version,
stripe_account=stripe_account,
params=params,
)

@util.class_method_variant("_cls_list_line_items")
def list_line_items(self, idempotency_key=None, **params):
return self._request(
"get",
"/v1/tax/calculations/{calculation}/line_items".format(
calculation=util.sanitize_id(self.get("id"))
),
idempotency_key=idempotency_key,
params=params,
)
26 changes: 26 additions & 0 deletions stripe/api_resources/tax_transaction.py
@@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe.api_resources.abstract import CreateableAPIResource


class TaxTransaction(CreateableAPIResource):
"""
A Tax `Transaction` records the tax collected from or refunded to your customer.
"""

OBJECT_NAME = "tax.transaction"

@classmethod
def create_reversal(
cls, api_key=None, stripe_version=None, stripe_account=None, **params
):
return cls._static_request(
"post",
"/v1/tax/transactions/create_reversal",
api_key=api_key,
stripe_version=stripe_version,
stripe_account=stripe_account,
params=params,
)
2 changes: 2 additions & 0 deletions stripe/object_classes.py
Expand Up @@ -93,9 +93,11 @@
api_resources.Subscription.OBJECT_NAME: api_resources.Subscription,
api_resources.SubscriptionItem.OBJECT_NAME: api_resources.SubscriptionItem,
api_resources.SubscriptionSchedule.OBJECT_NAME: api_resources.SubscriptionSchedule,
api_resources.TaxCalculation.OBJECT_NAME: api_resources.TaxCalculation,
api_resources.TaxCode.OBJECT_NAME: api_resources.TaxCode,
api_resources.TaxId.OBJECT_NAME: api_resources.TaxId,
api_resources.TaxRate.OBJECT_NAME: api_resources.TaxRate,
api_resources.TaxTransaction.OBJECT_NAME: api_resources.TaxTransaction,
api_resources.terminal.Configuration.OBJECT_NAME: api_resources.terminal.Configuration,
api_resources.terminal.ConnectionToken.OBJECT_NAME: api_resources.terminal.ConnectionToken,
api_resources.terminal.Location.OBJECT_NAME: api_resources.terminal.Location,
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Expand Up @@ -46,7 +46,7 @@ commands = pytest --cov {posargs:-n auto} --ignore stripe
# by passing the following flags:
# LDFLAGS="-L$(brew --prefix openssl@1.1)/lib"
# CFLAGS="-I$(brew --prefix openssl@1.1)/include"
passenv = LDFLAGS CFLAGS
passenv = LDFLAGS,CFLAGS

[testenv:fmt]
description = run code formatting using black
Expand Down