下载地址:微信支付宝支付 后台demo
1.部署
1.使用idea开发,maven包管理
2.springmvc框架搭建
你需要做的配置支付宝和微信的帐号
2.微信支付后台的坑
1.我后台生成预支付的时候使用的是utf-8编码的签名
而微信回调签名的用的gbk,导致我一直回调提示签名不正确
2.微信异步回调的数据是存储在数据流里面的,用getParameter是获取不到数据的
可以用下面代码获取到xml返回数据
DataInputStream in;
String wxNotifyXml = "";
try {
in = new DataInputStream(request.getInputStream());
byte[] dataOrigin = new byte[request.getContentLength()];
in.readFully(dataOrigin);
if(null != in) in.close();
wxNotifyXml = new String(dataOrigin);
t.println(wxNotifyXml);
} catch (IOException e) {
t.print(e.getLocalizedMessage());
}
<xml><appid><![CDATA[wx2410ff31eaede201]]></appid>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[N]]></is_subscribe>
<mch_id><![CDATA[1362855902]]></mch_id>
<nonce_str><![CDATA[9a1335ef5ffebb0de9d089c4182e4868]]></nonce_str>
<openid><![CDATA[oD0sPv3n_NipXg0P_lDvEEuJbEeM]]></openid>
<out_trade_no><![CDATA[1473124725061752417_0918455855]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[CCFA12FE743AF11FB92A7A6BA5D3C0B2]]></sign>
<time_end><![CDATA[20160906091900]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[APP]]></trade_type>
<transaction_id><![CDATA[4007532001201609063228415038]]></transaction_id>
</xml>