|
@@ -177,9 +177,74 @@ define(function (require) {
|
|
|
var param_str = JSON.stringify(param);
|
|
|
window.jsapi.sign(param_str);
|
|
|
},
|
|
|
- ios: function () {
|
|
|
- var param_str = JSON.stringify(param);
|
|
|
- window.location.href = 'http://callclient?method=sign¶m=' + param_str + '&callback=' + _callback;
|
|
|
+ //支付
|
|
|
+ pay: function (params, callback) {
|
|
|
+ var that = this;
|
|
|
+ var param = {};
|
|
|
+ var _callback = 'NativeCallback.pay';
|
|
|
+ helper.osProxy({
|
|
|
+ android: function () {
|
|
|
+ param['charge'] = params.charge;
|
|
|
+ param['callback'] = _callback;
|
|
|
+ var param_str = JSON.stringify(param);
|
|
|
+ window.jsapi.pay(param_str);
|
|
|
+ },
|
|
|
+ // ios 的可以无视了,本项目暂时用不到
|
|
|
+ ios: function () {
|
|
|
+ NativeDataAdapter.charge = JSON.stringify(params.charge);
|
|
|
+ param['charge'] = 'NativeDataAdapter.charge';
|
|
|
+ var param_str = JSON.stringify(param);
|
|
|
+ window.location.href = 'http://callclient?method=pay¶m=' + encodeURIComponent(param_str) + '&callback=' + _callback;
|
|
|
+ },
|
|
|
+ wx: function () {
|
|
|
+ // 这个我就不知道说什么好了,判断当前环境为test的话,走ping++模拟支付
|
|
|
+ if (config.test) {
|
|
|
+ pingpp.createPayment(params.charge, function (result, err) {
|
|
|
+ if (result == "success") {
|
|
|
+ // 只有微信公众账号 wx_pub 支付成功的结果会在这里返回,其他的支付结果都会跳转到 extra 中对应的 URL。
|
|
|
+ var res = {
|
|
|
+ success: true
|
|
|
+ };
|
|
|
+ callback(res);
|
|
|
+ } else if (result == "fail") {
|
|
|
+ // charge 不正确或者微信公众账号支付失败时会在此处返回
|
|
|
+ console.log(err);
|
|
|
+ } else if (result == "cancel") {
|
|
|
+ // 微信公众账号支付取消支付
|
|
|
+ console.log(err);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ // 当前为正式环境,通过url传值到微信支付授权的url,然后在该url下面进行微信支付
|
|
|
+ /*
|
|
|
+ * 参数说明:带 * 号的为微信支付用到的
|
|
|
+ * appId:* 公众号名称,由商户传入
|
|
|
+ * nonceStr:* 随机串
|
|
|
+ * prepay:预付款ID
|
|
|
+ * signType:* 微信签名方式:
|
|
|
+ * timeStamp:* 时间戳,自1970年以来的秒数
|
|
|
+ * paySign:* 微信签名
|
|
|
+ * amount:实付金额
|
|
|
+ * created:建立
|
|
|
+ * body:订单名字
|
|
|
+ * bookingTime:预约时间
|
|
|
+ * */
|
|
|
+ var option = params['charge'].credential.wx_pub; // 支付凭据
|
|
|
+ var prepay = option["package"].replace('prepay_id=', '');
|
|
|
+ var bookingTime = params.orderInfo.booking_time_str;
|
|
|
+ location.href = '/webapp/o2o/module/pay/index.html?appId='
|
|
|
+ + option.appId + '&nonceStr=' + option.nonceStr
|
|
|
+ + '&package=' + prepay + '&signType='
|
|
|
+ + option.signType + '&timeStamp='
|
|
|
+ + option.timeStamp + '&paySign='
|
|
|
+ + option.paySign + '&amount=' + params['charge'].amount
|
|
|
+ + '&created=' + params['charge'].created + '&body='
|
|
|
+ + params['charge'].body + '&bookingTime=' + bookingTime;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ var callback = typeof (arguments[1]) == 'function' ? arguments[1] : null;
|
|
|
+ this.payCallback = callback;
|
|
|
},
|
|
|
wx: function () {
|
|
|
//目前加上参数,绕过验证,后面再加上相关的验证
|