幾個(gè)容易忽略的細(xì)節(jié)1.需要先拿到openidvar openId = Bmob.User.current().get('authData').weapp.openid;2.事先聲明一個(gè)thatvar that = this;Bmob文檔沒(méi)提,但看到控制臺(tái)報(bào)沒(méi)有that定義,也就自然會(huì)加上了3.需要作實(shí) ...

var openId = Bmob.User.current().get('authData').weapp.openid;
var that = this;
Bmob文檔沒(méi)提,但看到控制臺(tái)報(bào)沒(méi)有that定義,也就自然會(huì)加上了
未認(rèn)證會(huì)報(bào) code: 10012, message: "your credit info must verify ok."
認(rèn)證入口:https://bmob.cn/account/info

實(shí)名認(rèn)證.png
價(jià)目表:http://bmob.cn/prices
應(yīng)用配置->微信小程序帳號(hào)服務(wù)配置

pay-config.png
var that = this;var openId = Bmob.User.current().get('authData').weapp.openid;// console.log(openId);//傳參數(shù)金額,名稱,描述,openidBmob.Pay.wechatPay(0.01, '名稱1', '描述', openId).then(function (resp) { console.log('resp'); console.log(resp);
that.setData({
loading: true,
dataInfo: resp
}) //服務(wù)端返回成功
var timeStamp = resp.timestamp,
nonceStr = resp.noncestr,
packages = resp.package,
orderId = resp.out_trade_no,//訂單號(hào),如需保存請(qǐng)建表保存。
sign = resp.sign; //打印訂單號(hào)
console.log(orderId); //發(fā)起支付
wx.requestPayment({ 'timeStamp': timeStamp, 'nonceStr': nonceStr, 'package': packages, 'signType': 'MD5', 'paySign': sign, 'success': function (res) { //付款成功,這里可以寫你的業(yè)務(wù)代碼
console.log(res);
}, 'fail': function (res) { //付款失敗
console.log('付款失敗'); console.log(res);
}
})
}, function (err) { console.log('服務(wù)端返回失敗'); console.log(err.message); // common.showTip(err.message, 'loading',{},6000);
console.log(err);
});
文檔出處:http://docs.bmob.cn/data/wechatApp/b_developdoc/doc/index.html#小程序支付
甩掉PHP諸多SDK,拋開服務(wù)端配置,不用云函數(shù),不用云引擎,Bmob一行代碼搞定預(yù)下單,這酸爽,簡(jiǎn)直了!
源碼下載:http://git.oschina.net/laeser/dinner