Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/stripe/api_resources/account.py: 47%
60 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
4import stripe
5from stripe import oauth, six
6from stripe import util
7from stripe.api_resources.abstract import CreateableAPIResource
8from stripe.api_resources.abstract import DeletableAPIResource
9from stripe.api_resources.abstract import ListableAPIResource
10from stripe.api_resources.abstract import UpdateableAPIResource
11from stripe.api_resources.abstract import custom_method
12from stripe.api_resources.abstract import nested_resource_class_methods
13from stripe.six.moves.urllib.parse import quote_plus
16@custom_method("persons", http_verb="get")
17@custom_method("reject", http_verb="post")
18@nested_resource_class_methods(
19 "capability",
20 operations=["retrieve", "update", "list"],
21 resource_plural="capabilities",
22)
23@nested_resource_class_methods(
24 "external_account",
25 operations=["create", "retrieve", "update", "delete", "list"],
26)
27@nested_resource_class_methods("login_link", operations=["create"])
28@nested_resource_class_methods(
29 "person",
30 operations=["create", "retrieve", "update", "delete", "list"],
31)
32class Account(
33 CreateableAPIResource,
34 DeletableAPIResource,
35 ListableAPIResource,
36 UpdateableAPIResource,
37):
38 OBJECT_NAME = "account"
40 def persons(self, idempotency_key=None, **params):
41 url = "/v1/accounts/{account}/persons".format(
42 account=util.sanitize_id(self.get("id"))
43 )
44 headers = util.populate_headers(idempotency_key)
45 resp = self.request("get", url, params, headers)
46 stripe_object = util.convert_to_stripe_object(resp)
47 stripe_object._retrieve_params = params
48 return stripe_object
50 def reject(self, idempotency_key=None, **params):
51 url = "/v1/accounts/{account}/reject".format(
52 account=util.sanitize_id(self.get("id"))
53 )
54 headers = util.populate_headers(idempotency_key)
55 self.refresh_from(self.request("post", url, params, headers))
56 return self
58 # We are not adding a helper for capabilities here as the Account object already has a
59 # capabilities property which is a hash and not the sub-list of capabilities.
61 @classmethod
62 def retrieve(cls, id=None, api_key=None, **params):
63 instance = cls(id, api_key, **params)
64 instance.refresh()
65 return instance
67 @classmethod
68 def modify(cls, id=None, **params):
69 url = cls._build_instance_url(id)
70 return cls._static_request("post", url, **params)
72 @classmethod
73 def _build_instance_url(cls, sid):
74 if not sid:
75 return "/v1/account"
76 sid = util.utf8(sid)
77 base = cls.class_url()
78 extn = quote_plus(sid)
79 return "%s/%s" % (base, extn)
81 def instance_url(self):
82 return self._build_instance_url(self.get("id"))
84 def deauthorize(self, **params):
85 params["stripe_user_id"] = self.id
86 return oauth.OAuth.deauthorize(**params)
88 def serialize(self, previous):
89 params = super(Account, self).serialize(previous)
90 previous = previous or self._previous or {}
92 for k, v in six.iteritems(self):
93 if (
94 k == "individual"
95 and isinstance(v, stripe.api_resources.Person)
96 and k not in params
97 ):
98 params[k] = v.serialize(previous.get(k, None))
100 return params