diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-11-28 17:41:53 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-11-28 17:41:53 +0100 |
commit | 847c96c9cd2c3da2eaf4cd300b82b0f8b8fb877a (patch) | |
tree | 4cb6d4731415f6278329ed74b582d2ac75e5687b /talerbank/app/views.py | |
parent | fd5b3e7df26690169bb420f81e27a266a8c5d17b (diff) | |
download | bank-847c96c9cd2c3da2eaf4cd300b82b0f8b8fb877a.tar.gz bank-847c96c9cd2c3da2eaf4cd300b82b0f8b8fb877a.tar.bz2 bank-847c96c9cd2c3da2eaf4cd300b82b0f8b8fb877a.zip |
implement headless way to get taler://withdraw URI
Diffstat (limited to 'talerbank/app/views.py')
-rw-r--r-- | talerbank/app/views.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/talerbank/app/views.py b/talerbank/app/views.py index d4c1872..9199cf7 100644 --- a/talerbank/app/views.py +++ b/talerbank/app/views.py @@ -904,6 +904,22 @@ def add_incoming(request, user_account): }) + +@login_via_headers +@csrf_exempt +@require_POST +def withdraw_headless_uri(request, user): + data_json = json.loads(request.body.decode("utf-8")) + data = WithdrawHeadlessUri(data_json) + user_account = BankAccount.objects.get(user=request.user) + op = TalerWithdrawOperation(amount=data.amount, withdraw_account=user_account) + op.save() + host = request.get_host() + taler_withdraw_uri = f"taler://withdraw/{host}/-/{op.withdraw_id}" + return JsonResponse({ + "taler_withdraw_uri": taler_withdraw_uri, + }) + ## # Serves a headless withdrawal request for the Taler protocol. # |