Skip to content

Commit 8dffbd4

Browse files
jeequanbinarywang
authored andcommitted
#1248 增加微信刷脸支付支持相关接口
* 增加获取微信刷脸调用凭证接口 * 增加微信刷脸接口 1. 获取刷脸支付凭证接口 2. 刷脸支付接口
1 parent d184ff8 commit 8dffbd4

File tree

6 files changed

+640
-0
lines changed

6 files changed

+640
-0
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
package com.github.binarywang.wxpay.bean.request;
2+
3+
import com.thoughtworks.xstream.annotations.XStreamAlias;
4+
import lombok.*;
5+
import me.chanjar.weixin.common.annotation.Required;
6+
7+
/**
8+
* <pre>
9+
* 获取微信刷脸调用凭证请求对象类
10+
* 详见文档:https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/sdk-android.html#获取数据-getwxpayfacerawdata
11+
* Created by Jmdhappy on 2019-09-04.
12+
* </pre>
13+
*
14+
* @author <a href="https://github.com/jmdhappy/xxpay-master">XxPay</a>
15+
*/
16+
@Data
17+
@EqualsAndHashCode(callSuper = true)
18+
@Builder(builderMethodName = "newBuilder")
19+
@NoArgsConstructor
20+
@AllArgsConstructor
21+
@XStreamAlias("xml")
22+
public class WxPayFaceAuthInfoRequest extends BaseWxPayRequest {
23+
24+
/**
25+
* <pre>
26+
* 字段名:门店编号
27+
* 变量名:store_id
28+
* 是否必填:是
29+
* 类型:string(32)
30+
* 示例值:1001
31+
* 描述:门店编号, 由商户定义, 各门店唯一
32+
* </pre>
33+
*/
34+
@Required
35+
@XStreamAlias("store_id")
36+
private String storeId;
37+
38+
/**
39+
* <pre>
40+
* 字段名:门店名称
41+
* 变量名:store_name
42+
* 是否必填:是
43+
* 类型:string(128)
44+
* 示例值:骏易科技
45+
* 描述:门店名称,由商户定义。(可用于展示)
46+
* </pre>
47+
*/
48+
@Required
49+
@XStreamAlias("store_name")
50+
private String storeName;
51+
52+
/**
53+
* <pre>
54+
* 字段名:终端设备编号
55+
* 变量名:device_id
56+
* 是否必填:是
57+
* 类型:string(32)
58+
* 示例值:
59+
* 描述:终端设备编号,由商户定义。
60+
* </pre>
61+
*/
62+
@Required
63+
@XStreamAlias("device_id")
64+
private String deviceId;
65+
66+
/**
67+
* <pre>
68+
* 字段名:附加字段
69+
* 变量名:attach
70+
* 是否必填:是
71+
* 类型:string
72+
* 示例值:
73+
* 描述:附加字段。字段格式使用Json
74+
* </pre>
75+
*/
76+
@XStreamAlias("attach")
77+
private String attach;
78+
79+
/**
80+
* <pre>
81+
* 字段名:初始化数据
82+
* 变量名:attach
83+
* 是否必填:是
84+
* 类型:string(2048)
85+
* 示例值:
86+
* 描述:初始化数据。由微信人脸SDK的接口返回。
87+
* </pre>
88+
*/
89+
@Required
90+
@XStreamAlias("rawdata")
91+
private String rawdata;
92+
93+
/**
94+
* <pre>
95+
* 字段名:当前时间
96+
* 变量名:now
97+
* 是否必填:否
98+
* 类型:String(10)
99+
* 示例值:1239878956
100+
* 描述:取当前时间,10位unix时间戳。 例如:1239878956
101+
* </pre>
102+
*/
103+
@Required
104+
@XStreamAlias("now")
105+
private String now;
106+
107+
/**
108+
* <pre>
109+
* 字段名:接口版本号.
110+
* 变量名:version
111+
* 是否必填:是
112+
* 类型:String
113+
* 示例值:1.0
114+
* 描述:版本号。固定为1
115+
* </pre>
116+
*/
117+
@Required
118+
@XStreamAlias("version")
119+
private String version;
120+
121+
@Override
122+
protected void checkConstraints() {
123+
//do nothing
124+
}
125+
126+
}
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
package com.github.binarywang.wxpay.bean.request;
2+
3+
import com.thoughtworks.xstream.annotations.XStreamAlias;
4+
import lombok.*;
5+
import me.chanjar.weixin.common.annotation.Required;
6+
7+
/**
8+
* <pre>
9+
* 提交刷脸支付请求对象类
10+
* 详见文档:微信人脸支付商户开发文档
11+
* Created by Jmdhappy on 2019-09-05.
12+
* </pre>
13+
*
14+
* @author <a href="https://github.com/jmdhappy/xxpay-master">XxPay</a>
15+
*/
16+
@Data
17+
@EqualsAndHashCode(callSuper = true)
18+
@Builder(builderMethodName = "newBuilder")
19+
@NoArgsConstructor
20+
@AllArgsConstructor
21+
@XStreamAlias("xml")
22+
public class WxPayFacepayRequest extends BaseWxPayRequest {
23+
24+
/**
25+
* <pre>
26+
* 字段名:设备号.
27+
* 变量名:device_info
28+
* 是否必填:否
29+
* 类型:String(32)
30+
* 示例值:013467007045764
31+
* 描述:终端设备号(商户自定义,如门店编号)
32+
* </pre>
33+
*/
34+
@XStreamAlias("device_info")
35+
private String deviceInfo;
36+
37+
/**
38+
* <pre>
39+
* 字段名:商品描述.
40+
* 变量名:body
41+
* 是否必填:是
42+
* 类型:String(128)
43+
* 示例值:image形象店-深圳腾大- QQ公仔
44+
* 描述:商品或支付单简要描述,格式要求:门店品牌名-城市分店名-实际商品名称
45+
* </pre>
46+
**/
47+
@Required
48+
@XStreamAlias("body")
49+
private String body;
50+
51+
/**
52+
* <pre>
53+
* 字段名:商品详情.
54+
* 变量名:detail
55+
* 是否必填:否
56+
* 类型:String(8192)
57+
* 示例值:
58+
* 描述:商品详细列表,使用Json格式,传输签名前请务必使用CDATA标签将JSON文本串保护起来。</pre>
59+
**/
60+
@XStreamAlias("detail")
61+
private String detail;
62+
63+
/**
64+
* <pre>
65+
* 字段名:附加数据.
66+
* 变量名:attach
67+
* 是否必填:否
68+
* 类型:String(127)
69+
* 示例值:说明
70+
* 描述:附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
71+
* </pre>
72+
**/
73+
@XStreamAlias("attach")
74+
private String attach;
75+
76+
/**
77+
* <pre>
78+
* 字段名:商户订单号.
79+
* 变量名:out_trade_no
80+
* 是否必填:是
81+
* 类型:String(32)
82+
* 示例值:1217752501201407033233368018
83+
* 描述:商户系统内部的订单号,32个字符内、可包含字母;更换授权码必须要换新的商户订单号 其他说明见商户订单号
84+
* </pre>
85+
**/
86+
@Required
87+
@XStreamAlias("out_trade_no")
88+
private String outTradeNo;
89+
90+
/**
91+
* <pre>
92+
* 字段名:总金额.
93+
* 变量名:total_fee
94+
* 是否必填:是
95+
* 类型:Int
96+
* 示例值:888
97+
* 描述:订单总金额,单位为分,只能为整数,详见支付金额
98+
* </pre>
99+
**/
100+
@Required
101+
@XStreamAlias("total_fee")
102+
private Integer totalFee;
103+
104+
/**
105+
* <pre>
106+
* 字段名:货币类型.
107+
* 变量名:fee_type
108+
* 是否必填:否
109+
* 类型:String(16)
110+
* 示例值:CNY
111+
* 描述:符合ISO4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型
112+
* </pre>
113+
**/
114+
@XStreamAlias("fee_type")
115+
private String feeType;
116+
117+
/**
118+
* <pre>
119+
* 字段名:终端IP.
120+
* 变量名:spbill_create_ip
121+
* 是否必填:是
122+
* 类型:String(16)
123+
* 示例值:127.0.0.1
124+
* 描述:调用微信支付API的机器IP
125+
* </pre>
126+
**/
127+
@Required
128+
@XStreamAlias("spbill_create_ip")
129+
private String spbillCreateIp;
130+
131+
/**
132+
* <pre>
133+
* 字段名:商品标记.
134+
* 变量名:goods_tag
135+
* 是否必填:否
136+
* 类型:String(32)
137+
* 示例值:1234
138+
* 描述:商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠
139+
* </pre>
140+
**/
141+
@XStreamAlias("goods_tag")
142+
private String goodsTag;
143+
144+
/**
145+
* <pre>
146+
* 字段名:用户标识.
147+
* 变量名:openid
148+
* 是否必填:是
149+
* 类型:String(128)
150+
* 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
151+
* 描述:用户在商户appid 下的唯一标识
152+
* </pre>
153+
*/
154+
@Required
155+
@XStreamAlias("openid")
156+
private String openid;
157+
158+
/**
159+
* <pre>
160+
* 字段名:人脸凭证.
161+
* 变量名:face_code
162+
* 是否必填:是
163+
* 类型:String(128)
164+
* 示例值:
165+
* 描述:人脸凭证,用于刷脸支付
166+
* </pre>
167+
**/
168+
@Required
169+
@XStreamAlias("face_code")
170+
private String faceCode;
171+
172+
@Override
173+
protected void checkConstraints() {
174+
//do nothing
175+
}
176+
177+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.github.binarywang.wxpay.bean.result;
2+
3+
import com.thoughtworks.xstream.annotations.XStreamAlias;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.io.Serializable;
9+
10+
/**
11+
* <pre>
12+
* 获取微信刷脸调用凭证返回结果.
13+
* 详见文档:https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/sdk-android.html#获取数据-getwxpayfacerawdata
14+
* </pre>
15+
*
16+
* @author Jmdhappy
17+
*/
18+
@Data
19+
@EqualsAndHashCode(callSuper = true)
20+
@NoArgsConstructor
21+
@XStreamAlias("xml")
22+
public class WxPayFaceAuthInfoResult extends BaseWxPayResult implements Serializable {
23+
24+
private static final long serialVersionUID = -65138145275211272L;
25+
26+
/**
27+
* SDK调用凭证.
28+
*/
29+
@XStreamAlias("authinfo")
30+
private String authinfo;
31+
32+
/**
33+
* authinfo的有效时间, 单位秒.
34+
*/
35+
@XStreamAlias("expires_in")
36+
private String expiresIn;
37+
38+
}

0 commit comments

Comments
 (0)