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.0.tar.gz (24.0 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.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for django_referral_system-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e1e7ef8be55dfa22962dabe138bd2f1a1ef1c0c56cf1ceacdcca057f98907f76
MD5 4ea07c8343752552b46e3121e54e86ce
BLAKE2b-256 9bdae9b345a038516ef34afc8f962cb579ba4040925f7623e8786a361a068024

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_referral_system-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75acec91d98fd6535269626b673dc1a9f9efd0e595d0f0f720cbce11e350e38f
MD5 fa033212f37cedce2e8b5a5b8fd1ac78
BLAKE2b-256 8c4b73ad31655c12af66a55acd7a83fed8669b02745a5db64027d161aa9e1f4d

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