Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/stripe/api_resources/card.py: 40%
37 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.abstract import DeletableAPIResource
7from stripe.api_resources.abstract import UpdateableAPIResource
8from stripe.api_resources.account import Account
9from stripe.api_resources.customer import Customer
10from stripe.api_resources.recipient import Recipient
11from stripe.six.moves.urllib.parse import quote_plus
14class Card(DeletableAPIResource, UpdateableAPIResource):
15 OBJECT_NAME = "card"
17 def instance_url(self):
18 token = util.utf8(self.id)
19 extn = quote_plus(token)
20 if hasattr(self, "customer"):
21 customer = util.utf8(self.customer)
23 base = Customer.class_url()
24 owner_extn = quote_plus(customer)
25 class_base = "sources"
27 elif hasattr(self, "recipient"):
28 recipient = util.utf8(self.recipient)
30 base = Recipient.class_url()
31 owner_extn = quote_plus(recipient)
32 class_base = "cards"
34 elif hasattr(self, "account"):
35 account = util.utf8(self.account)
37 base = Account.class_url()
38 owner_extn = quote_plus(account)
39 class_base = "external_accounts"
41 else:
42 raise error.InvalidRequestError(
43 "Could not determine whether card_id %s is "
44 "attached to a customer, recipient, or "
45 "account." % token,
46 "id",
47 )
49 return "%s/%s/%s/%s" % (base, owner_extn, class_base, extn)
51 @classmethod
52 def modify(cls, sid, **params):
53 raise NotImplementedError(
54 "Can't modify a card without a customer, recipient or account "
55 "ID. Call save on customer.sources.retrieve('card_id'), "
56 "recipient.cards.retrieve('card_id'), or "
57 "account.external_accounts.retrieve('card_id') instead."
58 )
60 @classmethod
61 def retrieve(
62 cls,
63 id,
64 api_key=None,
65 stripe_version=None,
66 stripe_account=None,
67 **params
68 ):
69 raise NotImplementedError(
70 "Can't retrieve a card without a customer, recipient or account "
71 "ID. Use customer.sources.retrieve('card_id'), "
72 "recipient.cards.retrieve('card_id'), or "
73 "account.external_accounts.retrieve('card_id') instead."
74 )