mirror of
https://github.com/xtr-dev/payload-billing.git
synced 2025-12-10 10:53:23 +00:00
- Update `providerId` to be optional in Payment interface for flexibility - Add `version` field to support potential data versioning requirements
629 lines
13 KiB
TypeScript
629 lines
13 KiB
TypeScript
/* tslint:disable */
|
||
/* eslint-disable */
|
||
/**
|
||
* This file was automatically generated by Payload.
|
||
* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
|
||
* and re-run `payload generate:types` to regenerate this file.
|
||
*/
|
||
|
||
/**
|
||
* Supported timezones in IANA format.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "supportedTimezones".
|
||
*/
|
||
export type SupportedTimezones =
|
||
| 'Pacific/Midway'
|
||
| 'Pacific/Niue'
|
||
| 'Pacific/Honolulu'
|
||
| 'Pacific/Rarotonga'
|
||
| 'America/Anchorage'
|
||
| 'Pacific/Gambier'
|
||
| 'America/Los_Angeles'
|
||
| 'America/Tijuana'
|
||
| 'America/Denver'
|
||
| 'America/Phoenix'
|
||
| 'America/Chicago'
|
||
| 'America/Guatemala'
|
||
| 'America/New_York'
|
||
| 'America/Bogota'
|
||
| 'America/Caracas'
|
||
| 'America/Santiago'
|
||
| 'America/Buenos_Aires'
|
||
| 'America/Sao_Paulo'
|
||
| 'Atlantic/South_Georgia'
|
||
| 'Atlantic/Azores'
|
||
| 'Atlantic/Cape_Verde'
|
||
| 'Europe/London'
|
||
| 'Europe/Berlin'
|
||
| 'Africa/Lagos'
|
||
| 'Europe/Athens'
|
||
| 'Africa/Cairo'
|
||
| 'Europe/Moscow'
|
||
| 'Asia/Riyadh'
|
||
| 'Asia/Dubai'
|
||
| 'Asia/Baku'
|
||
| 'Asia/Karachi'
|
||
| 'Asia/Tashkent'
|
||
| 'Asia/Calcutta'
|
||
| 'Asia/Dhaka'
|
||
| 'Asia/Almaty'
|
||
| 'Asia/Jakarta'
|
||
| 'Asia/Bangkok'
|
||
| 'Asia/Shanghai'
|
||
| 'Asia/Singapore'
|
||
| 'Asia/Tokyo'
|
||
| 'Asia/Seoul'
|
||
| 'Australia/Brisbane'
|
||
| 'Australia/Sydney'
|
||
| 'Pacific/Guam'
|
||
| 'Pacific/Noumea'
|
||
| 'Pacific/Auckland'
|
||
| 'Pacific/Fiji';
|
||
|
||
export interface Config {
|
||
auth: {
|
||
users: UserAuthOperations;
|
||
};
|
||
blocks: {};
|
||
collections: {
|
||
posts: Post;
|
||
media: Media;
|
||
payments: Payment;
|
||
invoices: Invoice;
|
||
refunds: Refund;
|
||
users: User;
|
||
'payload-locked-documents': PayloadLockedDocument;
|
||
'payload-preferences': PayloadPreference;
|
||
'payload-migrations': PayloadMigration;
|
||
};
|
||
collectionsJoins: {};
|
||
collectionsSelect: {
|
||
posts: PostsSelect<false> | PostsSelect<true>;
|
||
media: MediaSelect<false> | MediaSelect<true>;
|
||
payments: PaymentsSelect<false> | PaymentsSelect<true>;
|
||
invoices: InvoicesSelect<false> | InvoicesSelect<true>;
|
||
refunds: RefundsSelect<false> | RefundsSelect<true>;
|
||
users: UsersSelect<false> | UsersSelect<true>;
|
||
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
|
||
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
|
||
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
|
||
};
|
||
db: {
|
||
defaultIDType: number;
|
||
};
|
||
globals: {};
|
||
globalsSelect: {};
|
||
locale: null;
|
||
user: User & {
|
||
collection: 'users';
|
||
};
|
||
jobs: {
|
||
tasks: unknown;
|
||
workflows: unknown;
|
||
};
|
||
}
|
||
export interface UserAuthOperations {
|
||
forgotPassword: {
|
||
email: string;
|
||
password: string;
|
||
};
|
||
login: {
|
||
email: string;
|
||
password: string;
|
||
};
|
||
registerFirstUser: {
|
||
email: string;
|
||
password: string;
|
||
};
|
||
unlock: {
|
||
email: string;
|
||
password: string;
|
||
};
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "posts".
|
||
*/
|
||
export interface Post {
|
||
id: number;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "media".
|
||
*/
|
||
export interface Media {
|
||
id: number;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
url?: string | null;
|
||
thumbnailURL?: string | null;
|
||
filename?: string | null;
|
||
mimeType?: string | null;
|
||
filesize?: number | null;
|
||
width?: number | null;
|
||
height?: number | null;
|
||
focalX?: number | null;
|
||
focalY?: number | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payments".
|
||
*/
|
||
export interface Payment {
|
||
id: number;
|
||
provider: 'stripe' | 'mollie' | 'test';
|
||
/**
|
||
* The payment ID from the payment provider
|
||
*/
|
||
providerId?: string | null;
|
||
status: 'pending' | 'processing' | 'succeeded' | 'failed' | 'canceled' | 'refunded' | 'partially_refunded';
|
||
/**
|
||
* Amount in cents (e.g., 2000 = $20.00)
|
||
*/
|
||
amount: number;
|
||
/**
|
||
* ISO 4217 currency code (e.g., USD, EUR)
|
||
*/
|
||
currency: string;
|
||
/**
|
||
* Payment description
|
||
*/
|
||
description?: string | null;
|
||
invoice?: (number | null) | Invoice;
|
||
/**
|
||
* Additional metadata for the payment
|
||
*/
|
||
metadata?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
/**
|
||
* Raw data from the payment provider
|
||
*/
|
||
providerData?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
refunds?: (number | Refund)[] | null;
|
||
version?: number | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "invoices".
|
||
*/
|
||
export interface Invoice {
|
||
id: number;
|
||
/**
|
||
* Invoice number (e.g., INV-001)
|
||
*/
|
||
number: string;
|
||
/**
|
||
* Customer billing information
|
||
*/
|
||
customerInfo: {
|
||
/**
|
||
* Customer name
|
||
*/
|
||
name: string;
|
||
/**
|
||
* Customer email address
|
||
*/
|
||
email: string;
|
||
/**
|
||
* Customer phone number
|
||
*/
|
||
phone?: string | null;
|
||
/**
|
||
* Company name (optional)
|
||
*/
|
||
company?: string | null;
|
||
/**
|
||
* Tax ID or VAT number
|
||
*/
|
||
taxId?: string | null;
|
||
};
|
||
/**
|
||
* Billing address
|
||
*/
|
||
billingAddress: {
|
||
/**
|
||
* Address line 1
|
||
*/
|
||
line1: string;
|
||
/**
|
||
* Address line 2
|
||
*/
|
||
line2?: string | null;
|
||
city: string;
|
||
/**
|
||
* State or province
|
||
*/
|
||
state?: string | null;
|
||
/**
|
||
* Postal or ZIP code
|
||
*/
|
||
postalCode: string;
|
||
/**
|
||
* Country code (e.g., US, GB)
|
||
*/
|
||
country: string;
|
||
};
|
||
status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
|
||
/**
|
||
* ISO 4217 currency code (e.g., USD, EUR)
|
||
*/
|
||
currency: string;
|
||
items: {
|
||
description: string;
|
||
quantity: number;
|
||
/**
|
||
* Amount in cents
|
||
*/
|
||
unitAmount: number;
|
||
/**
|
||
* Calculated: quantity × unitAmount
|
||
*/
|
||
totalAmount?: number | null;
|
||
id?: string | null;
|
||
}[];
|
||
/**
|
||
* Sum of all line items
|
||
*/
|
||
subtotal?: number | null;
|
||
/**
|
||
* Tax amount in cents
|
||
*/
|
||
taxAmount?: number | null;
|
||
/**
|
||
* Total amount (subtotal + tax)
|
||
*/
|
||
amount?: number | null;
|
||
dueDate?: string | null;
|
||
paidAt?: string | null;
|
||
payment?: (number | null) | Payment;
|
||
/**
|
||
* Internal notes
|
||
*/
|
||
notes?: string | null;
|
||
/**
|
||
* Additional invoice metadata
|
||
*/
|
||
metadata?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "refunds".
|
||
*/
|
||
export interface Refund {
|
||
id: number;
|
||
/**
|
||
* The refund ID from the payment provider
|
||
*/
|
||
providerId: string;
|
||
payment: number | Payment;
|
||
status: 'pending' | 'processing' | 'succeeded' | 'failed' | 'canceled';
|
||
/**
|
||
* Refund amount in cents
|
||
*/
|
||
amount: number;
|
||
/**
|
||
* ISO 4217 currency code (e.g., USD, EUR)
|
||
*/
|
||
currency: string;
|
||
/**
|
||
* Reason for the refund
|
||
*/
|
||
reason?: ('duplicate' | 'fraudulent' | 'requested_by_customer' | 'other') | null;
|
||
/**
|
||
* Additional details about the refund
|
||
*/
|
||
description?: string | null;
|
||
/**
|
||
* Additional refund metadata
|
||
*/
|
||
metadata?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
/**
|
||
* Raw data from the payment provider
|
||
*/
|
||
providerData?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "users".
|
||
*/
|
||
export interface User {
|
||
id: number;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
email: string;
|
||
resetPasswordToken?: string | null;
|
||
resetPasswordExpiration?: string | null;
|
||
salt?: string | null;
|
||
hash?: string | null;
|
||
loginAttempts?: number | null;
|
||
lockUntil?: string | null;
|
||
password?: string | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-locked-documents".
|
||
*/
|
||
export interface PayloadLockedDocument {
|
||
id: number;
|
||
document?:
|
||
| ({
|
||
relationTo: 'posts';
|
||
value: number | Post;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'media';
|
||
value: number | Media;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'payments';
|
||
value: number | Payment;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'invoices';
|
||
value: number | Invoice;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'refunds';
|
||
value: number | Refund;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'users';
|
||
value: number | User;
|
||
} | null);
|
||
globalSlug?: string | null;
|
||
user: {
|
||
relationTo: 'users';
|
||
value: number | User;
|
||
};
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-preferences".
|
||
*/
|
||
export interface PayloadPreference {
|
||
id: number;
|
||
user: {
|
||
relationTo: 'users';
|
||
value: number | User;
|
||
};
|
||
key?: string | null;
|
||
value?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-migrations".
|
||
*/
|
||
export interface PayloadMigration {
|
||
id: number;
|
||
name?: string | null;
|
||
batch?: number | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "posts_select".
|
||
*/
|
||
export interface PostsSelect<T extends boolean = true> {
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "media_select".
|
||
*/
|
||
export interface MediaSelect<T extends boolean = true> {
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
url?: T;
|
||
thumbnailURL?: T;
|
||
filename?: T;
|
||
mimeType?: T;
|
||
filesize?: T;
|
||
width?: T;
|
||
height?: T;
|
||
focalX?: T;
|
||
focalY?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payments_select".
|
||
*/
|
||
export interface PaymentsSelect<T extends boolean = true> {
|
||
provider?: T;
|
||
providerId?: T;
|
||
status?: T;
|
||
amount?: T;
|
||
currency?: T;
|
||
description?: T;
|
||
invoice?: T;
|
||
metadata?: T;
|
||
providerData?: T;
|
||
refunds?: T;
|
||
version?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "invoices_select".
|
||
*/
|
||
export interface InvoicesSelect<T extends boolean = true> {
|
||
number?: T;
|
||
customerInfo?:
|
||
| T
|
||
| {
|
||
name?: T;
|
||
email?: T;
|
||
phone?: T;
|
||
company?: T;
|
||
taxId?: T;
|
||
};
|
||
billingAddress?:
|
||
| T
|
||
| {
|
||
line1?: T;
|
||
line2?: T;
|
||
city?: T;
|
||
state?: T;
|
||
postalCode?: T;
|
||
country?: T;
|
||
};
|
||
status?: T;
|
||
currency?: T;
|
||
items?:
|
||
| T
|
||
| {
|
||
description?: T;
|
||
quantity?: T;
|
||
unitAmount?: T;
|
||
totalAmount?: T;
|
||
id?: T;
|
||
};
|
||
subtotal?: T;
|
||
taxAmount?: T;
|
||
amount?: T;
|
||
dueDate?: T;
|
||
paidAt?: T;
|
||
payment?: T;
|
||
notes?: T;
|
||
metadata?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "refunds_select".
|
||
*/
|
||
export interface RefundsSelect<T extends boolean = true> {
|
||
providerId?: T;
|
||
payment?: T;
|
||
status?: T;
|
||
amount?: T;
|
||
currency?: T;
|
||
reason?: T;
|
||
description?: T;
|
||
metadata?: T;
|
||
providerData?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "users_select".
|
||
*/
|
||
export interface UsersSelect<T extends boolean = true> {
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
email?: T;
|
||
resetPasswordToken?: T;
|
||
resetPasswordExpiration?: T;
|
||
salt?: T;
|
||
hash?: T;
|
||
loginAttempts?: T;
|
||
lockUntil?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-locked-documents_select".
|
||
*/
|
||
export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
|
||
document?: T;
|
||
globalSlug?: T;
|
||
user?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-preferences_select".
|
||
*/
|
||
export interface PayloadPreferencesSelect<T extends boolean = true> {
|
||
user?: T;
|
||
key?: T;
|
||
value?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-migrations_select".
|
||
*/
|
||
export interface PayloadMigrationsSelect<T extends boolean = true> {
|
||
name?: T;
|
||
batch?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "auth".
|
||
*/
|
||
export interface Auth {
|
||
[k: string]: unknown;
|
||
}
|
||
|
||
|
||
declare module 'payload' {
|
||
export interface GeneratedTypes extends Config {}
|
||
} |