87 lines
4.8 KiB
SQL
87 lines
4.8 KiB
SQL
-- 3. 견적서 결제 정보
|
|
CREATE TABLE IF NOT EXISTS `estimate_payment`
|
|
(
|
|
`id` int NOT NULL AUTO_INCREMENT,
|
|
`estimate_id` int NOT NULL COMMENT '견적서 ID',
|
|
`payment_method` varchar(50) COMMENT '결제 수단 (pg, bank, cash)',
|
|
`total_amount` int NOT NULL COMMENT '최종 결제 요청 금액',
|
|
`payment_status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '결제 상태 (pending:요청, completed:완료, failed:실패, cancelled:취소)',
|
|
`pg_tid` varchar(100) COMMENT 'PG사 거래 ID',
|
|
`pg_receipt_url` varchar(255) COMMENT 'PG사 영수증 URL',
|
|
`bank_account` varchar(100) COMMENT '무통장 입금 계좌',
|
|
`depositor_name` varchar(50) COMMENT '입금자명',
|
|
`temp_1` varchar(255) DEFAULT NULL,
|
|
`temp_2` varchar(255) DEFAULT NULL,
|
|
`temp_3` varchar(255) DEFAULT NULL,
|
|
`temp_4` varchar(255) DEFAULT NULL,
|
|
`temp_5` varchar(255) DEFAULT NULL,
|
|
`extra_1` varchar(255) DEFAULT NULL,
|
|
`extra_2` varchar(255) DEFAULT NULL,
|
|
`extra_3` varchar(255) DEFAULT NULL,
|
|
`extra_4` varchar(255) DEFAULT NULL,
|
|
`extra_5` varchar(255) DEFAULT NULL,
|
|
`is_used` tinyint(1) NOT NULL DEFAULT '1',
|
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0',
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`created_by` varchar(20) DEFAULT NULL,
|
|
`updated_at` datetime DEFAULT NULL,
|
|
`updated_by` varchar(20) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `estimate_id` (`estimate_id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE=utf8mb4_general_ci COMMENT ='견적서 결제 정보';
|
|
|
|
-- 4. 결제 상태 변경 이력 (로그 테이블)
|
|
CREATE TABLE IF NOT EXISTS `estimate_payment_log`
|
|
(
|
|
`id` int NOT NULL AUTO_INCREMENT,
|
|
`payment_id` int NOT NULL COMMENT '결제 정보 ID',
|
|
`estimate_id` int NOT NULL COMMENT '견적서 ID',
|
|
`previous_status` varchar(50) DEFAULT NULL COMMENT '이전 상태',
|
|
`new_status` varchar(50) NOT NULL COMMENT '새 상태',
|
|
`memo` varchar(255) DEFAULT NULL COMMENT '변경 사유 또는 메모',
|
|
`temp_1` varchar(255) DEFAULT NULL,
|
|
`temp_2` varchar(255) DEFAULT NULL,
|
|
`temp_3` varchar(255) DEFAULT NULL,
|
|
`temp_4` varchar(255) DEFAULT NULL,
|
|
`temp_5` varchar(255) DEFAULT NULL,
|
|
`extra_1` varchar(255) DEFAULT NULL,
|
|
`extra_2` varchar(255) DEFAULT NULL,
|
|
`extra_3` varchar(255) DEFAULT NULL,
|
|
`extra_4` varchar(255) DEFAULT NULL,
|
|
`extra_5` varchar(255) DEFAULT NULL,
|
|
`is_used` tinyint(1) NOT NULL DEFAULT '1',
|
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0',
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`created_by` varchar(20) NOT NULL COMMENT '변경자 ID',
|
|
`updated_at` datetime DEFAULT NULL,
|
|
`updated_by` varchar(20) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `payment_id` (`payment_id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE=utf8mb4_general_ci COMMENT ='결제 상태 변경 이력';
|
|
|
|
-- 5. PG사 연동 전문 (로그) 테이블
|
|
CREATE TABLE IF NOT EXISTS `estimate_payment_payload`
|
|
(
|
|
`id` int NOT NULL AUTO_INCREMENT,
|
|
`payment_id` int NOT NULL COMMENT '결제 정보 ID',
|
|
`payload_type` VARCHAR(20) NOT NULL COMMENT '전문 종류 (request, response, webhook 등)',
|
|
`payload` LONGTEXT COMMENT 'PG사에서 받은 원본 전문 (JSON, XML 등)',
|
|
`temp_1` varchar(255) DEFAULT NULL,
|
|
`temp_2` varchar(255) DEFAULT NULL,
|
|
`temp_3` varchar(255) DEFAULT NULL,
|
|
`temp_4` varchar(255) DEFAULT NULL,
|
|
`temp_5` varchar(255) DEFAULT NULL,
|
|
`extra_1` varchar(255) DEFAULT NULL,
|
|
`extra_2` varchar(255) DEFAULT NULL,
|
|
`extra_3` varchar(255) DEFAULT NULL,
|
|
`extra_4` varchar(255) DEFAULT NULL,
|
|
`extra_5` varchar(255) DEFAULT NULL,
|
|
`is_used` tinyint(1) NOT NULL DEFAULT '1',
|
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0',
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`created_by` varchar(20) DEFAULT NULL,
|
|
`updated_at` datetime DEFAULT NULL,
|
|
`updated_by` varchar(20) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `payment_id` (`payment_id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE=utf8mb4_general_ci COMMENT ='PG사 연동 전문'; |