summaryrefslogtreecommitdiff
path: root/examples/shop/fulfillment.php
diff options
context:
space:
mode:
Diffstat (limited to 'examples/shop/fulfillment.php')
-rw-r--r--examples/shop/fulfillment.php119
1 files changed, 119 insertions, 0 deletions
diff --git a/examples/shop/fulfillment.php b/examples/shop/fulfillment.php
new file mode 100644
index 00000000..c7e0f97c
--- /dev/null
+++ b/examples/shop/fulfillment.php
@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <title>Taler's "Demo" Shop</title>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <script type="application/javascript" src="taler-presence.js"></script>
+ <script type="application/javascript">
+ function executePayment(H_contract, pay_url, offering_url) {
+ var detail = {
+ H_contract: H_contract,
+ pay_url: pay_url,
+ offering_url: offering_url
+ };
+ var eve = new CustomEvent('taler-execute-payment', {detail: detail});
+ document.dispatchEvent(eve);
+ }
+ </script>
+</head>
+<body>
+
+ <header>
+ <div id="logo">
+ <svg height="100" width="100">
+ <circle cx="50" cy="50" r="40" stroke="darkcyan" stroke-width="6" fill="white" />
+ <text x="19" y="82" font-family="Verdana" font-size="90" fill="darkcyan">S</text>
+ </svg>
+ </div>
+
+ <h1>Toy Store - Product Page</h1>
+ </header>
+
+ <aside class="sidebar" id="left">
+ </aside>
+
+ <section id="main">
+ <article>
+<?php
+/*
+ This file is part of GNU TALER.
+ Copyright (C) 2014, 2015 GNUnet e.V.
+
+ 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.
+
+ 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, If not, see <http://www.gnu.org/licenses/>
+ */
+
+include '../../copylib/util.php';
+
+$hc = get($_GET["uuid"]);
+
+if (empty($hc))
+{
+ http_response_code(400);
+ echo "<p>Bad request (UUID missing)</p>";
+ return;
+}
+
+session_start();
+
+$payments = get($_SESSION['payments'], array());
+$my_payment = get($payments[$hc]);
+
+// This will keep the query parameters.
+$pay_url = url_rel("pay.php");
+
+$offering_url = url_rel("checkout.php", true);
+
+if (null === $my_payment)
+{
+ echo "<p>you do not have the session state for this contract: " . $hc . "</p>";
+ echo "<p>Asking the wallet to re-execute it ... </p>";
+ echo "<script>executePayment('$hc', '$pay_url', '$offering_url');</script>";
+ return;
+}
+
+if (true !== get($my_payment["is_payed"], false))
+{
+ echo "<p>you have not payed for this contract: " . $hc . "</p>";
+ echo "<p>Asking the wallet to re-execute it ... </p>";
+ echo "<script>executePayment('$hc', '$pay_url');</script>";
+ return;
+}
+
+$receiver = $my_payment["receiver"];
+
+$news = false;
+switch ($receiver)
+{
+ case "Taler":
+ $news = "https://taler.net/news";
+ break;
+ case "GNUnet":
+ $news = "https://gnunet.org/";
+ break;
+ case "Tor":
+ $news = "https://www.torproject.org/press/press.html.en";
+ break;
+}
+
+$msg = "<p>Thanks for donating to " . $receiver . ".</p>";
+if ($news)
+{
+ $msg .= "<p>Check our latest <a href=\"" . $news . "\">news!</a></p>";
+}
+
+echo $msg;
+
+?>
+ </article>
+ </section>
+</body>
+</html>