summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-08-27 01:13:44 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-08-27 01:13:44 +0200
commit381f245b7b8beb82a0c6d83412c4103c2f6e56e6 (patch)
tree50d2e76be161888d3118e84ab08ae7995efd692a
parentea51f6caf7f025d70423341a9b73901ac9b134bc (diff)
downloadblog-381f245b7b8beb82a0c6d83412c4103c2f6e56e6.tar.gz
blog-381f245b7b8beb82a0c6d83412c4103c2f6e56e6.tar.bz2
blog-381f245b7b8beb82a0c6d83412c4103c2f6e56e6.zip
check response instead of request for status; parse JSON robustly
-rw-r--r--talerblog/blog/blog.py2
-rw-r--r--talerblog/blog/templates/request_payment.html10
2 files changed, 8 insertions, 4 deletions
diff --git a/talerblog/blog/blog.py b/talerblog/blog/blog.py
index d652808..ba10453 100644
--- a/talerblog/blog/blog.py
+++ b/talerblog/blog/blog.py
@@ -243,7 +243,7 @@ def check_status(order_id, session_id):
order_id=order_id,
session_id=session_id)
pay_status = backend_get("check-payment", pay_params)
- return flask.jsonify(paid=pay_params["paid"])
+ return flask.jsonify(paid=pay_status["paid"])
##
# Trigger a article purchase. The logic follows the main steps:
diff --git a/talerblog/blog/templates/request_payment.html b/talerblog/blog/templates/request_payment.html
index 6c14456..f138877 100644
--- a/talerblog/blog/templates/request_payment.html
+++ b/talerblog/blog/templates/request_payment.html
@@ -17,9 +17,13 @@
req.onreadystatechange = function () {
if (req.readyState === XMLHttpRequest.DONE && req.status === 200) {
if (req.status === 200) {
- let resp = JSON.parse(req.responseText);
- if (resp.paid) {
- document.location.reload(true);
+ try {
+ let resp = JSON.parse(req.responseText);
+ if (resp.paid) {
+ document.location.reload(true);
+ }
+ } catch (e) {
+ console.error("could not parse response:", e);
}
}
setTimeout(check, delayMs);