附官方地址:
微信官方api 微信公众号获取用户openid
只讲容易遇到的坑
微信api说明,请求需要双向证书。 所以需要去商户管理后台下载api证书 微信支付平台
在支付平台->账户中心->api安全 下载证书 并设置秘钥
然后在营销中心->支付后配置 查看发起提现公众号的appid 此appid一定要和获取用户openid的appid一致
将上图这个id记住 这是商户号
从微信支付平台中我们要下载证书,设置秘钥,确保appid一致,获取商户号
api具体请求就不分析了 有文档 直接上代码
package com.liuyb.model;
/**
* @Auther: liuyubo
* @Date: 2018/8/10 20:30
* @Description:实体类
*/
public class EnterprisesPayment {
/**
* 商户账号appid
* 申请商户号的appid或商户号绑定的appid
*/
private String mch_appid;
/**
* 商户号 微信支付分配的商户号
*/
private String mchid;
/**
*设备号013467007045764
* 微信支付分配的终端设备号
*/
private String device_info;
/**
* 随机字符串 5K8264ILTKCH16CQ2502SI8ZNMTM67VS
* 随机字符串,不长于32位
*/
private String nonce_str;
/**
* 签名 C380BEC2BFD727A4B6845133519F3AD6
*/
private String sign;
/**
*商户订单号 商户订单号,需保持唯一性(只能是字母或者数字,不能包含有符号)
*/
private String partner_trade_no;
/**
*用户openid 商户appid下,某用户的openid
*/
private String openid;
/**
* 校验用户姓名选项 不校验真实姓名 NO_CHECK:不校验真实姓名 FORCE_CHECK:强校验真实姓名
*
*/
private String check_name;
/**
* 收款用户姓名 收款用户真实姓名。 如果check_name设置为FORCE_CHECK,则必填用户真实姓名
*/
private String re_user_name;
/**
* 金额 企业付款金额,单位为分
*/
private Integer amount;
/**
* 企业付款描述信息 理赔 企业付款操作说明信息
*/
private String desc;
/**
* Ip地址 该IP同在商户平台设置的IP白名单中的IP没有关联,该IP可传用户端或者服务端的IP。
*/
private String spbill_create_ip;
public String getMch_appid() {
return mch_appid;
}
public void setMch_appid(String mch_appid) {
this.mch_appid = mch_appid;
}
public String getDevice_info() {
return device_info;
}
public void setDevice_info(String device_info) {
this.device_info = device_info;
}
public String getNonce_str() {
return nonce_str;
}