summaryrefslogtreecommitdiff
path: root/talerbank/app/views.py
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-11-28 17:41:53 +0100
committerFlorian Dold <florian.dold@gmail.com>2019-11-28 17:41:53 +0100
commit847c96c9cd2c3da2eaf4cd300b82b0f8b8fb877a (patch)
tree4cb6d4731415f6278329ed74b582d2ac75e5687b /talerbank/app/views.py
parentfd5b3e7df26690169bb420f81e27a266a8c5d17b (diff)
downloadbank-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.py16
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.
#