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 logging
import os
import pytz
from datetime import datetime
import pytz
from Crypto.PublicKey import RSA
from dateutil.relativedelta import relativedelta
from datetime import datetime
from django.db import models
from django.utils import timezone
from django.utils.functional import cached_property
@ -718,3 +718,29 @@ class UserCardDetail(AssignPermissionsMixin, models.Model):
return ucd
except UserCardDetail.DoesNotExist:
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"
)