package com.sf.payment.domain;

import apijson.NotNull;
import lombok.*;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * 华为验证购买tokenD返回
 *
 * @author zk
 */
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HuaweiPurchasesVerifyResponseDTO implements Serializable {

    /**
     * 返回码。
     *
     * 0：成功。
     * 其他：失败，具体请参见错误码。
     */
    private String responseCode;

    /**
     * 响应描述。
     */
    private String responseMessage;

    /**
     *
     * 包含购买数据的JSON字符串，具体请参见表InappPurchaseDetails。
     *
     * 该字段原样参与签名。
     */
    private String purchaseTokenData;

    /**
     * purchaseTokenData基于应用RSA IAP私钥的签名信息，签名算法为signatureAlgorithm。
     * 应用请参见对返回结果验签使用IAP公钥对PurchaseTokenData的JSON字符串进行验签。
     */
    private String dataSignature;

    /**
     *
     * 签名算法。
     */
    @NotBlank(message = "待下发商品ID不能为空")
    private String signatureAlgorithm;


}
