Display Payment Accepted or Refused
This commit is contained in:
@@ -26,6 +26,14 @@
|
|||||||
#payment {
|
#payment {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#paymentAccepted {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#paymentRefused {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@@ -46,6 +54,12 @@
|
|||||||
<br>
|
<br>
|
||||||
<button id="connect-button-pay">Pay</button>
|
<button id="connect-button-pay">Pay</button>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="paymentAccepted">
|
||||||
|
<h2>Payment Accepted</h2>
|
||||||
|
</div>
|
||||||
|
<div id="paymentRefused">
|
||||||
|
<h2>Payment Refused</h2>
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -98,8 +112,9 @@
|
|||||||
})
|
})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
|
document.getElementById("paymentAccepted").style.display = 'block';
|
||||||
} else {
|
} else {
|
||||||
|
document.getElementById("paymentRefused").style.display = 'block';
|
||||||
throw new Error("Payment request failed")
|
throw new Error("Payment request failed")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ import common.common.src.requestHandlers.SSLServerFactory;
|
|||||||
import common.common.src.socket.SocketManager;
|
import common.common.src.socket.SocketManager;
|
||||||
|
|
||||||
import javax.net.ssl.*;
|
import javax.net.ssl.*;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.security.*;
|
import java.security.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -57,12 +61,15 @@ public class Main {
|
|||||||
String response = SocketManager.readResponse(clientSocket);
|
String response = SocketManager.readResponse(clientSocket);
|
||||||
Logger.displayReceived(response);
|
Logger.displayReceived(response);
|
||||||
|
|
||||||
String token = "TODO : extract token from response";
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
String answer = tokenManager.isValidToken(token) ? "ACK" : "NAK";
|
JsonNode node = mapper.readTree(response);
|
||||||
|
|
||||||
String message = "ACK from ACS";
|
String token = node.get("token").asText();
|
||||||
SocketManager.send(clientSocket, message);
|
String answer = tokenManager.isValidToken(token) ? "ACK" : "NAK";
|
||||||
Logger.displaySent("ACK from ACS");
|
|
||||||
|
SocketManager.send(clientSocket, answer);
|
||||||
|
Logger.displaySent("Response To ACQ");
|
||||||
|
Logger.displaySent(answer);
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
|
|||||||
@@ -65,27 +65,25 @@ public class RequestHandler implements IRequestHandler {
|
|||||||
// Send request to ACQ
|
// Send request to ACQ
|
||||||
|
|
||||||
SSLSocketFactory factory = sslCtx.getSocketFactory();
|
SSLSocketFactory factory = sslCtx.getSocketFactory();
|
||||||
try (SSLSocket socket = (SSLSocket) factory.createSocket("127.0.0.1", ACQ_SERVER_PORT)) {
|
SSLSocket socket = (SSLSocket) factory.createSocket("127.0.0.1", ACQ_SERVER_PORT);
|
||||||
socket.startHandshake();
|
socket.startHandshake();
|
||||||
|
|
||||||
|
SocketManager.send(socket, jsonString);
|
||||||
|
Logger.displaySent(jsonString);
|
||||||
|
|
||||||
|
// Wait ACQ ACK or NAK
|
||||||
|
response = SocketManager.readResponse(socket);
|
||||||
|
Logger.displayReceived(response);
|
||||||
|
|
||||||
SocketManager.send(socket, jsonString);
|
|
||||||
Logger.displaySent(jsonString);
|
|
||||||
|
|
||||||
// Wait ACQ ACK or NAK
|
|
||||||
response = SocketManager.readResponse(socket);
|
|
||||||
Logger.displayReceived(response);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
// Return result
|
// Return result
|
||||||
|
|
||||||
response = response.trim();
|
|
||||||
|
|
||||||
if ("ACK".equalsIgnoreCase(response)) {
|
if ("ACK".equalsIgnoreCase(response)) {
|
||||||
// success
|
Logger.displayReceived("/payment accepted");
|
||||||
|
exchange.sendResponseHeaders(200, 0);
|
||||||
} else {
|
} else {
|
||||||
// failure
|
Logger.displayReceived("/payment refused");
|
||||||
|
exchange.sendResponseHeaders(401, 0);
|
||||||
}
|
}
|
||||||
|
exchange.close();
|
||||||
} catch(Exception e){
|
} catch(Exception e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user