Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/stripe/api_resources/customer.py: 49%
87 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 APIResourceTestHelpers
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 SearchableAPIResource
11from stripe.api_resources.abstract import UpdateableAPIResource
12from stripe.api_resources.abstract import custom_method
13from stripe.api_resources.abstract import nested_resource_class_methods
14from stripe.api_resources.abstract import test_helpers
17@custom_method("delete_discount", http_verb="delete", http_path="discount")
18@test_helpers
19@custom_method(
20 "create_funding_instructions",
21 http_verb="post",
22 http_path="funding_instructions",
23)
24@custom_method(
25 "list_payment_methods",
26 http_verb="get",
27 http_path="payment_methods",
28)
29@nested_resource_class_methods(
30 "balance_transaction",
31 operations=["create", "retrieve", "update", "list"],
32)
33@nested_resource_class_methods(
34 "source",
35 operations=["create", "retrieve", "update", "delete", "list"],
36)
37@nested_resource_class_methods(
38 "tax_id",
39 operations=["create", "retrieve", "delete", "list"],
40)
41class Customer(
42 CreateableAPIResource,
43 DeletableAPIResource,
44 ListableAPIResource,
45 SearchableAPIResource,
46 UpdateableAPIResource,
47):
48 OBJECT_NAME = "customer"
50 def create_funding_instructions(self, idempotency_key=None, **params):
51 url = "/v1/customers/{customer}/funding_instructions".format(
52 customer=util.sanitize_id(self.get("id"))
53 )
54 headers = util.populate_headers(idempotency_key)
55 resp = self.request("post", url, params, headers)
56 stripe_object = util.convert_to_stripe_object(resp)
57 return stripe_object
59 def list_payment_methods(self, idempotency_key=None, **params):
60 url = "/v1/customers/{customer}/payment_methods".format(
61 customer=util.sanitize_id(self.get("id"))
62 )
63 headers = util.populate_headers(idempotency_key)
64 resp = self.request("get", url, params, headers)
65 stripe_object = util.convert_to_stripe_object(resp)
66 stripe_object._retrieve_params = params
67 return stripe_object
69 @classmethod
70 def _cls_retrieve_payment_method(
71 cls,
72 customer,
73 payment_method,
74 api_key=None,
75 stripe_version=None,
76 stripe_account=None,
77 **params
78 ):
79 requestor = api_requestor.APIRequestor(
80 api_key, api_version=stripe_version, account=stripe_account
81 )
82 url = (
83 "/v1/customers/{customer}/payment_methods/{payment_method}".format(
84 customer=util.sanitize_id(customer),
85 payment_method=util.sanitize_id(payment_method),
86 )
87 )
88 response, api_key = requestor.request("get", url, params)
89 stripe_object = util.convert_to_stripe_object(
90 response, api_key, stripe_version, stripe_account
91 )
92 return stripe_object
94 @util.class_method_variant("_cls_retrieve_payment_method")
95 def retrieve_payment_method(
96 self, payment_method, idempotency_key=None, **params
97 ):
98 url = (
99 "/v1/customers/{customer}/payment_methods/{payment_method}".format(
100 customer=util.sanitize_id(self.get("id")),
101 payment_method=util.sanitize_id(payment_method),
102 )
103 )
104 headers = util.populate_headers(idempotency_key)
105 resp = self.request("get", url, params, headers)
106 stripe_object = util.convert_to_stripe_object(resp)
107 return stripe_object
109 @classmethod
110 def search(cls, *args, **kwargs):
111 return cls._search(search_url="/v1/customers/search", *args, **kwargs)
113 @classmethod
114 def search_auto_paging_iter(cls, *args, **kwargs):
115 return cls.search(*args, **kwargs).auto_paging_iter()
117 def delete_discount(self, **params):
118 requestor = api_requestor.APIRequestor(
119 self.api_key,
120 api_version=self.stripe_version,
121 account=self.stripe_account,
122 )
123 url = self.instance_url() + "/discount"
124 _, api_key = requestor.request("delete", url, params)
125 self.refresh_from({"discount": None}, api_key, True)
127 @classmethod
128 def retrieve_cash_balance(
129 cls,
130 customer,
131 nested_id=None,
132 api_key=None,
133 stripe_version=None,
134 stripe_account=None,
135 **params
136 ):
137 # The nested_id parameter is required for backwards compatibility purposes and is ignored.
138 requestor = api_requestor.APIRequestor(
139 api_key, api_version=stripe_version, account=stripe_account
140 )
141 url = "/v1/customers/{customer}/cash_balance".format(
142 customer=util.sanitize_id(customer)
143 )
144 response, api_key = requestor.request("get", url, params)
145 stripe_object = util.convert_to_stripe_object(
146 response, api_key, stripe_version, stripe_account
147 )
148 return stripe_object
150 @classmethod
151 def modify_cash_balance(
152 cls,
153 customer,
154 nested_id=None,
155 api_key=None,
156 stripe_version=None,
157 stripe_account=None,
158 **params
159 ):
160 # The nested_id parameter is required for backwards compatibility purposes and is ignored.
161 requestor = api_requestor.APIRequestor(
162 api_key, api_version=stripe_version, account=stripe_account
163 )
164 url = "/v1/customers/{customer}/cash_balance".format(
165 customer=util.sanitize_id(customer)
166 )
167 response, api_key = requestor.request("post", url, params)
168 stripe_object = util.convert_to_stripe_object(
169 response, api_key, stripe_version, stripe_account
170 )
171 return stripe_object
173 class TestHelpers(APIResourceTestHelpers):
174 @classmethod
175 def _cls_fund_cash_balance(
176 cls,
177 customer,
178 api_key=None,
179 stripe_version=None,
180 stripe_account=None,
181 **params
182 ):
183 requestor = api_requestor.APIRequestor(
184 api_key, api_version=stripe_version, account=stripe_account
185 )
186 url = "/v1/test_helpers/customers/{customer}/fund_cash_balance".format(
187 customer=util.sanitize_id(customer)
188 )
189 response, api_key = requestor.request("post", url, params)
190 stripe_object = util.convert_to_stripe_object(
191 response, api_key, stripe_version, stripe_account
192 )
193 return stripe_object
195 @util.class_method_variant("_cls_fund_cash_balance")
196 def fund_cash_balance(self, idempotency_key=None, **params):
197 url = "/v1/test_helpers/customers/{customer}/fund_cash_balance".format(
198 customer=util.sanitize_id(self.get("id"))
199 )
200 headers = util.populate_headers(idempotency_key)
201 self.resource.refresh_from(
202 self.resource.request("post", url, params, headers)
203 )
204 return self.resource