@alba-cars/common-modules
Version:
A package containing DTOs, validation classes and common modules and interfaces for Alba Cars
47 lines (46 loc) • 1.43 kB
TypeScript
import { MarketingData } from "../../core";
import { BaseModel } from "./Base";
import { Lead } from "./Lead";
export declare enum PaymentStatus {
DRAFT = "draft",
PENDING = "pending",
COMPLETED = "completed",
FAILED = "failed",
REFUNDED = "refunded",
CANCELLED = "cancelled",
AUTHORIZED = "authorized"
}
export declare enum ProductType {
VEHICLE_DEPOSIT = "vehicle_deposit",
VALUATION_CERTIFICATE = "valuation_certificate"
}
export declare class Payment extends BaseModel {
userId?: string;
leadId?: string;
lead?: Lead;
amount: number;
currency: string;
status: PaymentStatus;
productType: ProductType;
stripePaymentIntentId: string | null;
stripeCheckoutSessionId: string | null;
stripeClientSecret: string | null;
stripeRefundId: string | null;
failureReason: string | null;
failureCode: string | null;
failureMessage: string | null;
declineCode: string | null;
networkStatus: string | null;
errorType: string | null;
rawErrorResponse: Record<string, never> | null;
paymentDate: Date | null;
lastAttemptDate: Date | null;
retryCount: number | null;
usedPromoCodeId: string | null;
discountedAmount?: number | null;
marketing?: MarketingData | null;
clientPoBox?: string | null;
clientTrn?: string | null;
clientEmirate?: string | null;
clientBusinessName?: string | null;
}