Skip to content

Commit

Permalink
🆕 #3162 【微信支付】接入服务商微信支付分签约计划相关接口功能
Browse files Browse the repository at this point in the history
  • Loading branch information
UltramanNoa authored Nov 13, 2023
1 parent 5752cc4 commit 91c5359
Show file tree
Hide file tree
Showing 16 changed files with 1,240 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
package com.github.binarywang.wxpay.bean.payscore;

import com.github.binarywang.wxpay.bean.payscore.enums.SignPlanServiceOrderPlanDetailStateEnum;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
* @author UltramanNoa
* @className PartnerUserSignPlanDetail
* @description 签约计划明细列表
* @createTime 2023/11/3 17:19
**/
@Data
@NoArgsConstructor
public class PartnerUserSignPlanDetail implements Serializable {

private static final long serialVersionUID = 2089297485318293622L;
/**
* 计划明细序号
*/
@SerializedName("plan_detail_no")
private Integer planDetailNo;

/**
* 计划明细原支付金额(单位分)
*/
@SerializedName("original_price")
private Integer originalPrice;

/**
* 计划明细优惠说明
*/
@SerializedName("plan_discount_description")
private String planDiscountDescription;

/**
* 计划明细实际支付金额(单位分)
*/
@SerializedName("actual_price")
private Integer actualPrice;

/**
* 计划明细状态
*
* @see SignPlanServiceOrderPlanDetailStateEnum
*/
@SerializedName("plan_detail_state")
private String planDetailState;

/**
* 计划明细对应的支付分服务单号
*/
@SerializedName("order_id")
private String orderId;

/**
* 商户侧计划明细使用订单号
*/
@SerializedName("merchant_plan_detail_no")
private String merchantPlanDetailNo;

/**
* 计划详情名称
*/
@SerializedName("plan_detail_name")
private Integer planDetailName;

/**
* 计划明细对应订单实际支付金额(单位分)
*/
@SerializedName("actual_pay_price")
private Integer actualPayPrice;

/**
* 详情使用时间
*/
@SerializedName("use_time")
private String useTime;

/**
* 详情完成时间
*/
@SerializedName("complete_time")
private String completeTime;

/**
* 详情取消时间
*/
@SerializedName("cancel_time")
private String cancelTime;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
package com.github.binarywang.wxpay.bean.payscore;

import com.github.binarywang.wxpay.bean.payscore.enums.SignPlanServiceOrderStateEnum;
import com.github.binarywang.wxpay.bean.payscore.enums.UserSignPlanCancelSignTypeEnum;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;

import java.io.Serializable;
import java.util.List;

/**
* @author UltramanNoa
* @className PartnerUserSignPlanEntity
* @description 用户的签约计划
* @createTime 2023/11/3 16:05
**/
@Data
@NoArgsConstructor
public class PartnerUserSignPlanEntity implements Serializable {

private static final long serialVersionUID = -662901613603698430L;

public static PartnerUserSignPlanEntity fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, PartnerUserSignPlanEntity.class);
}


/**
* 待创建服务订单对应的用户的签约计划
*/
@SerializedName("sign_plan_id")
private String signPlanId;

@SerializedName("openid")
private String openid;

/**
* <pre>
* 字段名:二级商户用户标识
* 变量名:sub_openid
* 是否必填:否
* 类型:string(128)
* 描述:
* 用户在二级商户appid下的唯一标识。
* 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
* </pre>
*/
@SerializedName(value = "sub_openid")
private String subOpenid;


@SerializedName("service_id")
private String serviceId;

@SerializedName("mchid")
private String mchid;

/**
* 子商户商户号
*/
@SerializedName("sub_mchid")
private String subMchid;

@SerializedName("appid")
private String appid;

/**
* 子商户AppID
*/
@SerializedName("sub_appid")
private String subAppid;

/**
* 商户签约计划单号
*/
@SerializedName("merchant_sign_plan_no")
private String merchantSignPlanNo;

/**
* 商户回调地址
*/
@SerializedName("merchant_callback_url")
private String merchantCallbackUrl;

