21 lines
1.4 KiB
MySQL
21 lines
1.4 KiB
MySQL
|
|
-- QRIS Payment Migration
|
||
|
|
-- Add QRIS fields to pembayaran table
|
||
|
|
|
||
|
|
ALTER TABLE pembayaran
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_qr_code TEXT NULL COMMENT 'QRIS QR code content',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_invoiceid VARCHAR(100) NULL COMMENT 'QRIS Invoice ID untuk check status',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_nmid VARCHAR(100) NULL COMMENT 'QRIS NMID dari API',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_request_date DATETIME NULL COMMENT 'Tanggal request QRIS invoice',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_expired_at DATETIME NULL COMMENT 'QRIS expiration timestamp (30 menit dari request)',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_check_count INT DEFAULT 0 COMMENT 'Jumlah check status (max 3 untuk user-triggered)',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_last_check_at DATETIME NULL COMMENT 'Last check status timestamp',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_status ENUM('unpaid', 'paid', 'expired') DEFAULT 'unpaid' COMMENT 'Status pembayaran QRIS',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_payment_method VARCHAR(50) NULL COMMENT 'Metode pembayaran e-wallet (gopay, dana, ovo, dll)',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_payment_customer_name VARCHAR(255) NULL COMMENT 'Nama customer dari e-wallet',
|
||
|
|
ADD COLUMN IF NOT EXISTS qris_paid_at DATETIME NULL COMMENT 'Tanggal pembayaran QRIS';
|
||
|
|
|
||
|
|
-- Index untuk performa query
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_qris_invoiceid ON pembayaran(qris_invoiceid);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_qris_status ON pembayaran(qris_status);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_qris_expired_at ON pembayaran(qris_expired_at);
|