資源簡介
通過第三方支付公司與銀行對接:
這種方式接方式的優缺點:
優點:系統只需要與第三方支付公司打交道,第三方支付公司根據用戶選擇的支付銀行,并根據支付銀行的接入規范,引導用戶與銀行對接,從而實現支付。此種方案最大的優點,系統只需要與第三方支付公司交互,開發工作量極低。
缺點:由于通過第三方支付公司引導用戶支付的,所以用戶支付的錢會支付給第三方支付公司,網站再與第三方支付公司定期進行資金結算。所以如果金額較大,資金安全是個大問題。并且這種支付模型也會收取一定的手續費,因此此種支付方案只適合月金額在百萬以下的公司。

代碼片段和文件信息
package?cn.itcast.servlet;
import?java.io.IOException;
import?java.util.ResourceBundle;
import?javax.servlet.ServletException;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
import?cn.itcast.utils.PaymentUtil;
/**
?*?接收付款結果的信息的
?*?
?*?@author?seawind
?*?
?*/
public?class?CallbackServlet?extends?HttpServlet?{
public?void?doGet(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{
//?1.?獲得支付公司?發回?支付結果數據
String?r0_Cmd?=?request.getParameter(“r0_Cmd“);
String?r1_Code?=?request.getParameter(“r1_Code“);
String?r2_TrxId?=?request.getParameter(“r2_TrxId“);
String?r3_Amt?=?request.getParameter(“r3_Amt“);
String?r4_Cur?=?request.getParameter(“r4_Cur“);
String?r5_Pid?=?request.getParameter(“r5_Pid“);
String?r6_Order?=?request.getParameter(“r6_Order“);
String?r7_Uid?=?request.getParameter(“r7_Uid“);
String?r8_MP?=?request.getParameter(“r8_MP“);
String?r9_BType?=?request.getParameter(“r9_BType“);
String?rb_BankId?=?request.getParameter(“rb_BankId“);
String?ro_BankOrderId?=?request.getParameter(“ro_BankOrderId“);
String?rp_PayDate?=?request.getParameter(“rp_PayDate“);
String?rq_CardNo?=?request.getParameter(“rq_CardNo“);
String?ru_Trxtime?=?request.getParameter(“ru_Trxtime“);
String?hmac?=?request.getParameter(“hmac“);
//?2、驗證支付公司身份
//?將所有數據加密一次獲得?hmac?通過支付公司發來hmac比較
String?p1_MerId?=?ResourceBundle.getBundle(“merchantInfo“).getString(
“p1_MerId“);
String?keyValue?=?ResourceBundle.getBundle(“merchantInfo“).getString(
“keyValue“);
boolean?result?=?PaymentUtil.verifyCallback(hmac?p1_MerId?r0_Cmd
r1_Code?r2_TrxId?r3_Amt?r4_Cur?r5_Pid?r6_Order?r7_Uid
r8_MP?r9_BType?keyValue);
if?(result)?{
//?驗證成功
if?(r9_BType.equals(“1“))?{
//?瀏覽器重定向?,通知用戶付款成功!
response.setContentType(“text/html;charset=utf-8“);
response.getWriter().println(“您已經支付成功!成功支付金額:?“?+?r3_Amt);
}?else?if?(r9_BType.equals(“2“))?{
//?服務器點對點,易寶通知你
System.out.println(“服務器進行支付成功數據處理...“);
response.getWriter().println(“success“);
}
}?else?{
//?驗證失敗
System.out.println(“交易數據被篡改!“);
}
}
public?void?doPost(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{
doGet(request?response);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????362??2012-05-24?16:30??day19pay\.classpath
?????文件????????297??2013-05-22?13:25??day19pay\.myme
?????文件???????1414??2012-05-24?17:02??day19pay\.project
?????文件????????500??2012-05-24?16:30??day19pay\.settings\.jsdtscope
?????文件?????????49??2012-05-24?16:30??day19pay\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件??????????6??2012-05-24?16:30??day19pay\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件???????2565??2012-05-24?17:16??day19pay\src\cn\itcast\servlet\CallbackServlet.java
?????文件???????2521??2012-05-24?16:47??day19pay\src\cn\itcast\servlet\PayServlet.java
?????文件???????5833??2013-05-22?18:09??day19pay\src\cn\itcast\utils\PaymentUtil.java
?????文件????????146??2012-05-24?17:08??day19pay\src\merchantInfo.properties
?????文件???????1393??2012-05-24?16:49??day19pay\WebRoot\confirm.jsp
?????文件???????3232??2013-05-22?15:35??day19pay\WebRoot\gsyh.jpg
?????文件????????829??2012-05-24?16:30??day19pay\WebRoot\index.jsp
?????文件?????????36??2012-05-24?16:30??day19pay\WebRoot\me
?????文件???????1806??2013-05-22?15:41??day19pay\WebRoot\pay.html
?????文件???????3038??2013-05-22?20:56??day19pay\WebRoot\WEB-INF\classes\cn\itcast\servlet\CallbackServlet.class
?????文件???????2579??2013-05-22?20:56??day19pay\WebRoot\WEB-INF\classes\cn\itcast\servlet\PayServlet.class
?????文件???????4583??2013-05-22?20:56??day19pay\WebRoot\WEB-INF\classes\cn\itcast\utils\PaymentUtil.class
?????文件????????146??2012-05-24?17:08??day19pay\WebRoot\WEB-INF\classes\merchantInfo.properties
?????文件????????919??2012-05-24?16:50??day19pay\WebRoot\WEB-INF\web.xm
?????目錄??????????0??2013-05-22?20:46??day19pay\WebRoot\WEB-INF\classes\cn\itcast\servlet
?????目錄??????????0??2013-05-22?20:46??day19pay\WebRoot\WEB-INF\classes\cn\itcast\utils
?????目錄??????????0??2013-05-22?20:46??day19pay\WebRoot\WEB-INF\classes\cn\itcast
?????目錄??????????0??2013-05-20?11:22??day19pay\src\cn\itcast\servlet
?????目錄??????????0??2013-05-20?11:22??day19pay\src\cn\itcast\utils
?????目錄??????????0??2013-05-22?20:46??day19pay\WebRoot\WEB-INF\classes\cn
?????目錄??????????0??2013-05-20?11:22??day19pay\src\cn\itcast
?????目錄??????????0??2013-05-22?20:56??day19pay\WebRoot\WEB-INF\classes
?????目錄??????????0??2012-05-24?17:34??day19pay\WebRoot\WEB-INF\lib
?????目錄??????????0??2013-05-20?11:22??day19pay\src\cn
............此處省略10個文件信息
評論
共有 條評論