summaryrefslogtreecommitdiff
path: root/src/frontend/fake_wire_transfer.php
blob: 64231da7c52650cda97db77e9d52c73a4c07e674 (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
<!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
        General Public License (GNU GPL) as published by the Free Software
        Foundation, either version 3 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 GPL for more details.

        As additional permission under GNU GPL version 3 section 7, you
        may distribute non-source (e.g., minimized or compacted) forms of
        that code without the copy of the GNU GPL 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'];

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

// craft the HTTP request
$req = new http\Client\Request ("POST",
                                "http://demo.taler.net/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. Go <a href="/">back</a> and enjoy shopping!";
}
?>
</body>
</html>