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