feat: add stripe webhook

This commit is contained in:
2026-05-19 21:14:04 +02:00
parent d2c870414f
commit 6d927856c8
4 changed files with 144 additions and 0 deletions

View File

@@ -15,10 +15,23 @@ logger = lg.getLogger(__name__)
class CoursePurchase(models.Model):
class Status(models.TextChoices):
INITIATED = "initiated", "Initiated"
PENDING = "pending", "Pending"
PAID = "paid", "Paid"
REFUNDED = "refunded", "Refunded"
FAILED = "failed", "Failed"
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
course = models.ForeignKey("home.CoursePage", on_delete=models.CASCADE)
purchased_at = models.DateTimeField(auto_now_add=True)
refunded = models.BooleanField(default=False)
status = models.CharField(
max_length=20,
choices=Status.choices,
default=Status.INITIATED,
)
stripe_checkout_session_id = models.CharField(max_length=255, blank=True, null=True)
def mock_refund(self):
self.refunded = True