import json
from q2_sdk.models.recursive_encoder import RecursiveEncoder
from q2_sdk.models.demographic import Address
[docs]
class CardType:
DEBIT = "Debit"
CREDIT = "Credit"
[docs]
class CardVendor:
MASTERCARD = "MasterCard"
VISA = "Visa"
AMEX = "American Express"
[docs]
class Card:
"""Q2 Standard Class for passing Cards around (Credit or Debit)"""
def __init__(
self,
account_number: str,
card_type: CardType,
vendor: CardVendor = None,
limit: int = None,
description="",
expiration_date="",
effective_date="",
cvv="",
cancelled=False,
account_holder_name="",
address: Address = None,
ssn="",
):
self.account_number = account_number
self.card_type = card_type
self.vendor = vendor
self.limit = limit
self.description = description
self.expiration_date = expiration_date
self.effective_date = effective_date
self.cvv = cvv
self.cancelled = cancelled
self.account_holder_name = account_holder_name
self.address = address
self.ssn = ssn
def __eq__(self, other):
return vars(self) == vars(other)
def __repr__(self):
return str(vars(self))
[docs]
def to_json(self):
return json.loads(RecursiveEncoder().encode(self))
def __json__(self):
return vars(self)