已申请微信支付 v3版本。 技术实现:通过连接微信api已获取到预订单id。同时生成订单orderjson返回app端,这样app端仅需调用调用payOrder即可实现支付。 weiXin.payOrder(orderjson,function(ret,err) { if (ret.status){ alert("支付结果:"+ret.result); }else{ alert("支付结果:err.msg="+err.msg+";ret.status="+ret.status+";ret.result="+ret.result); } }); 正式编译打包,在android三星手机和iphone手机上,无法启动微信支付页面,返回提示框如下:(apploader真机模拟,竟然可以打开微信支付页面但返回原app,很奇怪。)
配置信息如下: config.xml <feature name="weiXin"> <param name="urlScheme" value="wx8442****************"/> <param name="apiKey" value="wx8442*********************"/> <param name="apiSecret" value="a39eba4******************************"/> </feature> key.xml <security> <item name="weiXin_pay_appId" value="wx8442*******"/> <item name="weiXin_pay_mchId" value="123***********"/> <item name="weiXin_pay_partnerKey" value="yue***************"/> <item name="weiXin_pay_notifyUrl" value="http://118.123************xin.jsp"/> </security> Java后台生成orderjson主要代码如下: private Map<String, String> genWeiXinOrderJson(String prepayId) { String noncestr=WxPayCongfig.getNonceStr(); String timestamp=WxPayCongfig.getTimeStamp(); Map<String, String> result = new HashMap<String, String>(); result.put("appid", WxPayCongfig.APPID); result.put("appkey", WxPayCongfig.partnerkey);//v3应该是秘钥 result.put("partnerid", WxPayCongfig.MCHID);//商家对用户的唯一标识 result.put("noncestr", noncestr); result.put("timestamp", timestamp); result.put("prepayid", prepayId); result.put("package", "Sign=WXPay"); String sign=WxPayCongfig.createSHA1Sign(WxPayCongfig.createLinkString(result)); //生成json对象 Map<String, String> p = new HashMap<String, String>(); p.put("orderId", prepayId); p.put("partnerId", WxPayCongfig.MCHID); p.put("nonceStr", noncestr); p.put("timeStamp", timestamp); p.put("package", "Sign=WXPay"); p.put("sign", sign); return p; }
|