summaryrefslogtreecommitdiff
path: root/website/fake_wire_transfer.php
blob: a788a372ee5ad2529f17b9ac746df90f0278798f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE html>
<html>
<head>
<title>Fake Wire Transfer</title>
    <script>
        /*
        @licstart  The following is the entire license notice for the
        JavaScript code in this page.

        Copyright (C) 2014,2015 GNUnet e.V.

        The JavaScript code in this page is free software: you can
        redistribute it and/or modify it under the terms of the GNU
        Lesser General Public License (GNU LGPL) as published by the Free Software
        Foundation, either version 2.1 of the License, or (at your option)
        any later version.  The code is distributed WITHOUT ANY WARRANTY;
        without even the implied warranty of MERCHANTABILITY or FITNESS
        FOR A PARTICULAR PURPOSE.  See the GNU LGPL for more details.

        As additional permission under GNU LGPL version 2.1 section 7, you
        may distribute non-source (e.g., minimized or compacted) forms of
        that code without the copy of the GNU LGPL normally required by
        section 4, provided you include this license notice and a URL
        through which recipients can access the Corresponding Source.

        @licend  The above is the entire license notice
        for the JavaScript code in this page.
        */
    </script>
</head>
<body>
<!-- 
  This page's main aim is to forward the fake wire transfer
  request to the demonstrator and to inform the customer
  about the result.  In a real-world deployment, this
  page would not be required as the customer would do a 
  wire transfer with his bank instead.
  -->
<?php

// Evaluate form
$reserve_pk = $_POST['reserve_pk'];
$kudos_amount = $_POST['kudos_amount'];
$mint = $_SERVER['SERVER_NAME'];

// pack the JSON
$json = json_encode (array ('reserve_pub' => $reserve_pk, 
                            'execution_date' => "/Date(" . time() . ")/",
                            'wire' => array ('type' => 'test'),
                            'amount' => array ('value' => intval($kudos_amount),
	                                       'fraction' => 0,
					       'currency' => 'KUDOS'))); // TODO 'KUDOS' example needs 'KUDOS' denom keys ..

// craft the HTTP request
$req = new http\Client\Request ("POST",
                                "http://" . $mint . "/admin/add/incoming",
			        array ("Content-Type" => "application/json"));
$req->getBody()->append ($json);

// execute HTTP request
$client = new http\Client;
$client->enqueue($req)->send ();
$resp = $client->getResponse ();

// evaluate response
$status_code = $resp->getResponseCode ();
http_response_code ($status_code);

if ($status_code != 200) 
{
  echo "Error $status_code when faking the wire transfer. Please report to taler@gnu.org";
}
else
{
  echo "Pretend wire transfer successful. Exit through the <a href=\"http://toy.taler.net\">gift shop</a> and enjoy shopping!";
}
?>
</body>
</html>