注册微信商户平台,https://pay.weixin.qq.comphp
注册开放平台 https://open.weixin.qq.comjava
1.添加应用 2.提交开发支付权限的功能git
搞懂支付的业务流程 :https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3github
其时,对于支付来讲,作实现完成,也要考虑,支付中,支付完成,退款中,已退款,结算 等状态。
apache
若是仅仅,只是一个支付的话。不是这样了。api
qq群:436498871微信
因为微信的使用的xml 格式的 报文。本身写相应解析,加密也是勾勾的。就用了github 上一个哥们写的
app
https://github.com/louiseliu/weixin-pay dom
用gradle 构建的项目,也是勾勾的。不过有相应的依赖什么的。
maven
我已经打包有须要联系我。
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> <exclusions> <exclusion> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </exclusion> <exclusion> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </exclusion> <exclusion> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> </exclusion> <exclusion> <groupId>com.sun.jmx</groupId> <artifactId>jmxri</artifactId> </exclusion> </exclusions> <scope>compile</scope> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.2</version> </dependency> <dependency> <groupId>com.wein</groupId> <artifactId>wexin-pay-1.1</artifactId> <version>1.1</version> <scope>system</scope> <systemPath>${basedir}/libs/weixin-pay-1.1.jar</systemPath> </dependency>
(2)
https://pay.weixin.qq.com/index.php/account/api_cert
下载证书,设置apiKey
/** * 配置微信支付 * */ //appId Configure.setAppID(AppConstant.WEIXIN_SHANGHU_OPENPLATFORM_APPID); //商户号 Configure.setMchID(AppConstant.WEIXIN_SHANGHU_MCHID); String path=applicationContext.getClass().getResource("/").getPath(); //p12key文件的位置 Configure.setCertLocalPath(path+"cert/apiclient_cert.p12"); Configure.setCertPassword(AppConstant.WEIXIN_SHANGHU_MCHID); Configure.setSubMchID(AppConstant.WEIXIN_SHANGHU_MCHID); //支付接口调用的apiKey Configure.setKey(AppConstant.WEIXIN_SHANGHU_KEY); //设置微信支付回调地址 Configure.setNotifyCallbackUrl("http://192.168.1.114:9967/order/app/v1/secure/order/reCallCheckPaySatus");
//设置开放平台的appId payPackage.setAppid(AppConstant.WEIXIN_SHANGHU_OPENPLATFORM_APPID); // 设置商户平台的id payPackage.setMch_id(AppConstant.WEIXIN_SHANGHU_MCHID); //设置商品描述信息(128) payPackage.setBody(productName); payPackage.setGoods_tag(""); //附加数据 payPackage.setAttach("orderid:11"); //设置设备信息 payPackage.setDevice_info(""); //获取设备ip try { //终端IP String hostIp=NetworkUtil.getIpAddress(request); payPackage.setSpbill_create_ip(hostIp); } catch (IOException e) { e.printStackTrace(); payPackage.setSpbill_create_ip("127.0.0.1"); } //设置总额 单位:分 payPackage.setTotal_fee("100"); //用户在系统中的id //payPackage.setOpenid(openId); payPackage.setTrade_type("APP"); //随机字符串 String randDomStr=UUID.randomUUID().toString().replace("-",""); payPackage.setNonce_str(randDomStr); //设置定单号 payPackage.setOut_trade_no(outTradeNo); String replyXml=PayUtils.generatePayNativeReplyXML(payPackage);