How To add paypal subscription in my django rest_framework websites

33 Views Asked by At

I'm devlopping a website by django rest_framework and react and I want to use the subscription so that the user manager should pay for example 20 dollars per month ,my project contains two types of users the Resident and Manager ,every Resident user should belong to a village or Dwar as I created , the village is created by a Manager so those residents users has the Manager as responsible for them and if the manager didn't pay no user can log in

this my models .py

     from django.db import models
from django.contrib.auth.models import AbstractUser
from rest_framework.authtoken.models import Token
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.conf import settings
from dwar.models import Dwar
# from time import timezone
from datetime import timezone
import time

# Create your models here.
class CustomUser(AbstractUser):
    territorial=models.CharField(max_length=80)
    phone_number=models.CharField(max_length=15)
    is_real=models.BooleanField(default=False)
    is_resident=models.BooleanField(default=False)
    is_manager=models.BooleanField(default=False)
    

    def __str__(self) :
        return self.username
    def fullname(self):
        return f'{self.first_name} {self.last_name}'


class Manager(models.Model):
    user=models.OneToOneField(CustomUser,on_delete=models.CASCADE,related_name='manager')
    village_name=models.CharField(max_length=60)
    manimg=models.ImageField(blank=True,null=True)
    is_has_dwar=models.BooleanField(default=False)
    def __str__(self):
        return self.user.username

class Resident(models.Model):
    user=models.OneToOneField(CustomUser,on_delete=models.CASCADE)
    number_of_water_meter=models.CharField(max_length=60,default='o')
    selected_village_name=models.ForeignKey(Dwar,on_delete=models.SET_NULL,null=True)
    the_village=models.CharField(max_length=90)
    name=models.CharField(max_length=90)
    resimg=models.ImageField(blank=True,null=True)
    def __str__(self):
        return self.user.username

class Fatoura(models.Model):
    created_by=models.ForeignKey(CustomUser,on_delete=models.CASCADE,related_name='the_manager')
    sendit_to=models.ForeignKey(Resident,on_delete=models.CASCADE,related_name='fatoras')
    name=models.CharField(max_length=90)
    village=models.CharField(max_length=90)
    number_of_water_meter=models.CharField(max_length=60,default='o')    
    created_at=models.DateTimeField(auto_now_add=True,blank=True,null=True)


    def __str__(self):
        return self.number_of_water_meter
class MessageToResident(models.Model):
    created_by=models.ForeignKey(CustomUser,on_delete=models.CASCADE,related_name='who_create')
    send_to=models.ForeignKey(Resident,on_delete=models.CASCADE,related_name='messago')
    message=models.TextField(max_length=600)
    is_global=models.BooleanField(default=False)
    name_of_manager=models.CharField(max_length=70,blank=True,null=True)
    created_at=models.DateTimeField(auto_now_add=True,blank=True,null=True)

    def __str__(self):
        return self.created_by.username

I already worked with paypal payment in a django ecommerce website but I have no Idea how it will work in django rest_framework also the subscription that I didn't work with it

0

There are 0 best solutions below