Currently the example of how to set the expiry date for a card is shown as:
card.exp_month = '01'
card.exp_year = '2019'
However, the <expdate> tag with the request sent to the API is being incorrectly set, so for the example above the <expdate> would be set to 2020.
The reason for this is the short_code property against the CreditCardData class:
@property
def short_expiry(self):
'''
The card's expiration date in `MMYY` format.
'''
month = str(self.exp_month).zfill(2)
year = str(self.exp_year).zfill(4)[:2]
return '{}{}'.format(month, year)
The year assignment selects the first 2 digits of the year not the last 2, it needs to be:
year = str(self.exp_year).zfill(4)[2:]