Files
cozsweet-frontend-nextjs/src/stores/payment/payment-state.ts
T

38 lines
815 B
TypeScript

/**
* Payment 状态机:State 形状 + 初始值
*/
import type {
PayChannel,
PaymentOrderStatus,
PaymentPlan,
PaymentVipStatusResponse,
} from "@/data/dto/payment";
export interface PaymentState {
plans: PaymentPlan[];
selectedPlanId: string;
payChannel: PayChannel;
autoRenew: boolean;
agreed: boolean;
currentOrderId: string | null;
payParams: Record<string, unknown> | null;
orderStatus: PaymentOrderStatus | null;
vipStatus: PaymentVipStatusResponse | null;
errorMessage: string | null;
launchNonce: number;
}
export const initialState: PaymentState = {
plans: [],
selectedPlanId: "",
payChannel: "stripe",
autoRenew: true,
agreed: true,
currentOrderId: null,
payParams: null,
orderStatus: null,
vipStatus: null,
errorMessage: null,
launchNonce: 0,
};