import type { Order } from 'src/modules/orders/entities/order.entity';

export enum PaymentMethodEnum {
  Online = 'Online',
  Cash = 'Cash',
  Wallet = 'Wallet',
}
export enum PaymentStatusEnum {
  Pending = 'pending',
  Paid = 'paid',
  Failed = 'failed',
  Refunded = 'refunded',
}
export enum PaymentGatewayEnum {
  ZarinPal = 'zarinpal',
}

export interface ICreatePayment {
  orderId: string;
  amount: number;
  method: PaymentMethodEnum;
  transactionId: string;
  gateway?: PaymentGatewayEnum | null;
}

export interface OrderPaymentContext {
  order: Order;
  amount: number;
  method: PaymentMethodEnum;
  gateway: PaymentGatewayEnum | null;
  merchantId: string | null;
  restaurantDomain: string | null;
}
