Skip to content

支付营销代金券核销回调参数解析和支付智慧商圈接口 #2022

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Mar 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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;
}
}
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;
}
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;
}
Loading