gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-merchant] branch master updated: work on refund page


From: gnunet
Subject: [taler-merchant] branch master updated: work on refund page
Date: Mon, 03 Aug 2020 13:54:18 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new 8d200bb  work on refund page
8d200bb is described below

commit 8d200bb6cddc42cde096e374427311eac23cf3c3
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Aug 3 13:54:16 2020 +0200

    work on refund page
---
 contrib/offer_refund.en.must                     | 149 +++++++++++++++++++++--
 src/backend/taler-merchant-httpd_get-orders-ID.c |   7 +-
 2 files changed, 141 insertions(+), 15 deletions(-)

diff --git a/contrib/offer_refund.en.must b/contrib/offer_refund.en.must
index 913b6a5..aaa4e34 100644
--- a/contrib/offer_refund.en.must
+++ b/contrib/offer_refund.en.must
@@ -1,28 +1,151 @@
-{% extends "templates/base.html" %}
+<!DOCTYPE html>
+<!--
+  This file is part of GNU TALER.
+  Copyright (C) 2014-2020 Taler Systems SA
 
-{% block main %}
+  TALER is free software; you can redistribute it and/or modify it under the
+  terms of the GNU Lesser General Public License as published by the Free 
Software
+  Foundation; either version 2.1, or (at your option) any later version.
 
-<h1>Refund</h1>
+  TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+  A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more 
details.
+
+  You should have received a copy of the GNU Lesser General Public License 
along with
+  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+-->
+
+<html data-taler-nojs="true">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <noscript>
+    <meta http-equiv="refresh" content="1">
+  </noscript>
+  <title>Payment required for {{order_summary}}</title>
+  <!-- FIXME: inline this? How to best serve this without using 3rd party? -->
+  <link rel="stylesheet"
+        href="https://unpkg.com/purecss@2.0.3/build/pure-min.css";
+        
integrity="sha384-cg6SkqEOCV1NbJoCu11+bm0NvBRc8IYLRGXkmNrqUBfTjmMYwNKPWBTIKyw9mHNJ"
+        crossorigin="anonymous">
+  <style>
+.taler::before {
+  content: "❬";
+  color: #aa3939;
+}
+.taler::after {
+  content: "❭";
+  color: #aa3939;
+}
+.talerbar {
+  text-align: center;
+}
+.tt {
+  font-family: 'Lucida Console', Monaco, monospace;
+}
+.content {
+    overflow-x: auto;
+    padding-left: 15%;
+    padding-right: 15%;
+}
+.qr {
+    margin: auto;
+    text-align: center;
+}
+.qrtext {
+    width: max-content;
+    margin: auto;
+    transition: font-size 0.2s;
+    font-family: 'Lucida Console', Monaco, monospace;
+    font-size: 0.5em;
+}
+.qrtext:hover {
+    font-size: 1em;
+}
+.talerbar {
+    margin: 0;
+    bottom: 0;
+    background-color: #033;
+    color: white;
+    width: 100%;
+    padding: 1em;
+    overflow: auto;
+}
+
+body {
+  overflow-y: scroll;
+}
+@media (min-width: 500px) {
+  .content {
+    padding-bottom: 2em;
+    margin-right: 1em;
+    overflow-y: auto;
+  }
+}
+#main a:link, #main a:visited, #main a:hover, #main a:active {
+  color: black;
+}
+  </style>
+</head>
+
+<body>
+<script>
+  let checkUrl = FIXME_dold_refund_uri_to_URL("{{taler_refund_uri}}");
+  let delayMs = 500;
+  function check() {
+    let req = new XMLHttpRequest();
+    req.onreadystatechange = function () {
+      if (req.readyState === XMLHttpRequest.DONE) {
+        if (req.status === 200) {
+          try {
+            let resp = JSON.parse(req.responseText);
+            if (! resp.refund_pending) {
+              document.location.reload(true);
+            }
+          } catch (e) {
+            console.error("could not parse response:", e);
+          }
+        }
+        setTimeout(check, delayMs);
+      }
+    };
+    req.onerror = function () {
+      setTimeout(check, delayMs);
+    }
+    req.open("GET", checkUrl);
+    req.send();
+  }
+
+  setTimeout(check, delayMs);
+</script>
+
+
+<h1><span class="taler">Taler</span> refund available</h1>
 
 <div class="taler-installed-hide">
   <p>
-  Looks like your browser doesn't support GNU Taler payments.  You can try
-  installing a <a href="https://taler.net/en/wallet.html";>wallet browser 
extension</a>.
+  Please select your Taler wallet to obtain the refund.
   </p>
 </div>
 
 <div>
-
   <p>
-  You can use this QR code to get a refund with your mobile wallet:
+  Alternatively, you can scan this QR code to obtain the refund with your 
mobile wallet:
   </p>
-
-  {{ qrcode_svg | safe }}
-
+  <div class="qr">
+    {{{taler_refund_qrcode_svg}}}
+  </div>
   <p>
-  Click <a href="{{ taler_refund_uri }}">this link</a> to open your system's 
Taler wallet if it exists.
+  Finally, you could click <a href="{{taler_refund_uri}}">this link</a> to
+  try to open your system's Taler wallet if it exists.
   </p>
-
 </div>
+<hr />
+</section>
 
-{% endblock main %}
+<div class="talerbar">
+  <p>You can learn more about GNU Taler on our <a 
href="https://taler.net/";>website</a>.<br>
+  Copyright &copy; 2014&mdash;2020 Taler Systems SA</p>
+</div>
+</body>
+</html>
diff --git a/src/backend/taler-merchant-httpd_get-orders-ID.c 
b/src/backend/taler-merchant-httpd_get-orders-ID.c
index 09ea697..020eea0 100644
--- a/src/backend/taler-merchant-httpd_get-orders-ID.c
+++ b/src/backend/taler-merchant-httpd_get-orders-ID.c
@@ -1338,7 +1338,9 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
           struct KVC kvc[] = {
             { "refund_amount",
               TALER_amount2s (&god->refund_amount) },
-            { "refund_uri",
+            { "taler_refund_uri",
+              uri },
+            { "taler_refund_qrcode_svg",
               qr },
             { NULL, NULL }
           };
@@ -1376,8 +1378,9 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
       return TALER_MHD_reply_json_pack (
         connection,
         MHD_HTTP_OK,
-        "{s:b, s:o, s:o, s:o}",
+        "{s:b, s:b, s:o, s:o, s:o}",
         "refunded", god->refunded,
+        "refund_pending", god->refund_available,
         "refund_amount",
         TALER_JSON_from_amount (&god->refund_amount),
         "refunds",

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]