From 4ab99cfc91ca2be9aedd9f1099ab9585375fe78d Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 23 Aug 2019 18:55:08 +0200 Subject: render 402 page ourselves --- talerblog/blog/blog.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'talerblog/blog/blog.py') diff --git a/talerblog/blog/blog.py b/talerblog/blog/blog.py index 860a3a9..4cf242b 100644 --- a/talerblog/blog/blog.py +++ b/talerblog/blog/blog.py @@ -25,7 +25,7 @@ import uuid import base64 import requests import flask -from werkzeug.contrib.cache import UWSGICache, SimpleCache +from cachelib import UWSGICache, SimpleCache from talerblog.talerconfig import TalerConfig from ..blog.content import ARTICLES, get_article_file, get_image_file @@ -315,8 +315,12 @@ def article(article_name, data=None): ## # Redirect the browser to a page where the wallet can # run the payment protocol. - if pay_status.get("payment_redirect_url"): - return flask.redirect(pay_status["payment_redirect_url"]) + contract_url = pay_status["contract_url"] + headers = {"X-Taler-Contract": contract_url} + content = flask.render_template("templates/request_payment.html", + article_name=article_name) + resp = flask.Response(content, status=402, headers=headers) + return resp # no pay_redirect but article not paid, this should never happen! err_abort(500, message="Internal error, invariant failed", json=pay_status) -- cgit v1.2.3