有一个很奇怪的问题。为什么 微信支付要填addpid呢,可以支持配置多个appid吗?
我们有一个需求,根据不同的商品需要切换不同的支付服务商。
但是manifest配置微信支付地方只有一个文本框,请问
1、能否支持配置多个微信支付appid;
2、通过参数形式传给plus.payment.request。
目前支付宝支付就是靠传递的appid参数来设置的,为什么微信支付不行呢?请求支持。
let data = {
retcode: 0,
retmsg: 'ok',
appid: d.data.appid,
partnerid: d.data.partnerid,
prepayid: d.data.prepayid,
noncestr: d.data.noncestr,
package: d.data.package,
timestamp: d.data.timestamp,
sign: d.data.sign
};
plus.payment.request(
channel,
data,
function(result){
location.href = (__root+'payment/?oid='+sn + '&pay=success') ;
},function(error){
/*
支付宝支付错误代码如下: 62000,客户端未安装支付通道依赖的服务; 62001,用户取消支付操作; 62002,此设备不支持支付; 62003,数据格式错误; 62004,支付账号状态错误; 62005,订单信息错误; 62006,支付操作内部错误; 62007,支付服务器错误; 62008,网络问题引起的错误; 62009,其它未定义的错误。 微信支付错误代码如下: -1,一般错误; -2,用户取消; -3,发送失败; -4,认证被否决; -5,不支持错误。
* */
let codeMsgArr=[];
codeMsgArr['-1'] = '参数错误 5+API传入的参数不正确';
codeMsgArr['-2'] = '用户取消 用户取消当前的操作';
codeMsgArr['-3'] = '此功能不支持 当前5+Runtime不支持此功能';
codeMsgArr['-4'] = '文件不存在 操作的文件或目录不存在';
codeMsgArr['-5'] = 'IO错误 文件读写操作错误,如文件被其它程序占用等';
codeMsgArr['-6'] = '网络错误 无法连接到网络';
codeMsgArr['-7'] = '业务参数配置缺失 使用第三方SDK时缺失SECRET、APPID、APPKEY等数据';
codeMsgArr['-8'] = '客户端未安装 调用的第三方客户端未安装';
codeMsgArr['-9'] = '快捷方式已存在 创建快捷方式时快捷方式已存在,仅部分手机支持';
codeMsgArr['-10'] = '授权失败 用户拒绝该API访问';
codeMsgArr['-99'] = '未知错误 未定义的错误';
codeMsgArr['-100'] = '业务内部错误 使用的第三方SDK内部错误';
if(error.code == '-8'){
plus.nativeUI.alert("支付失败:" + codeMsgArr['-8'] );
}else{
plus.nativeUI.alert("支付失败:" + error.code );
}
}
);
由于data.appid 我们传入的值和配置里的不一样,导致报错,弹出提示 “支付支付:9”。