From 147a864ffda0a588c463ba13134edd6641465725 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Wed, 9 Mar 2022 21:41:10 +0100 Subject: [PATCH] Add SEPA payment methods --- aleksis/apps/tezor/apps.py | 11 +++++++++++ aleksis/apps/tezor/preferences.py | 33 +++++++++++++++++++++++++++++++ pyproject.toml | 2 ++ 3 files changed, 46 insertions(+) diff --git a/aleksis/apps/tezor/apps.py b/aleksis/apps/tezor/apps.py index a5af98e..e2418d2 100644 --- a/aleksis/apps/tezor/apps.py +++ b/aleksis/apps/tezor/apps.py @@ -49,4 +49,15 @@ class DefaultConfig(AppConfig): "endpoint": "https://api.paypal.com", }) + if prefs["payments__pledge_enabled"]: + variants["paypal"] = ("djp_sepa.PaymentPledgeProvider", { + }) + + + if prefs["payments__sdd_creditor_identifier"]: + variants["paypal"] = ("djp_sepa.DirectDebitProvider", { + "creditor": prefs["payments__sdd_creditor"], + "creditor_identifier": prefs["payments__sdd_creditor_identifier"], + }) + return variants diff --git a/aleksis/apps/tezor/preferences.py b/aleksis/apps/tezor/preferences.py index adf2b29..9cf7797 100644 --- a/aleksis/apps/tezor/preferences.py +++ b/aleksis/apps/tezor/preferences.py @@ -72,3 +72,36 @@ class PaypalCapture(BooleanPreference): verbose_name = _("PayPal - Use Authorize & Capture") default = False required = False + + +@site_preferences_registry.register +class EnablePledge(BooleanPreference): + """Payment pledge payment backend - enable or not.""" + + section = payments + name = "pledge_enabled" + verbose_name = _("Enabledp ledged payments") + default = False + required = False + + +@site_preferences_registry.register +class SDDCreditor(StringPreference): + """SEPA direct debit backend - creditor name.""" + + section = payments + name = "sdd_creditor" + verbose_name = _("SEPA Direct Debit - Creditor name") + default = "" + required = False + + +@site_preferences_registry.register +class SDDCreditorIdentifier(StringPreference): + """SEPA direct debit backend - creditor identifier.""" + + section = payments + name = "sdd_creditor_identifier" + verbose_name = _("SEPA Direct Debit - Creditor identifier") + default = "" + required = False diff --git a/pyproject.toml b/pyproject.toml index f3f3a24..9010b7c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,6 +32,8 @@ secondary = true python = "^3.9" aleksis-core = "^2.7" django-payments = "^0.15.0" +pycountry = "22.1.10" +django-payments-sepa = "^1.0.dev0" [tool.poetry.dev-dependencies] aleksis-builddeps = "*" -- GitLab