package cokr.xit.ens.modules.common.ctgy.intgrnbill.kko.model;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;

import java.util.Map;

@Getter
@ToString
@EqualsAndHashCode
@Schema(name = "BillKkoPayResultData")
public class BillKkoPayResultData {

    @Schema(required = true, title = "사용자 식별키", example = " ")
    private String biller_user_key;
    @Schema(required = false, title = "청구연월(YYYYMM 형식), 없을 시 생략", example = " ")
    private String billed_year_month;
    @Schema(required = false, title = "동일 고객번호, 청구 연월의 복수 개 청구서 발생 등 몇 번째 청구인지 구분을 위해 사용", example = " ")
    private String ordinal;
    @Schema(required = false, title = "개별 청구서를 식별하는 키 값", example = " ")
    private String biller_notice_key;
    @Schema(required = false, title = "URL 생성 시 전달한 파라미터", example = " ")
    private Map<String, Object> parameters;
    @Schema(required = true, title = "결제수단(CARD/MONEY/MONEY_TRANSFER)", example = " ")
    private String pay_by;
    @Schema(required = true, title = "결제타입(P:결제, C:취소)", example = " ")
    private String pay_type;
    @Schema(required = false, title = "결제수단 상세1. 카드인 경우 카드번호 앞 6자리", example = " ")
    private String pay_detail1;
    @Schema(required = false, title = "결제수단 상세2. 카드사 구분 코드", example = " ")
    private String pay_detail2;
    @Schema(required = false, title = "결제수단 상세3. 공백", example = " ")
    private String pay_detail3;
    @Schema(required = true, title = "납부요청 금액", example = " ")
    private String amount;
    @Schema(required = true, title = "거래구분이 P 인 경우 양수(결제금액), C 인 경우 음수(-취소금액)", example = " ")
    private String pay_amount;
    @Schema(required = true, title = "결제 수수료 금액 부과구분(BEFORE: 선취, AFTER: 후취, NONE: 부과 안함)", example = " ")
    private String pay_fee_type;
    @Schema(required = true, title = "결제 수수료 금액_공급가액", example = " ")
    private String pay_fee;
    @Schema(required = true, title = "결제 수수료 금액_부가세", example = " ")
    private String pay_fee_tax;
    @Schema(required = false, title = "정산예정일(YYYYMMDD)", example = " ")
    private String adjust_date;
    @Schema(required = true, title = "결제일시(YYYYMMDDHH24MISS)", example = " ")
    private String paid_at;
    @Schema(required = true, title = "카카오페이 결제번호", example = " ")
    private String pay_id;
}
