package com.nhnkcp.verifonepossample.data

class PaymentRequest(
    var tradeCode: String? = null, // 거래구분
    var processCode: String? = null, // 업무구분

    var tid: String? = null,

    var password: String? = null, // 현금IC 또는 은련카드 비밀번호
    var cashType: Int? = null, // 현금영수증 발급용도(0:소비자 소득공제, 1:사업자 지출증빙)

    var installment: String? = null, // 할부 개월수
    var totalAmount: Int = 0, // 총거래금액
    var amount: Int = 0, // 과세금액
    var dutyFree: Int = 0,  // 면세금액
    var tip: Int = 0, // 봉사료
    var tax: Int = 0, // 세금

    var tradeDate: String? = null, // 원거래일자
    var approvalNo: String? = null, // 원거래 승인번호

    var userData1: ByteArray? = null, // 사용자 데이터
    var userRsvData: ByteArray? = null, // 에비
    var signInfo: String? = null, // 사인 이미지 정보
    var signData: String? = null, // 사인 이미지 데이터

    var transNo: String? = null, // 거래번호
    var rsvData1: String? = null, // 예비 필드 1
    var transCode: String? = null, // 거래코드

    var isPrintVerifone: Boolean? = null,  // 영수증 출력여부
    var printData: String? = null,        // 추가 출력문구
    var autoExit: Boolean? = null,        // 자동 종료모드
    var serviceType: String? = null,      // 승인방식 VAN/PG
    var taxSetting: String? = null,      // 과세유형 (Y: 복합과세, N: 과세)

    // 저장한 사인 이미지
    var signImage: String? = null,

    // 전표출력여부 (0: 프린트 안 함, 1: 고객용, 2: 고객용, 가맹점용, 3: 고객용, 가맹점용, 카드사용)
    var printCd: String? = null,
    // 전표문구설정 (0: 프린트 안 함, 1: 고객용, 2: 고객용, 가맹점용, 3: 전부 출력)
    var printOpt: String? = "1",
    // 단말연동 시 거래금액옵션 (Y: 포스 설정, 그외 : 단말기 설정)
    var tradeAmountOpt: String? = null,
    // 세금계산정보 (거래음색옵션이 Y인 경우, 세율(2) + 세금계산방식(1))
    // (세금계산방식: 반올림 (0), 올림 (1), 버림 (2))
    var tradeAmountRate: String? = null,
)