import { z } from 'zod';

export const paymentSettingSchema = z.object({
  cardNumber: z
    .string({
      message: 'Please enter card number.',
    })
    // Accept both masked (with spaces) and unmasked input by validating digits-only length
    .refine(val => val.replace(/\D/g, '').length === 16, {
      message: 'Invalid Card Number.',
    }),
  cardHolderName: z
    .string({
      message: 'Please enter card holder name.',
    })
    .min(3, { message: 'Invalid Cardholder Name.' }),
  expiryDate: z.string({
    message: 'Please enter expiry date (MM/YY).',
  }),
  ccv: z
    .string({
      message: 'Please enter CCV/CVV.',
    })
    .min(3, { message: 'Invalid CCV/CVV.' }),
});
