I have integrated a payment gateway with a Java based Web-App Now, After a successful and failure transaction, PG accordingly redirect to respectively html pages failure.html,su
Client side code has no access to most of the data in the request that was used to load the page the client side code is being executed in, including POST data.
You'll need to use server side code instead.
You can't read POST data in client side but you can save it locally when submitting the form using localStorage:
<form onSubmit="formSubmitted()">
<input type="text" id="firstname" name="firstname" />
...
</form>
<script type="text/javascript>
function formSubmitted() {
localStorage.setItem('firstname', document.getElementById('firstname').value);
}
</script>
Also you can use any server side language to get it:
var firstname = "<?php echo $_POST['firstname']; ?>";
When Integrating with payment gateways or in general when you receive a
redirection URL based on server response.Simply map your URL in controller or in Servlet.
This way you can access the request parameters and based on parameter and other
information you can redirect the page.
Example:
I've provided http://www.localhost.in/failure
Map above url in your controller
@RequestMapping(value = "/failure.do", method = RequestMethod.POST)
public void pgResponse(@RequestBody ResonseBean bean, HttpServletRequest request, HttpServletResponse response )
{
try
{
// Here you can extract the parameters from POST request.
String amount = (String) request.getParameter("amount");
String addedon = (String) request.getParameter("addedon");
String productinfo = (String) request.getParameter("productinfo");
String firstname = (String) request.getParameter("firstname");
// Do you business here
// Redirect when you're done
}
catch ( Exception e )
{
}
}
Or You can simply bind a Servlet in your not using Spring MVC, Spring Boot.
In JSP Environment,
Simply use scriptlet in jsp page.For Example:
<%
String amount = (String) request.getParameter("amount");
String addedon = (String) request.getParameter("addedon");
String productinfo = (String) request.getParameter("productinfo");
String firstname = (String) request.getParameter("firstname");
%>
<script type="javascipt">
// Get java variable value in js
var amount = <%=amount %>;
var addedon = <%=addedon%>;
var productinfo = <%=productinfo %>;
var firstname = <%=firstname %>;
</script>
There are multiple way for this problem and it's subject to stack that you're using.