aboutsummaryrefslogtreecommitdiff
path: root/extension/content_scripts/notify.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-01-24 19:57:09 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-01-24 19:57:09 +0100
commit5f996fedbc7542e1ba757a5a5856e43931ad7939 (patch)
tree59bb9bc99253dadee2d8778dcefeaa1a7e0f6424 /extension/content_scripts/notify.js
parent53654b3622de38c6cca5d29f9969eb9a67caf8a0 (diff)
parse json fulfillment url from payment
Diffstat (limited to 'extension/content_scripts/notify.js')
-rw-r--r--extension/content_scripts/notify.js24
1 files changed, 16 insertions, 8 deletions
diff --git a/extension/content_scripts/notify.js b/extension/content_scripts/notify.js
index e3ed81c81..9118f499a 100644
--- a/extension/content_scripts/notify.js
+++ b/extension/content_scripts/notify.js
@@ -75,21 +75,29 @@ document.addEventListener('taler-execute-payment', function (e) {
switch (r.status) {
case 200:
detail.success = true;
- // Not supported by some browsers ...
- detail.fulfillmentUrl = r.responseURL;
- break;
- case 301:
- detail.success = true;
- console.log("Headers:", r.getAllResponseHeaders());
- detail.fulfillmentUrl = r.getResponseHeader('Location');
+ var respJson = JSON.parse(r.responseText);
+ console.log("respJson:", JSON.stringify(respJson));
+ if (!respJson) {
+ console.log("Invalid JSON in response from $pay_url");
+ detail.success = false;
+ break;
+ }
+ if (!respJson.fulfillment_url) {
+ console.log("Missing 'fulfillment_url' in response from $pay_url");
+ detail.success = false;
+ break;
+ }
+ detail.fulfillmentUrl = respJson.fulfillment_url;
break;
default:
+ console.log("Unexpected status code for $pay_url:", r.status);
detail.success = false;
break;
}
detail.status = r.status;
detail.responseText = r.responseText;
- document.dispatchEvent(new CustomEvent("taler-payment-result", { detail: detail }));
+ detail.fulfillmentUrl =
+ document.dispatchEvent(new CustomEvent("taler-payment-result", { detail: detail }));
};
});
});