JAVA微信支付(网页扫码支付)

公众号配置好后:配置说明可以开始开发

开发步骤:

1、生成订单(这里就不展示代码了)

2、获取支付url

//获得微信支付二维码
	private String getPayCodeUrl(OrderDto order) {
		String spbill_create_ip =  "127.0.0.1"; 
	    String nonce_str = PayUtil.createNonceStr(); // 随机数据  
		UnifiedOrderParams unifiedOrderParams = new UnifiedOrderParams();  
	    unifiedOrderParams.setAppid(WechatConfig.APP_ID);// 必须  
	    unifiedOrderParams.setMch_id(WechatConfig.MCH_ID);// 必须  
	    unifiedOrderParams.setOut_trade_no(order.getOrderNo());// 必须  
	    unifiedOrderParams.setBody("众彩世界--顶呱呱");// 必须 微信支付-支付测试  
//		    unifiedOrderParams.setTotal_fee(PayUtil.getFen(new BigDecimal(orderMap.get("transAmt").toString()))); // 必须  
	    int total_fee = 1; // 产品价格1分钱,用于测试  
	    unifiedOrderParams.setTotal_fee(total_fee);
	    unifiedOrderParams.setNonce_str(nonce_str); // 必须  
	    unifiedOrderParams.setSpbill_create_ip(spbill_create_ip); // 必须  
	    unifiedOrderParams.setTrade_type("NATIVE"); // 必须  
	    unifiedOrderParams.setOpenid(order.getOpenId());  
	    unifiedOrderParams.setNotify_url(WechatConfig.NOTIFY_URL);// 异步通知url  
		// 统一下单 请求的Xml(正常的xml格式)
		String unifiedXmL = MsgUtil.abstractPayToXml(unifiedOrderParams);// 签名并入util
		logger.info(order.getOrderNo()+":getPayCodeUrl :"+unifiedXmL);
		String unifiedOrderResultXmL = HttpReqUtil.HttpsDefaultExecute(Constant.POST_METHOD,
				WechatConfig.UNIFIED_ORDER_URL, null, unifiedXmL, null);
		logger.info(order.getOrderNo()+":unifiedOrderResultXmL :"+unifiedOrderResultXmL);
		try {
			if (SignatureUtil.checkIsSignValidFromWeiXin(unifiedOrderResultXmL, WechatConfig.API_KEY, null)) {
				// 统一下单响应
				UnifiedOrderResult unifiedOrderResult = XmlUtil.getObjectFromXML(unifiedOrderResultXmL,UnifiedOrderResult.class);
				return unifiedOrderResult.getCode_url(); //二维码
			} else {
				logger.error("OrderController getPayCodeUrl sign error:"+order.getOrderNo());
			}
		} catch (Exception e) {
			logger.error("OrderController getPayCodeUrl error:"+order.getOrderNo(),e);
		}
		return "error";
	}

3、前端页面拿到url生成二维码(百度下吧)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值