For IntelliJ IDEA,
Android Studio or Eclipse



public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String noncestr = RandomUtils.getRandomStr(); String jsapiTicket = getJsapiTicket(false); try { String signature = SHA1.genWithAmple( "jsapi_ticket=" + jsapiTicket, "noncestr=" + noncestr, "timestamp=" + timestamp, "url=" + url ); WxJsapiSignature jsapiSignature = new WxJsapiSignature(); jsapiSignature.setTimestamp(timestamp); jsapiSignature.setNoncestr(noncestr); jsapiSignature.setUrl(url); jsapiSignature.setSignature(signature); return jsapiSignature; } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } }
public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String noncestr = RandomUtils.getRandomStr(); String jsapiTicket = getJsapiTicket(false); try { String signature = SHA1.genWithAmple( "jsapi_ticket=" + jsapiTicket, "noncestr=" + noncestr, "timestamp=" + timestamp, "url=" + url ); WxJsapiSignature jsapiSignature = new WxJsapiSignature(); jsapiSignature.setAppid(wxMpConfigStorage.getAppId()); jsapiSignature.setTimestamp(timestamp); jsapiSignature.setNoncestr(noncestr); jsapiSignature.setUrl(url); jsapiSignature.setSignature(signature); return jsapiSignature; } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } }
/** * * @Title: webPCPay * @Description: TODO 微信 PC 本地支付 * @param @param payParam * @param @return 参数 * @return WechatPayResult 返回类型 * @throws */ public WechatPayResult webPCPay(PayParam payParam){ Map<String, String> paramMap = new HashMap<String, String>(); paramMap.put("appid", WechatConfig.WEB_APP_ID); paramMap.put("body", payParam.getPayInfo()); paramMap.put("input_charset", "UTF-8"); paramMap.put("mch_id", WechatConfig.WEB_MCH_ID); paramMap.put("nonce_str", RandomUtils.getRandomStr()); paramMap.put("notify_url",WechatConfig.WEB_NOTIFY_URL); paramMap.put("out_trade_no", payParam.getPayOrderId()); paramMap.put("spbill_create_ip", "127.0.0.1"); paramMap.put("total_fee", PayUtils.YuanToFen(payParam.getPayAmount()) + ""); paramMap.put("trade_type", WechatConfig.tradeType.NATIVE.toString()); //下单 并获取支付响应的参数 WechatPayResult payResult = createOrder(paramMap,WechatConfig.tradeType.NATIVE); return payResult; }
/** * * @Title: appPay * @Description: TODO 微信APP 支付 * @param @param payParam * @param @return 参数 * @return WechatPayResult 返回类型 * @throws */ public WechatPayResult appPay(PayParam payParam){ Map<String, String> paramMap = new HashMap<String, String>(); paramMap.put("appid", WechatConfig.APP_APP_ID); paramMap.put("body", payParam.getPayInfo()); paramMap.put("input_charset", "UTF-8"); paramMap.put("mch_id", WechatConfig.APP_MCH_ID); paramMap.put("nonce_str", RandomUtils.getRandomStr()); paramMap.put("notify_url", WechatConfig.APP_NOTIFY_URL); paramMap.put("out_trade_no", payParam.getPayOrderId()); paramMap.put("spbill_create_ip", "127.0.0.1"); paramMap.put("total_fee", PayUtils.YuanToFen(payParam.getPayAmount()) + ""); paramMap.put("trade_type", WechatConfig.tradeType.APP.toString()); //下单 并获取支付响应的参数 WechatPayResult payResult = createOrder(paramMap,WechatConfig.tradeType.APP); return payResult; }
/** * * @Title: webPay * @Description: TODO 微信公众号支付 * @param @param payParam * @param @return 参数 * @return WechatPayResult 返回类型 * @throws */ public WechatPayResult webPhonePay(PayParam payParam){ Map<String, String> paramMap = new HashMap<String, String>(); paramMap.put("appid", WechatConfig.WEB_APP_ID); paramMap.put("body", payParam.getPayInfo()); paramMap.put("input_charset", "UTF-8"); paramMap.put("mch_id", WechatConfig.WEB_MCH_ID); paramMap.put("nonce_str", RandomUtils.getRandomStr()); paramMap.put("notify_url", payParam.getNotifyUrl()); paramMap.put("out_trade_no", payParam.getPayOrderId()); paramMap.put("spbill_create_ip", "127.0.0.1"); paramMap.put("openId", payParam.getOpenId()); paramMap.put("total_fee", PayUtils.YuanToFen(payParam.getPayAmount()) + ""); paramMap.put("trade_type", WechatConfig.tradeType.JSAPI.toString()); //下单 并获取支付响应的参数 WechatPayResult payResult = createOrder(paramMap,WechatConfig.tradeType.JSAPI); return payResult; }
/** * @param @param prepayId * @param @throws WxErrorException 参数 * @return WechatPayResult 返回类型 * @throws * @Title: createPaySignature * @Description: TODO 获取WEB支付的签名 */ public static WechatPayResult createWebPaySign(String prepayId) { prepayId = "prepay_id=" + prepayId; long timestamp = System.currentTimeMillis() / 1000; String noncestr = RandomUtils.getRandomStr(); String signType = "MD5"; List<String> params = new ArrayList<String>(); params.add("appId=" + WechatConfig.WEB_APP_ID); params.add("nonceStr=" + noncestr); params.add("timeStamp=" + timestamp); params.add("package=" + prepayId); params.add("signType=" + signType); String signature = getSign(params, WechatConfig.WEB_PAY_KEY); WechatPayResult paySignResult = new WechatPayResult(); paySignResult.setAppId(WechatConfig.WEB_APP_ID); paySignResult.setNoncestr(noncestr); paySignResult.setSignType(signType); paySignResult.setPrepayId(prepayId); paySignResult.setTimestamp(timestamp); paySignResult.setSignature(signature); return paySignResult; }
String noncestr = RandomUtils.getRandomStr(); String signType = "MD5";
WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String nonceStr = RandomUtils.getRandomStr(); String cardApiTicket = getCardApiTicket(false);
WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String nonceStr = RandomUtils.getRandomStr(); String cardApiTicket = getCardApiTicket(false);
public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String noncestr = RandomUtils.getRandomStr(); String jsapiTicket = getJsapiTicket(false); try { String signature = SHA1.genWithAmple( "jsapi_ticket=" + jsapiTicket, "noncestr=" + noncestr, "timestamp=" + timestamp, "url=" + url ); WxJsapiSignature jsapiSignature = new WxJsapiSignature(); jsapiSignature.setAppid(wxMpConfigStorage.getAppId()); jsapiSignature.setTimestamp(timestamp); jsapiSignature.setNoncestr(noncestr); jsapiSignature.setUrl(url); jsapiSignature.setSignature(signature); return jsapiSignature; } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } }
@Override public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String randomStr = RandomUtils.getRandomStr(); String jsapiTicket = getJsapiTicket(false); String signature = SHA1.genWithAmple("jsapi_ticket=" + jsapiTicket, "noncestr=" + randomStr, "timestamp=" + timestamp, "url=" + url); WxJsapiSignature jsapiSignature = new WxJsapiSignature(); jsapiSignature.setAppId(this.getWxMpConfigStorage().getAppId()); jsapiSignature.setTimestamp(timestamp); jsapiSignature.setNonceStr(randomStr); jsapiSignature.setUrl(url); jsapiSignature.setSignature(signature); return jsapiSignature; }
@Override public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String randomStr = RandomUtils.getRandomStr(); String jsapiTicket = getJsapiTicket(false); String signature = SHA1.genWithAmple("jsapi_ticket=" + jsapiTicket, "noncestr=" + randomStr, "timestamp=" + timestamp, "url=" + url); WxJsapiSignature jsapiSignature = new WxJsapiSignature(); jsapiSignature.setAppId(this.getWxMpConfigStorage().getAppId()); jsapiSignature.setTimestamp(timestamp); jsapiSignature.setNonceStr(randomStr); jsapiSignature.setUrl(url); jsapiSignature.setSignature(signature); return jsapiSignature; }
@Override public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String noncestr = RandomUtils.getRandomStr(); String jsapiTicket = getJsapiTicket(false); String signature = SHA1.genWithAmple( "jsapi_ticket=" + jsapiTicket, "noncestr=" + noncestr, "timestamp=" + timestamp, "url=" + url ); WxJsapiSignature jsapiSignature = new WxJsapiSignature(); jsapiSignature.setTimestamp(timestamp); jsapiSignature.setNonceStr(noncestr); jsapiSignature.setUrl(url); jsapiSignature.setSignature(signature); // Fixed bug jsapiSignature.setAppId(this.configStorage.getCorpId()); return jsapiSignature; }
@Override public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String randomStr = RandomUtils.getRandomStr(); String jsapiTicket = getJsapiTicket(false); String signature = SHA1.genWithAmple("jsapi_ticket=" + jsapiTicket, "noncestr=" + randomStr, "timestamp=" + timestamp, "url=" + url); return WxJsapiSignature .builder() .appId(this.wxMaService.getWxMaConfig().getAppid()) .timestamp(timestamp) .nonceStr(randomStr) .url(url) .signature(signature) .build(); } }
@Override public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException { long timestamp = System.currentTimeMillis() / 1000; String randomStr = RandomUtils.getRandomStr(); String jsapiTicket = getJsapiTicket(false); String signature = SHA1.genWithAmple("jsapi_ticket=" + jsapiTicket, "noncestr=" + randomStr, "timestamp=" + timestamp, "url=" + url); return WxJsapiSignature .builder() .appId(this.wxMaService.getWxMaConfig().getAppid()) .timestamp(timestamp) .nonceStr(randomStr) .url(url) .signature(signature) .build(); } }