Skip to main content

A Django app for managing referral programs, promoters, referrals, and tracking referral performance with advanced features like commission setting, invitation management, and Wise payouts.

Project description

django-referral-system

Documentation Status PyPI version License Python Versions Coverage Status

A Django app for managing referral programs, promoters, referrals, and tracking referral performance with features like commission setting, invitation management, and Wise payouts.

Documentation

Full documentation is available at Read the Docs.

Features

  • Promoter Management: Easily create and manage promoters who can invite referrals to join your platform.
  • Referral Tracking: Promoters can track their list of referrals, including invitation details, sign-up status, and more.
  • Earnings Monitoring: Promoters can view their recent earnings, aggregated by day for the last 7 days, including commissions from successful referrals.
  • Commission-Based Rewards: Promoters earn money by receiving commissions from referrals they invite, with configurable commission rates based on the active referral program.
  • Customizable Payout Methods: Promoters can set and update their preferred payout methods (e.g., Wise) and minimum withdrawal balances.
  • Wise Payout Integration: Automatically generate CSV files for Wise payouts and process payouts for promoters whose balance meets the minimum withdrawal amount.
  • Email Invitation: Promoters can send invitation emails to potential referrals with a custom HTML template. Ensure that the BASE_REFERRAL_LINK and BASE_EMAIL environment variables are properly set.
  • Refund Handling: Automatically adjust promoter commissions in case of user refunds, ensuring that promoters only earn commissions for completed transactions.
  • Referral Program Flexibility: Only one referral program can be active at a time, allowing for focused and streamlined referral management.
  • Detailed Payout History: Promoters can view their full payout history, providing transparency and easy tracking of payment status.
  • Click Tracking: Keep track of how many times a referral link has been clicked, helping promoters measure the performance of their referral efforts.

Installation

  1. Install the package via pip:
pip install django-referral-system
  1. Add referrals to your INSTALLED_APPS in settings.py:
INSTALLED_APPS = [
    # other apps
    'referrals',
]
  1. Add to urls.py
from django.urls import path, include

urlpatterns = [
    # Other URL patterns...
    path('referrals/', include("referrals.urls")),
]
  1. Apply Migrations
python manage.py migrate
  1. Create a Referral Program After installation, you can create a new referral program using the provided management command: If this program is set to active, any previous active referral programs will be deactivated automatically.
python manage.py create_referral_program --name="My Referral Program" --commission-rate=5.00 --min-withdrawal-balance=10.00

License

This package is licensed under the MIT License. See the LICENSE file for more details.

Contributing

If you find any issues or have suggestions, feel free to open an issue or submit a pull request.

To support this project, please give star it on Github. github star

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_referral_system-0.2.1.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_referral_system-0.2.1-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file django_referral_system-0.2.1.tar.gz.

File metadata

File hashes

Hashes for django_referral_system-0.2.1.tar.gz
Algorithm Hash digest
SHA256 cbb6d71b769c609e36193455d711838fea75b7049b6ab47baef3986e3f0b9bc3
MD5 f32f4be7dabcc37be8036b263fcb88a3
BLAKE2b-256 ddb447845f4bb17c47e13658ae4096d1b5637375f6dd049c9cc928b0360a2423

See more details on using hashes here.

File details

Details for the file django_referral_system-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_referral_system-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d99e8f73204049722e28751083120645c66d2fdc4679351f4216f833c246d23d
MD5 78b17eee622ab974b4298e7f015010c0
BLAKE2b-256 725aca954a193ae63fdc7c1bce444e64c0dae01db1378aa01986d0a23efab459

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page