微信支付的有关问题记录
微信支付的问题记录
在接入微信支付的过程中遇到了跟多问题
(1)微信支付在传价格的时候不能传 1.0,10.0等等又小数点,而且微信价格最小是分
也就是你传10,其实是1毛。
(2)还有就是在进行修改他的bady,也就是名称的时候,最后要把xml文件换种编码方式
// private String genProductArgs(String price,String outTradeNo,String goodsName) { StringBuffer xml = new StringBuffer(); try { String nonceStr = genNonceStr(); xml.append("</xml>"); List<NameValuePair> packageParams = new LinkedList<NameValuePair>(); packageParams.add(new BasicNameValuePair("appid", APP_ID)); packageParams.add(new BasicNameValuePair("body",goodsName)); packageParams.add(new BasicNameValuePair("mch_id", MCH_ID)); packageParams.add(new BasicNameValuePair("nonce_str", nonceStr)); packageParams.add(new BasicNameValuePair("notify_url", mNotifyUrl)); packageParams.add(new BasicNameValuePair("out_trade_no", outTradeNo)); packageParams.add(new BasicNameValuePair("spbill_create_ip", "127.0.0.1")); packageParams.add(new BasicNameValuePair("total_fee", /*price*/"1")); packageParams.add(new BasicNameValuePair("trade_type", "APP")); String sign = genPackageSign(packageParams); packageParams.add(new BasicNameValuePair("sign", sign)); String xmlstring = toXml(packageParams); return new String(xmlstring.toString().getBytes(), "ISO8859-1"); } catch (Exception e) { Log.e("weixinPay", "genProductArgs fail, ex = " + e.getMessage()); return null; } }(3)微信提示签名错误:上变的俩种都有可能引起,还有就是确实是你签名有问题
(4)微信支付成功以后不会回调支付完成的那个界面,这个需要的是
必须要保持跟微信的demo中包名一个模式才行,用自己的pakageName + “.wxapi”来定义你的包名。
(5)微信的支付测试都要签名以后才能成功。
版权声明:本文为博主原创文章,未经博主允许不得转载。