package com.ruoyi.order.tools.response.ecommerce.profitsharing;
|
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.ruoyi.order.tools.response.AbstractResponse;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
|
/**
|
* <pre>
|
* 微信订单支付成功后,由电商平台发起分账请求,将结算后的资金分给分账接收方。
|
* 文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_1.shtml
|
* 状态码 错误码 描述 解决方案
|
* 500 SYSTEM_ERROR 系统错误 系统异常,请使用相同参数稍后重新调用
|
* 400 PARAM_ERROR 订单号格式不正确 请使用正确的参数重新调用
|
* 400 INVALID_REQUEST 非分账订单不支持分账 请根据返回的错误信息确认违反的业务规则
|
* 429 FREQUENCY_LIMITED 对同笔订单分账频率过高 请降低频率后重试
|
* 403 RULE_LIMIT 分账金额超出最大分账比例 分账金额超出最大分账比例
|
* 403 NO_AUTH 商户无权限 请开通商户号分账权限
|
* </pre>
|
*/
|
@Data
|
@EqualsAndHashCode
|
@JsonIgnoreProperties()
|
public class ProfitSharingApplyResponse extends AbstractResponse {
|
/**
|
* <pre>
|
* 字段名:二级商户号
|
* 变量名:sub_mchid
|
* 是否必填:是
|
* 类型:string[1,32]
|
* 描述:
|
* 分账出资的电商平台二级商户,填写微信支付分配的商户号。
|
* 示例值:1900000109
|
* </pre>
|
*/
|
@JsonProperty(value = "sub_mchid")
|
private String subMchid;
|
|
/**
|
* <pre>
|
* 字段名:微信订单号
|
* 变量名:transaction_id
|
* 是否必填:是
|
* 类型:string[1,32]
|
* 描述:
|
* 微信支付订单号。
|
* 示例值: 4208450740201411110007820472
|
* </pre>
|
*/
|
@JsonProperty(value = "transaction_id")
|
private String transactionId;
|
|
/**
|
* <pre>
|
* 字段名:商户分账单号
|
* 变量名:out_order_no
|
* 是否必填:是
|
* 类型:string[1,64]
|
* 描述:
|
* 商户系统内部的分账单号,在商户系统内部唯一(单次分账、多次分账、完结分账应使用不同的商户分账单号),同一分账单号多次请求等同一次。
|
* 示例值:P20150806125346
|
* </pre>
|
*/
|
@JsonProperty(value = "out_order_no")
|
private String outOrderNo;
|
|
/**
|
* <pre>
|
* 字段名:微信分账单号
|
* 变量名:order_id
|
* 是否必填:是
|
* 类型:string[1,64]
|
* 描述:
|
* 微信分账单号,微信系统返回的唯一标识。
|
* 示例值: 6754760740201411110007865434
|
* </pre>
|
*/
|
@JsonProperty(value = "order_id")
|
private String orderId;
|
|
/**
|
* <pre>
|
* 字段名:分账单状态
|
* 变量名:status
|
* 是否必填:是
|
* 类型:string[1,32]
|
* 描述:
|
* 分账单状态,枚举值:
|
* PROCESSING:处理中
|
* FINISHED:处理完成
|
* 示例值: FINISHED
|
* </pre>
|
*/
|
@JsonProperty(value = "status")
|
private String status;
|
|
/**
|
* <pre>
|
* 字段名:分账接收方列表
|
* 变量名:receivers
|
* 是否必填:是
|
* 类型:array
|
* 描述:
|
* 分账接收方列表
|
* </pre>
|
*/
|
@JsonProperty(value = "status")
|
private Receivers receivers;
|
|
@EqualsAndHashCode
|
@Data
|
@JsonIgnoreProperties()
|
public static class Receivers {
|
/**
|
* <pre>
|
* 字段名:分账金额
|
* 变量名:amount
|
* 是否必填:是
|
* 类型:int
|
* 描述:
|
* 分账金额,单位为分,只能为整数,不能超过原订单支付金额及最大分账比例金额。
|
* 示例值:10
|
* </pre>
|
*/
|
@JsonProperty(value = "amount")
|
private Integer amount;
|
|
/**
|
* <pre>
|
* 字段名:分账描述
|
* 变量名:description
|
* 是否必填:是
|
* 类型:string[1,80]
|
* 描述:
|
* 分账的原因描述,将体现在资金账单和分账账单中。
|
* 示例值:分帐1900000110
|
* </pre>
|
*/
|
@JsonProperty(value = "description")
|
private String description;
|
|
/**
|
* <pre>
|
* 字段名:分账失败原因
|
* 变量名:fail_reason
|
* 是否必填:否
|
* 类型:string[1,32]
|
* 描述:
|
* 分账失败原因,当分账结果result为CLOSED(已关闭)时,返回该字段
|
* 枚举值:
|
* 1、ACCOUNT_ABNORMAL : 分账接收账户异常
|
* 2、NO_RELATION : 分账关系已解除
|
* 3、RECEIVER_HIGH_RISK : 高风险接收方
|
* 4、RECEIVER_REAL_NAME_NOT_VERIFIED : 接收方未实名
|
* 5、NO_AUTH : 分账权限已解除
|
* 6、RECEIVER_RECEIPT_LIMIT : 接收方已达收款限额
|
* 7、PAYER_ACCOUNT_ABNORMAL : 分出方账户异常
|
* 示例值:NO_RELATION
|
* </pre>
|
*/
|
@JsonProperty(value = "fail_reason")
|
private String failReason;
|
|
/**
|
* <pre>
|
* 字段名:分账明细单号
|
* 变量名:detail_id
|
* 是否必填:是
|
* 类型:string[1,64]
|
* 描述:
|
* 微信分账明细单号,每笔分账业务执行的明细单号,可与资金账单对账使用
|
* 示例值:36011111111111111111111
|
* </pre>
|
*/
|
@JsonProperty(value = "detail_id")
|
private String detailId;
|
|
/**
|
* <pre>
|
* 字段名:完成时间
|
* 变量名:finish_time
|
* 是否必填:是
|
* 类型:string[1,64]
|
* 描述:
|
* 分账完成时间,遵循RFC3339标准格式,格式为
|
* yyyy-MM-DDTHH:mm:ss.sss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss.sss表示时分秒毫秒,
|
* TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35:120+08:00表示北京时间2015年05月20日13点29分35秒。
|
* 示例值:2015-05-20T13:29:35.120+0
|
* </pre>
|
*/
|
@JsonProperty(value = "finish_time")
|
private String finishTime;
|
|
/**
|
* <pre>
|
* 字段名:分账接收方账号
|
* 变量名:receiver_account
|
* 是否必填:是
|
* 类型:string[1,64]
|
* 描述:
|
* 分账接收方账号:
|
* 类型是MERCHANT_ID时,是商户号(mch_id或者sub_mch_id)
|
* 类型是PERSONAL_OPENID时,是个人openid,
|
* 示例值:1900000109
|
* </pre>
|
*/
|
@JsonProperty(value = "receiver_account")
|
private String receiverAccount;
|
|
/**
|
* <pre>
|
* 字段名:分账接收商户号
|
* 变量名:receiver_mchid
|
* 是否必填:是
|
* 类型:string[1,32]
|
* 描述:
|
* 仅分账接收方类型为MERCHANT_ID时,填写微信支付分配的商户号
|
* 示例值:1900000110
|
* </pre>
|
*/
|
@JsonProperty(value = "receiver_mchid")
|
private String receiverMchid;
|
|
/**
|
* <pre>
|
* 字段名:分账结果
|
* 变量名:result
|
* 是否必填:是
|
* 类型:string[1,32]
|
* 描述:
|
* 枚举值:
|
* PENDING:待分账
|
* SUCCESS:分账成功
|
* CLOSED:已关闭
|
* 示例值:SUCCESS
|
* </pre>
|
*/
|
@JsonProperty(value = "result")
|
private String result;
|
|
/**
|
* <pre>
|
* 字段名:分账接收方类型
|
* 变量名:type
|
* 是否必填:是
|
* 类型:string[1,32]
|
* 描述:
|
* 枚举值:
|
* MERCHANT_ID:商户号(mch_id或者sub_mch_id)
|
* PERSONAL_OPENID:个人openid(由服务商的APPID转换得到)
|
* PERSONAL_SUB_OPENID:个人sub_openid(由品牌主的APPID转换得到)
|
* 示例值:MERCHANT_ID
|
* </pre>
|
*/
|
@JsonProperty(value = "type")
|
private String type;
|
|
}
|
|
}
|