您的位置:首页 > 移动开发 > 微信开发

微信支付的问题记录

2015-08-28 14:12 661 查看
在接入微信支付的过程中遇到了跟多问题

(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)微信的支付测试都要签名以后才能成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: