forked from chanjarster/weixin-java-tools
-
-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🆕 #2022 【微信支付】增加智慧商圈相关接口和解析支付营销代金券核销回调消息的方法
* 增加解析支付营销代金券核销回调消息解析 * 增加微信支付智慧商圈接口和回调解析 Co-authored-by: 黄星 <huang.xing@aquilaflycloud.com>
- Loading branch information
Showing
25 changed files
with
1,226 additions
and
56 deletions.
There are no files selected for viewing
93 changes: 93 additions & 0 deletions
93
...c/main/java/com/github/binarywang/wxpay/bean/businesscircle/BusinessCircleNotifyData.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
package com.github.binarywang.wxpay.bean.businesscircle; | ||
|
||
import com.google.gson.annotations.SerializedName; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.io.Serializable; | ||
|
||
/** | ||
* 智慧商圈回调通知对象 | ||
* <pre> | ||
* 文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/businesscircle/chapter3_1.shtml | ||
* https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/businesscircle/chapter3_3.shtml | ||
* </pre> | ||
* | ||
* @author thinsstar | ||
*/ | ||
@NoArgsConstructor | ||
@Data | ||
public class BusinessCircleNotifyData implements Serializable { | ||
private static final long serialVersionUID = 1L; | ||
|
||
/** | ||
* 通知ID | ||
*/ | ||
@SerializedName("id") | ||
private String id; | ||
|
||
/** | ||
* 通知创建时间 | ||
*/ | ||
@SerializedName("create_time") | ||
private String createTime; | ||
|
||
/** | ||
* 通知类型 | ||
*/ | ||
@SerializedName("event_type") | ||
private String eventType; | ||
|
||
/** | ||
* 通知数据类型 | ||
*/ | ||
@SerializedName("resource_type") | ||
private String resourceType; | ||
|
||
/** | ||
* 回调摘要 | ||
* summary | ||
*/ | ||
@SerializedName("summary") | ||
private String summary; | ||
|
||
/** | ||
* 通知数据 | ||
*/ | ||
@SerializedName("resource") | ||
private Resource resource; | ||
|
||
@Data | ||
public static class Resource implements Serializable { | ||
private static final long serialVersionUID = 1L; | ||
/** | ||
* 加密算法类型 | ||
*/ | ||
@SerializedName("algorithm") | ||
private String algorithm; | ||
|
||
/** | ||
* 数据密文 | ||
*/ | ||
@SerializedName("ciphertext") | ||
private String cipherText; | ||
|
||
/** | ||
* 附加数据 | ||
*/ | ||
@SerializedName("associated_data") | ||
private String associatedData; | ||
|
||
/** | ||
* 随机串 | ||
*/ | ||
@SerializedName("nonce") | ||
private String nonce; | ||
|
||
/** | ||
* 原始回调类型 | ||
*/ | ||
@SerializedName("original_type") | ||
private String originalType; | ||
} | ||
} |
112 changes: 112 additions & 0 deletions
112
...in-java-pay/src/main/java/com/github/binarywang/wxpay/bean/businesscircle/PaidResult.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
package com.github.binarywang.wxpay.bean.businesscircle; | ||
|
||
import com.google.gson.annotations.SerializedName; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.io.Serializable; | ||
|
||
/** | ||
* 商圈支付结果通知内容 | ||
* <pre> | ||
* 文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/businesscircle/chapter3_1.shtml | ||
* </pre> | ||
* | ||
* @author thinsstar | ||
*/ | ||
@NoArgsConstructor | ||
@Data | ||
public class PaidResult implements Serializable { | ||
|
||
private static final long serialVersionUID = 1L; | ||
|
||
/** | ||
* 商户号 | ||
* <p> | ||
* 微信支付分配的商户号 | ||
* 示例值:1230000109 | ||
*/ | ||
@SerializedName("mchid") | ||
private String mchid; | ||
|
||
/** | ||
* 商圈商户名称 | ||
* <p> | ||
* 商圈商户名称 | ||
* 示例值:微信支付 | ||
*/ | ||
@SerializedName("merchant_name") | ||
private String merchantName; | ||
|
||
/** | ||
* 门店名称 | ||
* <p> | ||
* 门店名称,商圈在商圈小程序上圈店时填写的门店名称 | ||
* 示例值:微信支付 | ||
*/ | ||
@SerializedName("shop_name") | ||
private String shopName; | ||
|
||
/** | ||
* 门店编号 | ||
* <p> | ||
* 门店编号,商圈在商圈小程序上圈店时填写的门店编号,用于跟商圈自身已有的商户识别码对齐 | ||
* 示例值:123456 | ||
*/ | ||
@SerializedName("shop_number") | ||
private String shop_number; | ||
|
||
/** | ||
* 小程序APPID | ||
* <p> | ||
* 顾客授权积分时使用的小程序的appid | ||
* 示例值:wxd678efh567hg6787 | ||
*/ | ||
@SerializedName("appid") | ||
private String appid; | ||
|
||
/** | ||
* 用户标识 | ||
* <p> | ||
* 顾客授权时使用的小程序上的openid | ||
* 示例值:oUpF8uMuAJ2pxb1Q9zNjWeS6o | ||
*/ | ||
@SerializedName("openid") | ||
private String openid; | ||
|
||
/** | ||
* 交易完成时间 | ||
* <p> | ||
* 交易完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示北京时间2015年05月20日13点29分35秒(需要增加所有跟时间有关的参数的描述) | ||
* 示例值:2015-05-20T13:29:35+08:00 | ||
*/ | ||
@SerializedName("time_end") | ||
private String timeEnd; | ||
|
||
/** | ||
* 金额 | ||
* <p> | ||
* 用户实际消费金额,单位(分) | ||
* 示例值:200 | ||
*/ | ||
@SerializedName("amount") | ||
private Integer amount; | ||
|
||
/** | ||
* 微信支付订单号 | ||
* <p> | ||
* 微信支付订单号 | ||
* 示例值:1234567890 | ||
*/ | ||
@SerializedName("transaction_id") | ||
private String transactionId; | ||
|
||
/** | ||
* 手动提交积分标记 | ||
* <p> | ||
* 手动提交积分标记,自动提交时无该字段,用于区分用户手动申请后推送的积分数据 | ||
* 示例值:oUpF8uMuAJ2pxb1Q9zNjWUHsd | ||
*/ | ||
@SerializedName("commit_tag") | ||
private String commitTag; | ||
} |
154 changes: 154 additions & 0 deletions
154
...ay/src/main/java/com/github/binarywang/wxpay/bean/businesscircle/PointsNotifyRequest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
package com.github.binarywang.wxpay.bean.businesscircle; | ||
|
||
import com.google.gson.annotations.SerializedName; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.io.Serializable; | ||
|
||
/** | ||
* 商圈积分同步 | ||
* <pre> | ||
* 文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/businesscircle/chapter3_2.shtml | ||
* </pre> | ||
* | ||
* @author thinsstar | ||
*/ | ||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class PointsNotifyRequest implements Serializable { | ||
|
||
private static final long serialVersionUID = 1L; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:商圈商户ID | ||
* 变量名:sub_mchid | ||
* 是否必填:否 | ||
* 类型:string[1,64] | ||
* 描述: | ||
* 当以服务商模式管理商圈积分能力时,则要带上商圈商户ID,否则留空 | ||
* 示例值:1234567890 | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "sub_mchid") | ||
private String subMchid; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:微信订单号 | ||
* 变量名:transaction_id | ||
* 是否必填:是 | ||
* 类型:string[1,64] | ||
* 描述: | ||
* 微信支付推送的商圈内交易通知里携带的微信订单号 | ||
* 示例值:1217752501201407033233368018 | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "transaction_id") | ||
private String transactionId; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:小程序appid | ||
* 变量名:appid | ||
* 是否必填:是 | ||
* 类型:string[1,128] | ||
* 描述: | ||
* 顾客授权积分时使用的小程序的appid | ||
* 示例值:wx1234567890abcdef | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "appid") | ||
private String appid; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:用户标识 | ||
* 变量名:openid | ||
* 是否必填:是 | ||
* 类型:string[1,64] | ||
* 描述: | ||
* 顾客授权时使用的小程序上的openid | ||
* 示例值:oWmnN4xxxxxxxxxxe92NHIGf1xd8 | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "openid") | ||
private String openid; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:是否获得积分 | ||
* 变量名:earn_points | ||
* 是否必填:是 | ||
* 类型:boolean | ||
* 描述: | ||
* 用于标明此单是否获得积分, | ||
* true为获得积分, | ||
* false为未获得 | ||
* 示例值:true | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "earn_points") | ||
private Boolean earnPoints; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:订单新增积分值 | ||
* 变量名:increased_points | ||
* 是否必填:是 | ||
* 类型:int | ||
* 描述: | ||
* 顾客此笔交易新增的积分值 | ||
* 示例值:100 | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "increased_points") | ||
private Integer increasedPoints; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:积分更新时间 | ||
* 变量名:points_update_time | ||
* 是否必填:是 | ||
* 类型:string[1,32] | ||
* 描述: | ||
* 为顾客此笔交易成功积分的时间 | ||
* 示例值:2020-05-20T13:29:35.120+08:00 | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "points_update_time") | ||
private String pointsUpdateTime; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:未获得积分的备注信息 | ||
* 变量名:no_points_remarks | ||
* 是否必填:否 | ||
* 类型:string[1,128] | ||
* 描述: | ||
* 当未获得积分时,提供未获得积分的原因等备注信息 | ||
* 示例值:商品不参与积分活动 | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "no_points_remarks") | ||
private String noPointsRemarks; | ||
|
||
/** | ||
* <pre> | ||
* 字段名:顾客积分总额 | ||
* 变量名:total_points | ||
* 是否必填:否 | ||
* 类型:int | ||
* 描述: | ||
* 当前顾客积分总额 | ||
* 示例值:888888 | ||
* </pre> | ||
*/ | ||
@SerializedName(value = "total_points") | ||
private Integer totalPoints; | ||
} |
Oops, something went wrong.