2015-11-20 44 views
1

需要在基於Java的技術中實現支付網關集成頁面。基於Java技術的EBS支付網關實施

到目前爲止,我有index.html獲取客戶信息的詳細信息,並獲得重定向到EBS支付網關(根據下面的代碼片段)。

這裏去index.html頁面的片段

</head> 
<body onload="a2()" style="background-color:lightgray; margin-left:300px; margin-right:300px; margin-top:0px;"> 
    <center> 
     <div style="background-color:white;"> 
       <form action="pay.jsp" method="post" name="frm" id="theForm" onsubmit="return validateForm()" autocomplete = "off" /> 

       <input type="hidden" name="V3URL" value="https://secure.ebs.in/pg/ma/payment/request" /> 
     <div> 

      <h1>EBS - JSP Version 3</h1> 

/////作爲從以下支付網關的迴應是代碼(response.js):

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@ page import="java.io.*,java.util.*" %> 
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

<title>EBS Response</title> 
</head> 
<body> 
<center> 
<h2>EBS Response</h2> 
<table width="50%" border="1" align="center"> 
<tr bgcolor="#949494"> 
<th>Response Parameter Name</th><th>Response Value</th> 
</tr> 
<% 
    Enumeration paramNames = request.getParameterNames(); 

    while(paramNames.hasMoreElements()) { 
     String paramName = (String)paramNames.nextElement(); 
     out.print("<tr><td>" + paramName + "</td>\n"); 
     String paramValue = request.getParameter(paramName); 
     out.println("<td> " + paramValue + "</td></tr>\n"); 
    } 
%> 
</table> 
</center> 
</body> 
</html> 

有用於驗證項目字段的驗證碼

使用java的MessageDigest在pay.jsp中實現安全性(注意index.html代碼段第5行中使用的pay.jsp)

現在我堅持繼續前進。我需要的是這樣的:

  1. 響應數據已經在MySQL表進行更新

2.How集成所有的組件,以獲得充分成熟的支付網關

回答

0

首先你需要來自response.js的POST數據。

1.a.如果有POST數據沒有問題,就是像(它必須是JSON):

{ 
    "result" : { 
    "ResponseMessage" : "success", 
    "TransaactionID": "5555", 
    "RequestID" : "8729394" 
    . 
    . 
    . 
    } 
} 

1.B.如果您沒有發佈數據,您必須獲取所有參數並保存爲JSON或模態。

2.你必須創建一個模式爲這樣的:

public class Result 
{ 
    private string ResponseMessage { get; set; } 
    private string TransaactionID { get; set; } 
    private string RequestID { get; set; } 
    . 
    . 
    . 
} 

public class RootObject 
{ 
    private Result result { get; set; } 
} 
  • 現在,您可以解析JSON數據發佈到你的模式,那麼你可以使用它:

    Gson gson = new Gson(); 
    RootObject obj = gson.fromJson(br, DataObject.class); 
    System.out.println(obj.getResult().getRequestId()); 
    
  • 您可以將這些數據發送到saveOrUpdate(obj);

    +0

    謝謝@hurricane。簡單和正確的方向。雖然我希望對Modal部分進行一些解釋。這將有助於更好。你是否建議ResponseMessage {get; set} ...等作爲「Result」類的內部類? RootObject的setter中應該傳遞什麼? – sumit

    +1

    @sumit如果你在js data中發送你的帖子:結果就像我們的例子。你可以console.log(yourPostData),你可以在你的服務中獲得它。你需要在json中定義所有參數爲模態。 – hurricane