com.github.binarywang.wxpay.bean.request.WxPayRefundV3Request Maven / Gradle / Ivy
The newest version!
package com.github.binarywang.wxpay.bean.request;
import com.google.gson.annotations.SerializedName;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
*
* 微信支付-申请退款请求参数
*
*
* @author thinsstar
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class WxPayRefundV3Request implements Serializable {
private static final long serialVersionUID = -1L;
/**
*
* 字段名:微信支付订单号
* 变量名:transaction_id
* 是否必填:与out_order_no二选一
* 类型:string[1, 32]
* 描述:
* 原支付交易对应的微信订单号。
* 示例值:1217752501201407033233368018
*
*/
@SerializedName(value = "transaction_id")
private String transactionId;
/**
*
* 字段名:商户订单号
* 变量名:out_trade_no
* 是否必填:与transaction_id二选一
* 类型:string[1, 32]
* 描述:
* 原支付交易对应的商户订单号。
* 示例值:1217752501201407033233368018
*
*/
@SerializedName(value = "out_trade_no")
private String outTradeNo;
/**
*
* 字段名:商户退款单号
* 变量名:out_refund_no
* 是否必填:是
* 类型:string[1, 64]
* 描述:
* 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔。
* 示例值:1217752501201407033233368018
*
*/
@SerializedName(value = "out_refund_no")
private String outRefundNo;
/**
*
* 字段名:退款原因
* 变量名:reason
* 是否必填:否
* 类型:string[1, 80]
* 描述:
* 若商户传入,会在下发给用户的退款消息中体现退款原因。
* 示例值:商品已售完
*
*/
@SerializedName(value = "reason")
private String reason;
/**
*
* 字段名:退款结果回调url
* 变量名:notify_url
* 是否必填:否
* 类型:string[8, 256]
* 描述:
* 异步接收微信支付退款结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 如果参数中传了notify_url,则商户平台上配置的回调地址将不会生效,优先回调当前传的这个地址。
* 示例值:https://weixin.qq.com
*
*/
@SerializedName(value = "notify_url")
private String notifyUrl;
/**
*
* 字段名:订单金额
* 变量名:amount
* 是否必填:是
* 类型:object
* 描述:
* 订单金额信息
*
*/
@SerializedName(value = "amount")
private Amount amount;
/**
*
* 字段名:退款商品
* 变量名:goods_detail
* 是否必填:否
* 类型:array
* 描述:
* 指定商品退款需要传此参数,其他场景无需传递。
*
*/
@SerializedName(value = "goods_detail")
private List goodsDetails;
@Data
@NoArgsConstructor
public static class Amount implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
* 字段名:退款金额
* 变量名:refund
* 是否必填:是
* 类型:int
* 描述:
* 退款金额,币种的最小单位,只能为整数,不能超过原订单支付金额。
* 示例值:888
*
*/
@SerializedName(value = "refund")
private Integer refund;
/**
*
* 字段名:原订单金额
* 变量名:total
* 是否必填:是
* 类型:int
* 描述:
* 原支付交易的订单总金额,币种的最小单位,只能为整数。
* 示例值:888
*
*/
@SerializedName(value = "total")
private Integer total;
/**
*
* 字段名:币类型
* 变量名:currency
* 是否必填:是
* 类型:string[1, 16]
* 描述:
* 符合ISO 4217标准的三位字母代码,目前只支持人民币:CNY。
* 示例值:CNY
*
*/
@SerializedName(value = "currency")
private String currency;
}
@Data
@NoArgsConstructor
public static class GoodsDetail implements Serializable {
private static final long serialVersionUID = -1L;
/**
*
* 字段名:商户侧商品编码
* 变量名:merchant_goods_id
* 是否必填:是
* 类型:string[1,32]
* 描述:
* 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。
* 示例值:1217752501201407033233368018
*
*/
@SerializedName(value = "merchant_goods_id")
private String merchantGoodsId;
/**
*
* 字段名:微信侧商品编码
* 变量名:wechatpay_goods_id
* 是否必填:否
* 类型:string[1,32]
* 描述:
* 微信支付定义的统一商品编号(没有可不传)。
* 示例值:1001
*
*/
@SerializedName(value = "wechatpay_goods_id")
private String wechatpayGoodsId;
/**
*
* 字段名:商品名称
* 变量名:goods_name
* 是否必填:否
* 类型:string[1,256]
* 描述:
* 商品的实际名称。
* 示例值:iPhone6s 16G
*
*/
@SerializedName(value = "goods_name")
private String goodsName;
/**
*
* 字段名:商品单价
* 变量名:unit_price
* 是否必填:是
* 类型:int
* 描述:
* 商品单价金额,单位为分。
* 示例值:528800
*
*/
@SerializedName(value = "unit_price")
private Integer unitPrice;
/**
*
* 字段名:商品退款金额
* 变量名:refund_amount
* 是否必填:是
* 类型:int
* 描述:
* 商品退款金额,单位为分。
* 示例值:528800
*
*/
@SerializedName(value = "refund_amount")
private Integer refundAmount;
/**
*
* 字段名:商品退货数量
* 变量名:refund_quantity
* 是否必填:是
* 类型:int
* 描述:
* 单品的退款数量。
* 示例值:1
*
*/
@SerializedName(value = "refund_quantity")
private Integer refundQuantity;
}
/**
*
* 字段名:子商户的商户号
* 变量名:sub_mchid
* 是否必填:是
* 类型:string[1, 32]
* 描述:
* 子商户商户号,由微信支付生成并下发。
* 示例值:1230000109
*
*/
@SerializedName(value = "sub_mchid")
private String subMchid;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy