Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/stripe/api_resources/source.py: 53%
26 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 error
5from stripe import util
6from stripe.api_resources import Customer
7from stripe.api_resources.abstract import CreateableAPIResource
8from stripe.api_resources.abstract import UpdateableAPIResource
9from stripe.api_resources.abstract import VerifyMixin
10from stripe.api_resources.abstract import nested_resource_class_methods
11from stripe.six.moves.urllib.parse import quote_plus
14@nested_resource_class_methods("source_transaction", operations=["list"])
15class Source(CreateableAPIResource, UpdateableAPIResource, VerifyMixin):
16 OBJECT_NAME = "source"
18 def detach(self, idempotency_key=None, **params):
19 token = util.utf8(self.id)
21 if hasattr(self, "customer") and self.customer:
22 extn = quote_plus(token)
23 customer = util.utf8(self.customer)
24 base = Customer.class_url()
25 owner_extn = quote_plus(customer)
26 url = "%s/%s/sources/%s" % (base, owner_extn, extn)
27 headers = util.populate_headers(idempotency_key)
29 self.refresh_from(self.request("delete", url, params, headers))
30 return self
32 else:
33 raise error.InvalidRequestError(
34 "Source %s does not appear to be currently attached "
35 "to a customer object." % token,
36 "id",
37 )
39 def source_transactions(self, **params):
40 """source_transactions is deprecated, use Source.list_source_transactions instead."""
41 return self.request(
42 "get", self.instance_url() + "/source_transactions", params
43 )