/**
* 支付分计划ID
*/
@SerializedName("plan_id")
private String planId;

/**
* 目前用户进行到的计划详情序号
*/
@SerializedName("going_detail_no")
private Integer goingDetailNo;

/**
* 计划签约状态
*
* @see SignPlanServiceOrderStateEnum
*/
@SerializedName("sign_state")
private String signState;

/**
* 签约计划取消时间
*/
@SerializedName("cancel_sign_time")
private String cancelSignTime;

/**
* 签约计划取消类型
*
* @see UserSignPlanCancelSignTypeEnum
*/
@SerializedName("cancel_sign_type")
private String cancelSignType;

/**
* 签约计划取消原因
*/
@SerializedName("cancel_reason")
private String cancelReason;

/**
* 签约计划的名称
*/
@SerializedName("plan_name")
private String planName;

/**
* 签约计划的过期时间
*/
@SerializedName("plan_over_time")
private String planOverTime;

/**
* 签约计划原总金额(单位分)
*/
@SerializedName("total_origin_price")
private Integer totalOriginPrice;

/**
* 签约计划扣费次数
*/
@SerializedName("deduction_quantity")
private Integer deductionQuantity;

/**
* 签约计划实际总金额(单位分)
*/
@SerializedName("total_actual_price")
private Integer totalActualPrice;

@SerializedName("signed_detail_list")
private List<PartnerUserSignPlanDetail> signedDetailList;

/**
* 签约时间
*/
@SerializedName("sign_time")
private String signTime;
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ public class PayScoreNotifyData implements Serializable {
* <p>2、解除授权成功通知的类型为PAYSCORE.USER_CLOSE_SERVICE</p>
* <p>3、用户确认成功通知的类型为PAYSCORE.USER_CONFIRM</p>
* <p>4、支付成功通知的类型为PAYSCORE.USER_PAID</p>
* <p>5、取消签约成功通知类型为PAYSCORE.USER_CANCEL_SIGN_PLAN</p>
* <p>6、签约计划成功通知类型为PAYSCORE</p>
*/
@SerializedName("event_type")
private String eventType;
Expand Down Expand Up @@ -85,5 +87,11 @@ public static class Resource implements Serializable {
*/
@SerializedName("associated_data")
private String associatedData;

/**
* 原始回调类型,支付分的原始回调类型为payscore
*/
@SerializedName("original_type")
private String originalType;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package com.github.binarywang.wxpay.bean.payscore;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
* @author UltramanNoa
* @className PayScorePlanDetail
* @description 支付分计划明细列表
* @createTime 2023/11/3 11:22
**/
@Data
@NoArgsConstructor
public class PayScorePlanDetail implements Serializable {

private static final long serialVersionUID = 999251141141181820L;
/**
* 计划明细原支付金额(单位分)
*/
@SerializedName("original_price")
private Integer originalPrice;

/**
* 计划明细优惠说明
*/
@SerializedName("plan_discount_description")
private String planDiscountDescription;

/**
* 计划明细实际支付金额(单位分)
*/
@SerializedName("actual_price")
private String actualPrice;

/**
* 计划明细名称
*/
@SerializedName("plan_detail_name")
private String planDetailName;

/**
* 计划明细序号(返回参数)
*/
@SerializedName("plan_detail_no")
private Integer planDetailNo;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.github.binarywang.wxpay.bean.payscore;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
* @author UltramanNoa
* @className UserSignPlanDetailMerchatNo
* @description 签约计划对应的计划详情列表的商户侧单号信息
* @createTime 2023/11/3 15:51
**/
@Data
@NoArgsConstructor
public class UserSignPlanDetailMerchatNo implements Serializable {

private static final long serialVersionUID = 2668791598158720023L;

/**
* 计划明细序号
*/
@SerializedName("plan_detail_no")
private Integer planDetailNo;

/**
* 商户侧计划明细使用订单号
*/
@SerializedName("merchant_plan_detail_no")
private String merchantPlanDetailNo;
}
Loading

0 comments on commit 91c5359

Please sign in to comment.