From 7516fb2d4d8e38243ec900183520020ffe51cf69 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 11 Aug 2020 23:21:21 +0530 Subject: order ID --- talermerchantdemos/blog/blog.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'talermerchantdemos') 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)), -- cgit v1.2.3