關鍵字:微信公眾平臺 微信支付 全網發布 作者:方倍工作室原文:http://www.49028c.com/txw1958/p/wxpay-publish.html
在這篇微信公眾平臺開發教程中,我們將介紹如何開發實現微信支付的全網發布功能。
全網發布是指微信支付后臺最后一步中的維權功能、告警接口、發貨接口的檢測發布。
本文分為以下三個部分:
微信支付URL的設置和調通微信支付休戚相關。這里我們使用的幾個URL設置如下:支付測試URL:http://www.doucube.com/wxpay/jsapi/index.php交易通知URL:http://www.doucube.com/wxpay/notify/index.php維權通知URL:http://www.doucube.com/wxpay/rights/index.php告警通知URL:http://www.doucube.com/wxpay/alarm/index.php
二、發貨接口的調通調通發貨接口之前,需要用戶已經有一次交易才能發送,所以先完成一次jsapi支付,其代碼如下,
1 <?php 2 include_once("WxPayHelper.php"); 3 $commonUtil = new CommonUtil(); 4 $wxPayHelper = new WxPayHelper(); 5 $wxPayHelper->setParameter("bank_type", "WX"); 6 $wxPayHelper->setParameter("body", "方倍微信支付測試"); 7 $wxPayHelper->setParameter("partner", PARTNERID); 8 $wxPayHelper->setParameter("out_trade_no", $commonUtil->create_noncestr()); 9 $wxPayHelper->setParameter("total_fee", "1");10 $wxPayHelper->setParameter("fee_type", "1");11 $wxPayHelper->setParameter("notify_url", "http://www.doucube.com/wxpay/notify/index.php");12 $wxPayHelper->setParameter("spbill_create_javascript">19 function callpay()20 {21 WeixinJSBridge.invoke('getBrandWCPayRequest',<?php echo $biz_package;?>,function(res){22 WeixinJSBridge.log(res.err_msg);23 alert(res.err_code+res.err_desc+res.err_msg);24 });25 }26 </script>27 <body>28 <button type="button" onclick="callpay()">方倍微信支付測試</button>29 </body>30 </html>
當上述交易完成之后,會向交易通知接口回調URL并帶上參數,如下
http://www.doucube.com/wxpay/notify/index.php?discount=0&fee_type=1&input_charset=GBK¬ify_id=aCi-cg4m1nr2bbg-De-MK6hQum8XVsw4mYfYnD5umAiEm_J6P_MalPvOisl2NJdurzTW-TJ9IPcnKmZm5TpKjrc8bXT6PEe0&out_trade_no=5DlIL2s5DGR8147c&partner=1219951701&PRoduct_fee=1&sign=A7AEF7AE3B70C54C3C0FF642DD2E2004&sign_type=md5&time_end=20140808185647&total_fee=1&trade_mode=1&trade_state=0&transaction_id=1219951701201408083366666764&transport_fee=0
同時POST發送了以下xml數據
<xml><OpenId><![CDATA[ocIywt7h42MwHxXx23sJdBpBV7Q8]]></OpenId><AppId><![CDATA[wxa8826d0c0c0b6d6a]]></AppId><IsSubscribe>1</IsSubscribe><TimeStamp>1407495408</TimeStamp><NonceStr><![CDATA[D6iywdqlcdUj8nDQ]]></NonceStr><AppSignature><![CDATA[a99a3cb4f5377dc30cca3f7b362412d7e468e0f4]]></AppSignature><SignMethod><![CDATA[sha1]]></SignMethod></xml>
取出url中的
transaction_id=1219951701201408083366666764out_trade_no=5DlIL2s5DGR8147c
及xml中的
<OpenId><![CDATA[ocIywt7h42MwHxXx23sJdBpBV7Q8]]></OpenId>
將上述3樣參數值填充到發貨接口中,代碼可參考微信支付開發(6) 發貨通知
運行一次,就調通了發貨通知接口。
三、維權接口與告警接口的調通維權接口與告警接口的調通非常簡單,因為官方只需要接收到有響應。所以都直接在相應的index.php中返回success,代碼如下:
<?phpecho "success";?>四、效果圖
上述3個接口調通以后,就可以全網發布了。效果如下
新聞熱點
疑難解答