36 lines
769 B
TypeScript
36 lines
769 B
TypeScript
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
|
|
}
|