微信公眾號支付和提現
一、微信公眾號支付。
1.XXX/WechatPayController/getAuthorizeUrl?url=http://域名/專案/XXXController/toBuyCard,在controller方法裡,獲取url,重定向到
"https://open.weixin.qq.com/connect/oauth2/authorize"+"?"+"appid="+this.APPID+"&redirect_uri="+URLEncoder.encode(url,"UTF-8")+"&scope=snsapi_base";
2.在url中接收微信返回的code,利用code傳送
"https://api.weixin.qq.com/sns/oauth2/access_token"+ "appid=" + APPID + "&" + "secret=" + secret + "&code=" + code+ "&grant_type=authorization_code"
獲取openID;//返回的資料是json
3.將上面的openID傳送到前臺html頁面,通過前臺傳送請求到後臺,通過微信統一下單:引數
"nonce_str", "5K8264ILTKCH16CQ2502SI8ZNMTM67VS"
"body", "充值"
"out_trade_no", tradeNo
"fee_type", "CNY"
"total_fee", fee
"spbill_create_ip", clientIp
"notify_url", notifyUrl
"trade_type", "JSAPI"
"openid",openId
可以獲取微信返回的JSON資料
4.將資料傳送到前臺html頁面,通過jssdk,需要引入<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>,拉起微信支付,
WeixinJSBridge.invoke('getBrandWCPayRequest',{
"appId" : appId, //公眾號名稱,由商戶傳入
"timeStamp" : timeStamp, //時間戳
"nonceStr" : nonceStr, //隨機串
"package" : prepayIde,//擴充套件包
"signType" : "MD5",
"paySign" : signe //微信簽名
},function(res){
alert("res"+JSON.stringify(res));
alert("res.err_msg"+res.err_msg);
if(res.err_msg == "get_brand_wcpay_request:ok") {
// window.location.href="toTransactionDetail.html?orderId="+$("#pay").attr("orderId");
window.location.href="XXX/XXXController/wxpayBuy"; //支付成功,去本地後臺處理資料
}
});
注:1.APPID,secret,MchID,Key都需要微信公眾號開通微信支付商戶,然後部分引數配置
2.同時需要配置訪問路徑,只用到controller
二、微信公眾號提現:
1.XXX/XXXController/getAuthorizeUrl?url=http://域名/專案/XXXController/authorizeCallback,獲取code->openID,
2.通過openID 傳送提現請求:引數
"mch_appid", appid
"mchid", mch_id
"nonce_str", new Date().getTime()+MyUtil.getStr(16)
"partner_trade_no", new Date().getTime()+""
"openid", openId
"check_name", "NO_CHECK"
"amount",""+ money*100
"desc", "提現"
"re_user_name", realName
"spbill_create_ip", spbill_create_ip//"192.168.1.1",
"sign", sign//通過上面的引數MD5生成
將引數組裝成XML,傳送到"https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"
返回的"return_code"和"result_code" 均為"SUCCESS"時為成功
注:這裡提現,需要玩家的繫結微訊號的真實姓名,需要安全證書,在微信商戶平臺下載