/*
 * msg_layout.h - 카드 매입 전문(電文) 고정길이 레이아웃 (공유)
 */
#ifndef MSG_LAYOUT_H
#define MSG_LAYOUT_H

#define MSG_TYPE_RECV   "0200"
#define MSG_TYPE_RESP   "0210"
#define MSG_TYPE_RECON  "0500"

#define RESP_OK         "0000"
#define RESP_INVALID    "9001"
#define RESP_NOMERCH    "9002"
#define RESP_SYSERR     "9999"

typedef struct {
    char msg_type[4];
    char trans_code[6];
    char merch_id[15];
    char card_no[16];
    char approval_no[9];
    char amount[12];
    char txn_date[8];
    char txn_time[6];
    char inst_month[2];
    char resp_code[4];
    char filler[18];
} acq_msg_t;

#define MSG_ACQ_LEN   ((int)sizeof(acq_msg_t))

#define FLD_MSG_TYPE_LEN   4
#define FLD_TRANS_CODE_LEN 6
#define FLD_MERCH_ID_LEN   15
#define FLD_CARD_NO_LEN    16
#define FLD_APPROVAL_LEN   9
#define FLD_AMOUNT_LEN     12
#define FLD_TXN_DATE_LEN   8
#define FLD_TXN_TIME_LEN   6
#define FLD_INST_LEN       2
#define FLD_RESP_LEN       4

#endif /* MSG_LAYOUT_H */
