2 Commits

Author SHA1 Message Date
Bas
6a1e6e77ad Merge pull request #28 from xtr-dev/dev
chore: bump package version to 0.1.12
2025-09-30 21:05:20 +02:00
552ec700c2 chore: bump package version to 0.1.12 2025-09-30 21:04:56 +02:00
3 changed files with 8 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@xtr-dev/payload-billing", "name": "@xtr-dev/payload-billing",
"version": "0.1.11", "version": "0.1.12",
"description": "PayloadCMS plugin for billing and payment provider integrations with tracking and local testing", "description": "PayloadCMS plugin for billing and payment provider integrations with tracking and local testing",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",

View File

@@ -55,6 +55,6 @@ export interface BillingPluginConfig {
customerInfoExtractor?: CustomerInfoExtractor // Callback to extract customer info from relationship customerInfoExtractor?: CustomerInfoExtractor // Callback to extract customer info from relationship
customerRelationSlug?: string // Customer collection slug for relationship customerRelationSlug?: string // Customer collection slug for relationship
disabled?: boolean disabled?: boolean
providers?: PaymentProvider[] providers?: (PaymentProvider | undefined | null)[]
} }

View File

@@ -28,8 +28,8 @@ export const billingPlugin = (pluginConfig: BillingPluginConfig = {}) => (config
]; ];
(pluginConfig.providers || []) (pluginConfig.providers || [])
.filter(provider => provider.onConfig) .filter(provider => provider?.onConfig)
.forEach(provider => provider.onConfig!(config, pluginConfig)) .forEach(provider => provider?.onConfig!(config, pluginConfig))
const incomingOnInit = config.onInit const incomingOnInit = config.onInit
config.onInit = async (payload) => { config.onInit = async (payload) => {
@@ -38,17 +38,17 @@ export const billingPlugin = (pluginConfig: BillingPluginConfig = {}) => (config
} }
singleton.set(payload, { singleton.set(payload, {
config: pluginConfig, config: pluginConfig,
providerConfig: (pluginConfig.providers || []).reduce( providerConfig: (pluginConfig.providers || []).filter(Boolean).reduce(
(record, provider) => { (record, provider) => {
record[provider.key] = provider record[provider!.key] = provider as PaymentProvider
return record return record
}, },
{} as Record<string, PaymentProvider> {} as Record<string, PaymentProvider>
) )
} satisfies BillingPlugin) } satisfies BillingPlugin)
await Promise.all((pluginConfig.providers || []) await Promise.all((pluginConfig.providers || [])
.filter(provider => provider.onInit) .filter(provider => provider?.onInit)
.map(provider => provider.onInit!(payload))) .map(provider => provider?.onInit!(payload)))
} }
return config return config