@experts_hub/shared
Version:
Shared DTOs, interfaces, and utilities for experts hub applications
47 lines (46 loc) • 1.51 kB
TypeScript
import { BaseEntity } from "./base.entity";
import { User } from "./user.entity";
export declare enum StripeTransactionTypeEnum {
ADD_FUNDS = "ADD_FUNDS",
TRANSFER = "TRANSFER",
WITHDRAW = "WITHDRAW",
INVOICE_PAYMENT = "INVOICE_PAYMENT",
REFUND = "REFUND"
}
export declare enum StripeTransactionStatusEnum {
PENDING = "PENDING",
PROCESSING = "PROCESSING",
COMPLETED = "COMPLETED",
FAILED = "FAILED",
EXPIRED = "EXPIRED",
CANCELLED = "CANCELLED"
}
export declare class StripeTransaction extends BaseEntity {
userId: number;
user: User;
stripeSessionId: string;
stripePaymentIntentId: string;
stripeChargeId: string;
stripeReceiptUrl: string;
stripeBalanceTransactionId: string;
stripePaymentMethod: string | null;
stripePaymentStatus: string | null;
type: StripeTransactionTypeEnum;
currency: string;
desiredDepositCents: number;
platformFeeCents: number;
taxCents: number | null;
estimatedStripeFee: number | null;
estimatedTotalCents: number | null;
actualStripeFee: number | null;
actualTotalPaidCents: number | null;
netReceivedCents: number | null;
description: string;
status: StripeTransactionStatusEnum;
checkoutSessionCompletedAt: Date;
completedAt: Date;
billingDetails: Record<string, any> | null;
paymentMethodDetails: Record<string, any> | null;
rawSessionPayload: Record<string, any> | null;
rawSessionResponse: Record<string, any> | null;
}