package com.jeesharp.business.modules.member.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

/**
 * 支付完成后确认（携带华为侧订单信息，服务端幂等发货）
 *
 * @author jeesharp
 */
@Data
@Schema(description = "IAP支付确认")
public class VipIapConfirmPurchaseDTO {

    @NotBlank(message = "业务订单号不能为空")
    @Schema(description = "创建订单返回的 orderNo", requiredMode = Schema.RequiredMode.REQUIRED)
    private String orderNo;

    @NotBlank(message = "华为订单号不能为空")
    @Schema(description = "华为 purchaseOrderId", requiredMode = Schema.RequiredMode.REQUIRED)
    private String huaweiPurchaseOrderId;

    @NotBlank(message = "purchaseToken不能为空")
    @Schema(description = "华为 purchaseToken", requiredMode = Schema.RequiredMode.REQUIRED)
    private String huaweiPurchaseToken;

    @Schema(description = "可选：JWS/验单原文摘要（勿传过长密钥）")
    private String purchasePayload;
}
