Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/stripe/api_resources/invoice.py: 53%
53 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1# File generated from our OpenAPI spec
2from __future__ import absolute_import, division, print_function
4from stripe import api_requestor
5from stripe import util
6from stripe.api_resources.abstract import CreateableAPIResource
7from stripe.api_resources.abstract import DeletableAPIResource
8from stripe.api_resources.abstract import ListableAPIResource
9from stripe.api_resources.abstract import SearchableAPIResource
10from stripe.api_resources.abstract import UpdateableAPIResource
11from stripe.api_resources.abstract import custom_method
14@custom_method("finalize_invoice", http_verb="post", http_path="finalize")
15@custom_method("mark_uncollectible", http_verb="post")
16@custom_method("pay", http_verb="post")
17@custom_method("send_invoice", http_verb="post", http_path="send")
18@custom_method("void_invoice", http_verb="post", http_path="void")
19class Invoice(
20 CreateableAPIResource,
21 DeletableAPIResource,
22 ListableAPIResource,
23 SearchableAPIResource,
24 UpdateableAPIResource,
25):
26 OBJECT_NAME = "invoice"
28 def finalize_invoice(self, idempotency_key=None, **params):
29 url = "/v1/invoices/{invoice}/finalize".format(
30 invoice=util.sanitize_id(self.get("id"))
31 )
32 headers = util.populate_headers(idempotency_key)
33 self.refresh_from(self.request("post", url, params, headers))
34 return self
36 def mark_uncollectible(self, idempotency_key=None, **params):
37 url = "/v1/invoices/{invoice}/mark_uncollectible".format(
38 invoice=util.sanitize_id(self.get("id"))
39 )
40 headers = util.populate_headers(idempotency_key)
41 self.refresh_from(self.request("post", url, params, headers))
42 return self
44 def pay(self, idempotency_key=None, **params):
45 url = "/v1/invoices/{invoice}/pay".format(
46 invoice=util.sanitize_id(self.get("id"))
47 )
48 headers = util.populate_headers(idempotency_key)
49 self.refresh_from(self.request("post", url, params, headers))
50 return self
52 def send_invoice(self, idempotency_key=None, **params):
53 url = "/v1/invoices/{invoice}/send".format(
54 invoice=util.sanitize_id(self.get("id"))
55 )
56 headers = util.populate_headers(idempotency_key)
57 self.refresh_from(self.request("post", url, params, headers))
58 return self
60 def void_invoice(self, idempotency_key=None, **params):
61 url = "/v1/invoices/{invoice}/void".format(
62 invoice=util.sanitize_id(self.get("id"))
63 )
64 headers = util.populate_headers(idempotency_key)
65 self.refresh_from(self.request("post", url, params, headers))
66 return self
68 @classmethod
69 def search(cls, *args, **kwargs):
70 return cls._search(search_url="/v1/invoices/search", *args, **kwargs)
72 @classmethod
73 def search_auto_paging_iter(cls, *args, **kwargs):
74 return cls.search(*args, **kwargs).auto_paging_iter()
76 @classmethod
77 def upcoming(
78 cls, api_key=None, stripe_version=None, stripe_account=None, **params
79 ):
80 requestor = api_requestor.APIRequestor(
81 api_key, api_version=stripe_version, account=stripe_account
82 )
83 url = cls.class_url() + "/upcoming"
84 response, api_key = requestor.request("get", url, params)
85 return util.convert_to_stripe_object(
86 response, api_key, stripe_version, stripe_account
87 )