feat: payment service with IPG
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
|
||||
import mongoose from "mongoose";
|
||||
import { PaymentStatus } from "src/common/eNums/paymentStatus.enum";
|
||||
|
||||
export const PaymentSchema = new mongoose.Schema({
|
||||
userId: {
|
||||
@@ -7,31 +8,43 @@ export const PaymentSchema = new mongoose.Schema({
|
||||
ref: 'users',
|
||||
required: true
|
||||
},
|
||||
courseId: {
|
||||
type: mongoose.Types.ObjectId,
|
||||
ref: 'courses',
|
||||
required: true
|
||||
},
|
||||
authority: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
amount: {
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
paymentNumber: {
|
||||
transactionNumber: {
|
||||
type: String,
|
||||
required: true,
|
||||
default: null
|
||||
},
|
||||
reason: {
|
||||
paymentStatus: {
|
||||
type: String,
|
||||
enum: ['deposit', 'withdrawal'],
|
||||
enum: PaymentStatus,
|
||||
default: PaymentStatus.Pending,
|
||||
required: true
|
||||
},
|
||||
},
|
||||
{
|
||||
collection: 'payments',
|
||||
timestamps: true,
|
||||
},
|
||||
{
|
||||
collection: 'payments',
|
||||
timestamps: true,
|
||||
},
|
||||
);
|
||||
|
||||
export interface Payment extends mongoose.Document {
|
||||
userId: mongoose.Types.ObjectId;
|
||||
amount: number;
|
||||
paymentNumber: string;
|
||||
reason: 'deposit' | 'withdrawal';
|
||||
authority: string;
|
||||
courseId: mongoose.Types.ObjectId;
|
||||
transactionNumber: string;
|
||||
paymentStatus: PaymentStatus;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user