Skip to main content

Reusable django app to receive & track donations on charitable sites

Project description

Build Coverage Code Health Updates Python 3 PyPI package

Reusable django app to receive & track donations on charitable sites

Documentation

The full documentation is at https://django-donations.readthedocs.io.

Quickstart

Install Django Donations:

pip install django-donations

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'donations.apps.DonationsConfig',
    ...
)

Add Django Donations’s URL patterns:

from donations import urls as donations_urls


urlpatterns = [
    ...
    url(r'^', include(donations_urls)),
    ...
]

Just Giving Configuration

The app needs to be configured with your JustGiving API settings:

# Ability to point to Production or Sandbox URLs
JUST_GIVING_WEB_URL = 'http://v3-sandbox.justgiving.com'
JUST_GIVING_API_URL = 'http://api-sandbox.justgiving.com'
# Replace below with your personal details
JUST_GIVING_CHARITY_ID = '123456'
JUST_GIVING_APP_ID = 'changeme'
# Add a list of all the currencies you need to support
CURRENCIES = ['GBP']

TODO

  • Update the documentation and readme

  • integrate with readthedocs or pythonhosted or both!

  • tests - unit/integration

  • task to periodically verify pending donations

(* dashboard - track/view donations from the business side - kpis etc * views/urls? - provide an api hook into the system (/donations - dashboard))

v2 and beyond

  • (other providers (paypal etc))

  • tasks.py - recurring donation handling - this is not possible right now as SDI is not an API to be automated

Supported Providers

  • Just Giving SDI

Credits

Tools used in rendering this package:

History

1.2.0 (2018-06-18)

  • Removed the DonationProvider model, there is only 1 possible

  • Removed the DONATION_FREQUENCIES settings and magic to auto-create frequencies

  • Added a method to handle monthly donations with Just Giving

1.1.0 (2018-05-31)

  • Added support for Django 2.0

1.0.0 (2018-05-30)

  • Dropped support for Python < 3.5: dropped dependency on six

  • Dropped support for Django < 1.11: dropped dependency on django-compat

  • Lifted restriction on django-rest-framework version in setup.py

0.7.4 (2017-11-06)

  • New setting DONATION_VERIFY_API_URL_NAME to configure the name of URL to reverse when verifying a donation.

0.7.3 (2017-10-30)

  • Bump version to fix tagging

0.7.2 (2017-10-30)

  • Revert URL conf for Django 2.0 as it’s causing issues

0.7.0 (2017-09-26)

  • Add on_delete=models.CASCADE on foreign keys in migrations

  • Migrate URL confs to Django 2.0 syntax

  • Use django-compat for importing reverse

0.6.2 (2017-06-09)

  • Add on_delete=models.CASCADE on foreign keys for Django 2.0

0.6.1 (2017-06-08)

  • Python 3: fix app name as bytes in migrations

  • Django 1.11 compatibility

0.6.0 (2017-01-30)

  • Clean-up references to django-timedeltafield (#9). This required to squash the existing migrations. Make sure that you migrated to 0.5.0 first and applied all migrations everywhere.

  • Fix test setup. Now Django 1.10 is officially supported.

0.5.0 (2017-01-27)

  • Migrate to Django’s DurationField (#8). You need to upgrade your DONATION_FREQUENCIES setting. Values should now be python timedelta.

0.4.0 (2017-01-27)

  • Fix bug with urllib import on Python 3 #4

  • Remove dependency on django-autoconfig

  • Regenerate with cookie cutter for Django standalone app, resulting in: * Cleanup a few unused files * Remove the example project which isn’t kept up to date * Add a changelog * Switch testing to use tox * Switch from coveralls to codecov.io

  • Test views

0.3.0 (2016-10-20)

  • Drop support for Django 1.6 and 1.7

  • Support Django 1.9

  • Prepare Django 1.10

0.2.7 (2015-12-17)

  • Add the app config for Django 1.7+

0.2.6 (2015-12-07)

  • Some Python 3 compatibilty fixes

  • Prepare for Django 1.9 compatibility

0.2.5 (2015-11-23)

  • Django 1.8 compatibility

  • Fix a few issues with Python 3

0.2.4 (2015-11-12)

  • Doc improvements

  • Django 1.7 compatibility

0.2.3 (2015-10-23)

  • Fix a crash with anonymous donor

0.2.2 (2015-10-22)

  • Mostly tests improvements

0.2.0 (2015-10-19)

  • Fix various unicode crashes

  • Fix that prevented the server from starting when config was being loaded before the tables were created.

  • Capture Donor name from JustGiving

0.1.3 (2016-10-16)

  • Fix a Unicode crash in models and providers

  • Revert erroneous change in setup.py

0.1.2 (2015-10-16)

  • Admin improvements

  • Installation fixes

0.1.1 (2015-10-13)

  • Fix packaging on PyPI

  • Docs improvements

0.0.2 (2015-10-12)

  • Squash South migrations

  • Autoconfig enhancements

0.0.1 (2015-10-12)

  • First release on PyPI.

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-donations-1.2.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

django_donations-1.2.0-py2.py3-none-any.whl (18.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-donations-1.2.0.tar.gz.

File metadata

File hashes

Hashes for django-donations-1.2.0.tar.gz
Algorithm Hash digest
SHA256 fa8c0077fb1e533df9126993c331834d5affbffcbb2d0e322cfc90d1e4a4cd34
MD5 b5afb1f3066345b6591b4eac09270e4b
BLAKE2b-256 2409b71b6fb252420fd6b90a249132e54a06c0c648ce426913f8d9cf853466b1

See more details on using hashes here.

File details

Details for the file django_donations-1.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_donations-1.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bbeba6b682b3bed23dce9f90e45afed8fecaabcf3adfb0d928815d28b6175c9a
MD5 4bfebc60f7efea37cc311cdecadfdf5c
BLAKE2b-256 4b0590ca569c4a8b8b73578d9a3adfd38cb97277425824b96e211c78751c4005

See more details on using hashes here.

Supported by

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