summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--talermerchantdemos/blog/blog.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/talermerchantdemos/blog/blog.py b/talermerchantdemos/blog/blog.py
index c026adb..1e07267 100644
--- a/talermerchantdemos/blog/blog.py
+++ b/talermerchantdemos/blog/blog.py
@@ -26,7 +26,7 @@ import base64
import flask
import lxml.etree
import time
-from urllib.parse import urljoin
+from urllib.parse import urljoin, urlencode, urlparse
from cachelib import UWSGICache, SimpleCache
from taler.util.talerconfig import TalerConfig
from ..blog.content import ARTICLES, get_article_file, get_image_file
@@ -186,6 +186,13 @@ def render_article(article_name, data, order_id):
)
+def add_param(url, key, val):
+ params = urlencode(dict(key=val))
+ if urlparse(url)[4]:
+ return url + '&' + params
+ else:
+ return url + '?' + params
+
##
# Trigger a article purchase. The logic follows the main steps:
#
@@ -227,7 +234,7 @@ def article(article_name, data=None):
order = dict(
amount=ARTICLE_AMOUNT,
extra=dict(article_name=article_name),
- fulfillment_url=flask.request.base_url,
+ fulfillment_url=add_param(flask.request.base_url, "order_id", "${ORDER_ID}"),
summary="Essay: " + article_name.replace("_", " "),
# 10 minutes time for a refund
refund_deadline=dict(t_ms=1000 * int(time.time() + 10 * 30)),