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

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 华为 IAP 服务端集成配置：应用级 Token、Order 服务根地址、验单与消耗型确认。
 * <p>client-id / client-secret 取自 AppGallery Connect（OAuth 2.0 客户端，非仅数字 App ID）。</p>
 *
 * @author jeesharp
 */
@Data
@Component
@ConfigurationProperties(prefix = "jeesharp.member.iap")
public class MemberIapProperties {

    /**
     * 为 true 时，移动端确认支付不调用华为验单（仅联调/MVP）。生产请改为 false 并配置 client-id等。
     */
    private boolean skipVerifyPurchase = true;

    /**
     * 获取应用级 AccessToken 的 OAuth 地址（中国区常用默认值）。
     */
    private String oauthTokenUrl = "https://oauth-login.cloud.huawei.com/oauth2/v3/token";

    /**
     * Order 服务根 URL（中国区示例：https://orders-drcn.iap.dbankcloud.cn ，请以华为文档「站点说明」为准）。
     */
    private String orderRootUrl = "https://orders-drcn.iap.dbankcloud.cn";

    /**
     * OAuth client_id（AGC 凭证）。
     */
    private String clientId = "";

    /**
     * OAuth client_secret（AGC 凭证）。
     */
    private String clientSecret = "";

    /**
     * 消耗型商品在本系统发货成功后，是否调用华为 confirm 接口（建议 true，否则用户可能无法再次购买同类商品）。
     */
    private boolean confirmAfterFulfill = true;

    /**
     * 可选：验单返回的 applicationId 须与此一致（与 AGC 应用数字 ID 一致时配置），不配置则不校验。
     */
    private Long expectedApplicationId;
}
