import type { Order } from 'src/modules/order/entities/order.entity'; import { User } from 'src/modules/user/entities/user.entity'; export enum PaymentMethodEnum { Online = 'Online', Cash = 'Cash', Credit = 'Credit', } 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 { user:User; order: Order; amount: number; method: PaymentMethodEnum attachments?: string[] description?: string gateway?: PaymentGatewayEnum }