| | |
| | | .notify_url(notifyUrl) |
| | | .trade_type(TradeType.APP.getTradeType()) |
| | | .build() |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | log.info("微信APP支付请求params:{}", JSONUtil.toJsonStr(params)); |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | log.debug("微信APP支付请求params:{}", JSONUtil.toJsonStr(params)); |
| | | String xmlResult = WxPayApi.pushOrder(false, params); |
| | | log.info("微信APP支付结果xml:{}", xmlResult); |
| | | log.debug("微信APP支付结果xml:{}", xmlResult); |
| | | |
| | | Map<String, String> result = WxPayKit.xmlToMap(xmlResult); |
| | | String returnCode = result.get("return_code"); |
| | | String resultCode = result.get("result_code"); |
| | | String returnMsg = result.get("return_msg"); |
| | | if (!WxPayKit.codeIsOk(returnCode) || !WxPayKit.codeIsOk(resultCode)) { |
| | | log.error("微信APP支付异常!{}", returnMsg); |
| | | log.error("微信APP支付异常!{}", result); |
| | | return new ErrorResponseData(returnMsg); |
| | | } |
| | | |
| | | // 以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回 |
| | | String prepayId = result.get("prepay_id"); |
| | | |
| | | Map<String, String> packageParams = WxPayKit.appPrepayIdCreateSign(wxPayApiConfig.getAppId(), wxPayApiConfig.getMchId(), prepayId, wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | Map<String, String> packageParams = WxPayKit.appPrepayIdCreateSign(wxPayApiConfig.getAppId(), wxPayApiConfig.getMchId(), prepayId, wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | |
| | | String jsonStr = JSON.toJSONString(packageParams); |
| | | log.info("微信APP支付返回参数:{}", jsonStr); |
| | |
| | | |
| | | // 注意重复通知的情况,同一订单号可能收到多次通知,请注意一定先判断订单状态 |
| | | // 注意此处签名方式需与统一下单的签名类型一致 |
| | | if (WxPayKit.verifyNotify(params, WxPayApiConfigKit.getWxPayApiConfig().getPartnerKey(), SignType.HMACSHA256)) { |
| | | if (WxPayKit.verifyNotify(params, WxPayApiConfigKit.getWxPayApiConfig().getPartnerKey(), SignType.MD5)) { |
| | | if (WxPayKit.codeIsOk(returnCode)) { |
| | | // 参数文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7&index=8 |
| | | String totalFee = params.get("total_fee"); |
| | |
| | | .trade_type(TradeType.MWEB.getTradeType()) |
| | | .scene_info(JSON.toJSONString(sceneInfo)) |
| | | .build() |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | |
| | | String xmlResult = WxPayApi.pushOrder(false, params); |
| | | log.info(xmlResult); |
| | |
| | | .trade_type(TradeType.JSAPI.getTradeType()) |
| | | .openid(openId) |
| | | .build() |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | |
| | | String xmlResult = WxPayApi.pushOrder(false, params); |
| | | log.info(xmlResult); |
| | |
| | | String prepayId = resultMap.get("prepay_id"); |
| | | |
| | | Map<String, String> packageParams = WxPayKit.prepayIdCreateSign(prepayId, wxPayApiConfig.getAppId(), |
| | | wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | |
| | | String jsonStr = JSON.toJSONString(packageParams); |
| | | return new SuccessResponseData(jsonStr); |
| | |
| | | .trade_type(TradeType.NATIVE.getTradeType()) |
| | | .openid(openId) |
| | | .build() |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | String xmlResult = WxPayApi.pushOrder(false, params); |
| | | log.info("统一下单:" + xmlResult); |
| | | /** |
| | |
| | | //result_code为FAIL时,添加该键值对,value值是微信告诉客户的信息 |
| | | prepayParams.put("err_code_des", "订单失效"); |
| | | } |
| | | prepaySign = WxPayKit.createSign(prepayParams, wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | prepaySign = WxPayKit.createSign(prepayParams, wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | prepayParams.put("sign", prepaySign); |
| | | String xml = WxPayKit.toXml(prepayParams); |
| | | log.error(xml); |
| | |
| | | .notify_url(notifyUrl) |
| | | .trade_type(TradeType.NATIVE.getTradeType()) |
| | | .build() |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | |
| | | String xmlResult = WxPayApi.pushOrder(false, params); |
| | | log.info("统一下单:" + xmlResult); |
| | |
| | | .spbill_create_ip(ip) |
| | | .auth_code(authCode) |
| | | .build() |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | |
| | | String xmlResult = WxPayApi.microPay(false, params); |
| | | //同步返回结果 |
| | |
| | | .trade_type(TradeType.JSAPI.getTradeType()) |
| | | .openid(openId) |
| | | .build() |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | |
| | | String xmlResult = WxPayApi.pushOrder(false, params); |
| | | |
| | |
| | | // 以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回 |
| | | String prepayId = result.get("prepay_id"); |
| | | Map<String, String> packageParams = WxPayKit.miniAppPrepayIdCreateSign(wxPayApiConfig.getAppId(), prepayId, |
| | | wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256); |
| | | wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | String jsonStr = JSON.toJSONString(packageParams); |
| | | log.info("小程序支付的参数:" + jsonStr); |
| | | return new SuccessResponseData(jsonStr); |
| | |
| | | params.put("bank_code", "1001"); |
| | | params.put("amount", "1"); |
| | | params.put("desc", "IJPay 让支付触手可及-付款到银行卡"); |
| | | params.put("sign", WxPayKit.createSign(params, wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256)); |
| | | params.put("sign", WxPayKit.createSign(params, wxPayApiConfig.getPartnerKey(), SignType.MD5)); |
| | | return WxPayApi.payBank(params, wxPayApiConfig.getCertPath(), wxPayApiConfig.getMchId()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | .nonce_str(WxPayKit.generateStr()) |
| | | .receiver(JSON.toJSONString(receiver)) |
| | | .build() |
| | | .createSign(wxPayBean.getPartnerKey(), SignType.HMACSHA256); |
| | | .createSign(wxPayBean.getPartnerKey(), SignType.MD5); |
| | | log.info("请求参数:{}", WxPayKit.toXml(params)); |
| | | String result = WxPayApi.profitSharingAddReceiver(params); |
| | | log.info("请求结果:{}", result); |
| | |
| | | .out_order_no(WxPayKit.generateStr()) |
| | | .receivers(JSON.toJSONString(list)) |
| | | .build() |
| | | .createSign(wxPayBean.getPartnerKey(), SignType.HMACSHA256); |
| | | .createSign(wxPayBean.getPartnerKey(), SignType.MD5); |
| | | |
| | | log.info("请求参数:{}", WxPayKit.toXml(params)); |
| | | String result = WxPayApi.profitSharing(params, wxPayBean.getCertPath(), wxPayBean.getMchId()); |