Add model for failed invoices -- FailedInvoice

This commit is contained in:
PCoder 2019-06-12 07:29:49 +02:00
commit 68ff2c8520

View file

@ -1,11 +1,11 @@
import json import json
import logging import logging
import os import os
import pytz from datetime import datetime
import pytz
from Crypto.PublicKey import RSA from Crypto.PublicKey import RSA
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from datetime import datetime
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
from django.utils.functional import cached_property from django.utils.functional import cached_property
@ -718,3 +718,29 @@ class UserCardDetail(AssignPermissionsMixin, models.Model):
return ucd return ucd
except UserCardDetail.DoesNotExist: except UserCardDetail.DoesNotExist:
return None return None
class FailedInvoice(AssignPermissionsMixin, models.Model):
permissions = ('view_failedinvoice',)
stripe_customer = models.ForeignKey(StripeCustomer)
order = models.ForeignKey(
HostingOrder, null=True, blank=True, default=None,
on_delete=models.SET_NULL
)
created_at = models.DateTimeField(auto_now_add=True)
number_of_attempts = models.IntegerField(
default=0,
help_text="The number of attempts for repayment")
invoice_id = models.CharField(
unique=True,
max_length=127,
help_text= "The ID of the invoice that failed")
result = models.IntegerField(
help_text="Whether the service was interrupted or another payment "
"succeeded"
)
service_interrupted_at = models.DateTimeField(
help_text="The datetime if/when service was interrupted"
)