| | |
| | | |
| | | public static void main(String[] args) { |
| | | // TODO: 请准备商户开发必要参数,参考:https://pay.weixin.qq.com/doc/v3/merchant/4013070756 |
| | | // TransferToUser client = new TransferToUser( |
| | | // "1229817002", // 商户号,是由微信支付系统生成并分配给每个商户的唯一标识符,商户号获取方式参考 https://pay.weixin.qq.com/doc/v3/merchant/4013070756 |
| | | // "3FE90C2F3D40A56E1C51926F31B8A8D22426CCE0", // 商户API证书序列号,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013053053 |
| | | // "d://wechatApiclient_key.pem", // 商户API证书私钥文件路径,本地文件路径 |
| | | // "PUB_KEY_ID_0112298170022025071700291836000600", // 微信支付公钥ID,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013038816 |
| | | // "d://pub_key.pem" // 微信支付公钥文件路径,本地文件路径 |
| | | // ); |
| | | |
| | | TransferToUser client = new TransferToUser( |
| | | "1229817002", // 商户号,是由微信支付系统生成并分配给每个商户的唯一标识符,商户号获取方式参考 https://pay.weixin.qq.com/doc/v3/merchant/4013070756 |
| | | "3FE90C2F3D40A56E1C51926F31B8A8D22426CCE0", // 商户API证书序列号,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013053053 |
| | | "1661772003", // 商户号,是由微信支付系统生成并分配给每个商户的唯一标识符,商户号获取方式参考 https://pay.weixin.qq.com/doc/v3/merchant/4013070756 |
| | | "3C9A32FB6CD453FAAAF97F9737ECAEA9D6625727", // 商户API证书序列号,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013053053 |
| | | "d://wechatApiclient_key.pem", // 商户API证书私钥文件路径,本地文件路径 |
| | | "PUB_KEY_ID_0112298170022025071700291836000600", // 微信支付公钥ID,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013038816 |
| | | "d://pub_key.pem" // 微信支付公钥文件路径,本地文件路径 |
| | | "47E172124E73E8098A565E971064C20ACDE7C911", // 微信支付公钥ID,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013038816 |
| | | "d://wechatpay_47E172124E73E8098A565E971064C20ACDE7C911.pem" // 微信支付公钥文件路径,本地文件路径 |
| | | ); |
| | | |
| | | TransferToUserRequest request = new TransferToUserRequest(); |
| | |
| | | request.outBillNo = "plfk2020042016"; |
| | | request.transferSceneId = "1005"; |
| | | request.openid = "oKKHU5IFKpss_DIbFX1lqghFJOEg"; |
| | | request.userName = client.encrypt("施旭辉"); |
| | | request.transferAmount = 91L; |
| | | // request.userName = client.encrypt("施旭辉"); |
| | | request.transferAmount = 10L; |
| | | request.transferRemark = "~~~"; |
| | | request.notifyUrl = "https://www.weixin.qq.com/wxpay/pay.php"; |
| | | // request.notifyUrl = "https://www.weixin.qq.com/wxpay/pay.php"; |
| | | request.userRecvPerception = "劳务报酬"; |
| | | request.transferSceneReportInfos = new ArrayList<>(); |
| | | { |
| | |
| | | public TransferToUserResponse run(TransferToUserRequest request,String name) { |
| | | String uri = PATH; |
| | | request.appid = WxMiniConfig.wxProperties.getSubAppId(); |
| | | // request.notifyUrl = WxMiniConfig.wxProperties.getWechatNotifyUrl(); |
| | | request.transferSceneId = "1005"; |
| | | request.userRecvPerception = "劳务报酬"; |
| | | if(request.transferAmount >= 30){ |
| | |
| | | Request.Builder reqBuilder = new Request.Builder().url(HOST + uri); |
| | | reqBuilder.addHeader("Accept", "application/json"); |
| | | reqBuilder.addHeader("Wechatpay-Serial", WxMiniConfig.wxProperties.getWechatPayPublicKeyId()); |
| | | reqBuilder.addHeader("Authorization", WXPayUtility.buildAuthorization(WxMiniConfig.wxProperties.getMchId(), |
| | | reqBuilder.addHeader("Authorization", WXPayUtility.buildAuthorization(WxMiniConfig.wxProperties.getSubMchId(), |
| | | WxMiniConfig.wxProperties.getWechatSerialNumer(), |
| | | WXPayUtility.loadPrivateKeyFromPath(WxMiniConfig.wxProperties.getWechatPrivateKeyPath()), |
| | | METHOD, uri, reqBody)); |
| | |
| | | Request.Builder reqBuilder = new Request.Builder().url(HOST + uri); |
| | | reqBuilder.addHeader("Accept", "application/json"); |
| | | reqBuilder.addHeader("Wechatpay-Serial", wechatPayPublicKeyId); |
| | | reqBuilder.addHeader("Authorization", WXPayUtility.buildAuthorization(WxMiniConfig.wxProperties.getMchId(), |
| | | reqBuilder.addHeader("Authorization", WXPayUtility.buildAuthorization(WxMiniConfig.wxProperties.getSubMchId(), |
| | | WxMiniConfig.wxProperties.getWechatSerialNumer(), |
| | | WXPayUtility.loadPrivateKeyFromPath(WxMiniConfig.wxProperties.getWechatPrivateKeyPath()), |
| | | METHOD, uri, null)); |