微信支付,即便交了保證金,你還是處理測試階段,不能正式發布。必須到你通過程序測試提交訂單、發貨通知等數據到微信的系統中,才能申請發布。
然後,因為在微信中是通過JS方式調用API,必須在微信後台設置支付授權目錄,而且要到二級三級目錄下去,這對於使用MVC框架來說,是個小問題。
使用MVC,在開發環境,url往往是native url格式,不能保證一定是帶有路徑/的形式
所以,比較可靠的方式,是創建實體的子文件夾,這樣的化,在系統整體url方面,需要進行一些改造。
另外,最後一步,js調用時,對於 https://github.com/dodgepudding/wechat-php-sdk 這裡提供的js庫,在調用時,必須確保在頁面加載完後觸發,即WeixinJSBridgeReady的狀態,因為這時才能與微信浏覽器提供jsbridge進行通訊。
5.24修復
具體可看微擎中的相關代碼。
復制代碼 代碼如下:
<script type="text/javascript">
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
'appId' : '<?php echo $wOpt['appId'];?>',
'timeStamp': '<?php echo $wOpt['timeStamp'];?>',
'nonceStr' : '<?php echo $wOpt['nonceStr'];?>',
'package' : '<?php echo $wOpt['package'];?>',
'signType' : '<?php echo $wOpt['signType'];?>',
'paySign' : '<?php echo $wOpt['paySign'];?>'
}, function(res) {
if(res.err_msg == 'get_brand_wcpay_request:ok') {
} else {
alert('啟動微信支付失敗, 請檢查你的支付參數. 詳細錯誤為: ' + res.err_msg);
}
history.go(-1);
});
}, false);
</script>