微信支付功能--PC端生成二维码,实现扫描支付功能

信息发布:Mr.Peng 发布日期:2016-10-08 18:11 热度:329 分享到:

生成微信支付二维码如下:

public static String getQrocdePay(String notifyUrl,String productName,String orderNum,Double price,String ipLocal) throws Exception{
		String url = "";
		//金额转为分单位
		Double expandPrice = price*100;
		//转int类型
		Integer totalFee = expandPrice.intValue();
		//生成签名
		String timeStamp = Sha1Util.getTimeStamp();
		TreeMap<Object, Object> packageParams = new TreeMap<Object, Object>();
		packageParams.put("appid",WeChatConfig.APP_ID);
		packageParams.put("mch_id",WeChatConfig.PARTNER);//设置商户号
		packageParams.put("nonce_str",Sha1Util.getNonceStr());
		packageParams.put("time_stamp",timeStamp);//时间戳
		packageParams.put("out_trade_no", orderNum); //商户订单号  
		packageParams.put("body", productName); //商品描述   
		packageParams.put("fee_type","CNY"); 	  //银行币种
		packageParams.put("total_fee", totalFee); //商品总金额,以分为单位
		packageParams.put("spbill_create_ip",ipLocal); //订单生成的机器IP,指用户浏览器端IP
		packageParams.put("notify_url", notifyUrl); //通知地址  
		packageParams.put("trade_type", "NATIVE");  //交易类型 JSAPI--公众号支付、NATIVE--原生扫码支付、APP--app支付,统一下单接口trade_type的传参可参考这里
		//调用获取订单接口,并返回相关参数
		try {
			String str = WXPrepay.QRcodePay(packageParams);
			if(str!=null){
				url = TenpayUtil.QRfromOSchina(str);
			}
		} catch (Exception e) {
			e.printStackTrace();
			
		}
		return url;
	}

详细请查看附件中的WXUnifiedOrderUtil.java 文件,此文件只供参考,不可以直接使用。

业务流程时序图


业务流程说明:

(1)商户后台系统根据用户选购的商品生成订单。

(2)用户确认支付后调用微信支付【统一下单API】生成预支付交易;

(3)微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。

(4)商户后台系统根据返回的code_url生成二维码。

(5)用户打开微信“扫一扫”扫描二维码,微信客户端将扫码内容发送到微信支付系统。

(6)微信支付系统收到客户端请求,验证链接有效性后发起用户支付,要求用户授权。

(7)用户在微信客户端输入密码,确认支付后,微信客户端提交授权。

(8)微信支付系统根据用户授权完成支付交易。

(9)微信支付系统完成支付交易后给微信客户端返回交易结果,并将交易结果通过短信、微信消息提示用户。微信客户端展示支付交易结果页面。

(10)微信支付系统通过发送异步消息通知商户后台系统支付结果。商户后台系统需回复接收情况,通知微信后台系统不再发送该单的支付通知。

(11)未收到支付通知的情况,商户后台系统调用【查询订单API】。

(12)商户确认订单已支付后给用户发货。

二维码相关知识

二维码背景知识介绍:

http://www.thonky.com/qr-code-tutorial/

http://coolshell.cn/articles/10590.html


附件下载

weChat.rar

备注:点击文件名下载,附件源来自云端,只能在本站下载。复制下载链接无效。

本文主题

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

¥我需要走的更远,点击我 赞助。 如果还有疑问,点击我加群,为你提供最好的解答。


工具导航地图

 
Nodejs + socket Demo 赞助二维码 赞助名单 百度口碑点赞 查看QQ群美女帅哥 点击加QQ群 听音乐 开启弹幕 X
反馈意见