diff --git a/dev/payload.config.ts b/dev/payload.config.ts
index f7db56d..e746f8a 100644
--- a/dev/payload.config.ts
+++ b/dev/payload.config.ts
@@ -8,7 +8,7 @@ import { fileURLToPath } from 'url'
import { testEmailAdapter } from './helpers/testEmailAdapter'
import { seed } from './seed'
import billingPlugin from '../src/plugin'
-import { mollieProvider } from '../src/providers'
+import { testProvider } from '../src/providers'
const filename = fileURLToPath(import.meta.url)
const dirname = path.dirname(filename)
@@ -50,8 +50,13 @@ const buildConfigWithSQLite = () => {
plugins: [
billingPlugin({
providers: [
- mollieProvider({
- apiKey: process.env.MOLLIE_KEY!
+ testProvider({
+ enabled: true,
+ testModeIndicators: {
+ showWarningBanners: true,
+ showTestBadges: true,
+ consoleWarnings: true
+ }
})
],
collections: {
diff --git a/playwright-report/index.html b/playwright-report/index.html
new file mode 100644
index 0000000..f3b914f
--- /dev/null
+++ b/playwright-report/index.html
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+ Playwright Test Report
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/collections/hooks.ts b/src/collections/hooks.ts
index 7a0a289..0e62ef8 100644
--- a/src/collections/hooks.ts
+++ b/src/collections/hooks.ts
@@ -1,6 +1,6 @@
-import type { Payment } from '../plugin/types/index.js'
+import type { Payment } from '../plugin/types/index'
import type { Payload } from 'payload'
-import { useBillingPlugin } from '../plugin/index.js'
+import { useBillingPlugin } from '../plugin/index'
export const initProviderPayment = (payload: Payload, payment: Partial) => {
const billing = useBillingPlugin(payload)
diff --git a/src/collections/index.ts b/src/collections/index.ts
index 72abd52..c0f2f5a 100644
--- a/src/collections/index.ts
+++ b/src/collections/index.ts
@@ -1,3 +1,3 @@
-export { createInvoicesCollection } from './invoices.js'
-export { createPaymentsCollection } from './payments.js'
-export { createRefundsCollection } from './refunds.js'
+export { createInvoicesCollection } from './invoices'
+export { createPaymentsCollection } from './payments'
+export { createRefundsCollection } from './refunds'
diff --git a/src/collections/invoices.ts b/src/collections/invoices.ts
index 77a3978..6731797 100644
--- a/src/collections/invoices.ts
+++ b/src/collections/invoices.ts
@@ -5,10 +5,10 @@ import {
CollectionBeforeValidateHook,
CollectionConfig, Field,
} from 'payload'
-import type { BillingPluginConfig} from '../plugin/config.js';
-import { defaults } from '../plugin/config.js'
-import { extractSlug } from '../plugin/utils.js'
-import type { Invoice } from '../plugin/types/invoices.js'
+import type { BillingPluginConfig} from '../plugin/config';
+import { defaults } from '../plugin/config'
+import { extractSlug } from '../plugin/utils'
+import type { Invoice } from '../plugin/types/invoices'
export function createInvoicesCollection(pluginConfig: BillingPluginConfig): CollectionConfig {
const {customerRelationSlug, customerInfoExtractor} = pluginConfig
diff --git a/src/collections/payments.ts b/src/collections/payments.ts
index 68978f7..c6263e5 100644
--- a/src/collections/payments.ts
+++ b/src/collections/payments.ts
@@ -1,9 +1,9 @@
import type { AccessArgs, CollectionBeforeChangeHook, CollectionConfig, Field } from 'payload'
-import type { BillingPluginConfig} from '../plugin/config.js';
-import { defaults } from '../plugin/config.js'
-import { extractSlug } from '../plugin/utils.js'
-import type { Payment } from '../plugin/types/payments.js'
-import { initProviderPayment } from './hooks.js'
+import type { BillingPluginConfig} from '../plugin/config';
+import { defaults } from '../plugin/config'
+import { extractSlug } from '../plugin/utils'
+import type { Payment } from '../plugin/types/payments'
+import { initProviderPayment } from './hooks'
export function createPaymentsCollection(pluginConfig: BillingPluginConfig): CollectionConfig {
const overrides = typeof pluginConfig.collections?.payments === 'object' ? pluginConfig.collections?.payments : {}
diff --git a/src/collections/refunds.ts b/src/collections/refunds.ts
index bca2f24..66fc6d8 100644
--- a/src/collections/refunds.ts
+++ b/src/collections/refunds.ts
@@ -1,7 +1,7 @@
import type { AccessArgs, CollectionConfig } from 'payload'
-import { BillingPluginConfig, defaults } from '../plugin/config.js'
-import { extractSlug } from '../plugin/utils.js'
-import { Payment } from '../plugin/types/index.js'
+import { BillingPluginConfig, defaults } from '../plugin/config'
+import { extractSlug } from '../plugin/utils'
+import { Payment } from '../plugin/types/index'
export function createRefundsCollection(pluginConfig: BillingPluginConfig): CollectionConfig {
// TODO: finish collection overrides
diff --git a/src/plugin/config.ts b/src/plugin/config.ts
index e2e5665..1e7f8c7 100644
--- a/src/plugin/config.ts
+++ b/src/plugin/config.ts
@@ -1,6 +1,6 @@
import { CollectionConfig } from 'payload'
-import { FieldsOverride } from './utils.js'
-import { PaymentProvider } from './types/index.js'
+import { FieldsOverride } from './utils'
+import { PaymentProvider } from './types/index'
export const defaults = {
paymentsCollection: 'payments',
@@ -20,7 +20,7 @@ export interface TestProviderConfig {
}
// Re-export the actual test provider config instead of duplicating
-export type { TestProviderConfig as AdvancedTestProviderConfig } from '../providers/test.js'
+export type { TestProviderConfig as AdvancedTestProviderConfig } from '../providers/test'
// Customer info extractor callback type
export interface CustomerInfoExtractor {
diff --git a/src/plugin/index.ts b/src/plugin/index.ts
index a8d5d97..7e837fe 100644
--- a/src/plugin/index.ts
+++ b/src/plugin/index.ts
@@ -1,8 +1,8 @@
-import { createInvoicesCollection, createPaymentsCollection, createRefundsCollection } from '../collections/index.js'
-import type { BillingPluginConfig } from './config.js'
+import { createInvoicesCollection, createPaymentsCollection, createRefundsCollection } from '../collections/index'
+import type { BillingPluginConfig } from './config'
import type { Config, Payload } from 'payload'
-import { createSingleton } from './singleton.js'
-import type { PaymentProvider } from '../providers/index.js'
+import { createSingleton } from './singleton'
+import type { PaymentProvider } from '../providers/index'
const singleton = createSingleton(Symbol('billingPlugin'))
diff --git a/src/plugin/types/invoices.ts b/src/plugin/types/invoices.ts
index fdc1719..8249b7a 100644
--- a/src/plugin/types/invoices.ts
+++ b/src/plugin/types/invoices.ts
@@ -1,5 +1,5 @@
-import { Payment } from './payments.js'
-import { Id } from './id.js'
+import { Payment } from './payments'
+import { Id } from './id'
export interface Invoice {
id: Id;
diff --git a/src/plugin/types/payments.ts b/src/plugin/types/payments.ts
index 1d8b79c..5e803a9 100644
--- a/src/plugin/types/payments.ts
+++ b/src/plugin/types/payments.ts
@@ -1,6 +1,6 @@
-import { Refund } from './refunds.js'
-import { Invoice } from './invoices.js'
-import { Id } from './id.js'
+import { Refund } from './refunds'
+import { Invoice } from './invoices'
+import { Id } from './id'
export interface Payment {
id: Id;
diff --git a/src/plugin/types/refunds.ts b/src/plugin/types/refunds.ts
index 1cab98b..df05c51 100644
--- a/src/plugin/types/refunds.ts
+++ b/src/plugin/types/refunds.ts
@@ -1,4 +1,4 @@
-import { Payment } from './payments.js'
+import { Payment } from './payments'
export interface Refund {
id: number;
diff --git a/src/plugin/utils.ts b/src/plugin/utils.ts
index b9a7dae..9d81725 100644
--- a/src/plugin/utils.ts
+++ b/src/plugin/utils.ts
@@ -1,5 +1,5 @@
import type { CollectionConfig, CollectionSlug, Field } from 'payload'
-import type { Id } from './types/index.js'
+import type { Id } from './types/index'
export type FieldsOverride = (args: { defaultFields: Field[] }) => Field[]
diff --git a/src/providers/index.ts b/src/providers/index.ts
index b12969a..c593f82 100644
--- a/src/providers/index.ts
+++ b/src/providers/index.ts
@@ -1,10 +1,10 @@
-export * from './mollie.js'
-export * from './stripe.js'
-export * from './test.js'
-export * from './types.js'
-export * from './currency.js'
+export * from './mollie'
+export * from './stripe'
+export * from './test'
+export * from './types'
+export * from './currency'
// Re-export provider configurations and types
-export type { StripeProviderConfig } from './stripe.js'
-export type { MollieProviderConfig } from './mollie.js'
-export type { TestProviderConfig, PaymentOutcome, PaymentMethod, PaymentScenario } from './test.js'
+export type { StripeProviderConfig } from './stripe'
+export type { MollieProviderConfig } from './mollie'
+export type { TestProviderConfig, PaymentOutcome, PaymentMethod, PaymentScenario } from './test'
diff --git a/src/providers/mollie.ts b/src/providers/mollie.ts
index af8918c..208a6f1 100644
--- a/src/providers/mollie.ts
+++ b/src/providers/mollie.ts
@@ -1,7 +1,7 @@
-import type { Payment } from '../plugin/types/payments.js'
-import type { PaymentProvider } from '../plugin/types/index.js'
+import type { Payment } from '../plugin/types/payments'
+import type { PaymentProvider } from '../plugin/types/index'
import type { Payload } from 'payload'
-import { createSingleton } from '../plugin/singleton.js'
+import { createSingleton } from '../plugin/singleton'
import type { createMollieClient, MollieClient } from '@mollie/api-client'
import {
webhookResponses,
@@ -10,8 +10,8 @@ import {
updateInvoiceOnPaymentSuccess,
handleWebhookError,
validateProductionUrl
-} from './utils.js'
-import { formatAmountForProvider, isValidAmount, isValidCurrencyCode } from './currency.js'
+} from './utils'
+import { formatAmountForProvider, isValidAmount, isValidCurrencyCode } from './currency'
const symbol = Symbol('mollie')
export type MollieProviderConfig = Parameters[0]
diff --git a/src/providers/stripe.ts b/src/providers/stripe.ts
index fc64f94..28dca74 100644
--- a/src/providers/stripe.ts
+++ b/src/providers/stripe.ts
@@ -1,7 +1,7 @@
-import type { Payment } from '../plugin/types/payments.js'
-import type { PaymentProvider, ProviderData } from '../plugin/types/index.js'
+import type { Payment } from '../plugin/types/payments'
+import type { PaymentProvider, ProviderData } from '../plugin/types/index'
import type { Payload } from 'payload'
-import { createSingleton } from '../plugin/singleton.js'
+import { createSingleton } from '../plugin/singleton'
import type Stripe from 'stripe'
import {
webhookResponses,
@@ -10,8 +10,8 @@ import {
updateInvoiceOnPaymentSuccess,
handleWebhookError,
logWebhookEvent
-} from './utils.js'
-import { isValidAmount, isValidCurrencyCode } from './currency.js'
+} from './utils'
+import { isValidAmount, isValidCurrencyCode } from './currency'
const symbol = Symbol('stripe')
diff --git a/src/providers/test.ts b/src/providers/test.ts
index f48e50b..09236a5 100644
--- a/src/providers/test.ts
+++ b/src/providers/test.ts
@@ -1,9 +1,9 @@
-import type { Payment } from '../plugin/types/payments.js'
-import type { PaymentProvider, ProviderData } from '../plugin/types/index.js'
-import type { BillingPluginConfig } from '../plugin/config.js'
+import type { Payment } from '../plugin/types/payments'
+import type { PaymentProvider, ProviderData } from '../plugin/types/index'
+import type { BillingPluginConfig } from '../plugin/config'
import type { Payload } from 'payload'
-import { handleWebhookError, logWebhookEvent } from './utils.js'
-import { isValidAmount, isValidCurrencyCode } from './currency.js'
+import { handleWebhookError, logWebhookEvent } from './utils'
+import { isValidAmount, isValidCurrencyCode } from './currency'
export type PaymentOutcome = 'paid' | 'failed' | 'cancelled' | 'expired' | 'pending'
diff --git a/src/providers/types.ts b/src/providers/types.ts
index 0950cf6..311e9ad 100644
--- a/src/providers/types.ts
+++ b/src/providers/types.ts
@@ -1,6 +1,6 @@
-import type { Payment } from '../plugin/types/payments.js'
+import type { Payment } from '../plugin/types/payments'
import type { Config, Payload } from 'payload'
-import type { BillingPluginConfig } from '../plugin/config.js'
+import type { BillingPluginConfig } from '../plugin/config'
export type InitPayment = (payload: Payload, payment: Partial) => Promise>
diff --git a/src/providers/utils.ts b/src/providers/utils.ts
index 728d7c8..4241db5 100644
--- a/src/providers/utils.ts
+++ b/src/providers/utils.ts
@@ -1,9 +1,9 @@
import type { Payload } from 'payload'
-import type { Payment } from '../plugin/types/payments.js'
-import type { BillingPluginConfig } from '../plugin/config.js'
-import type { ProviderData } from './types.js'
-import { defaults } from '../plugin/config.js'
-import { extractSlug, toPayloadId } from '../plugin/utils.js'
+import type { Payment } from '../plugin/types/payments'
+import type { BillingPluginConfig } from '../plugin/config'
+import type { ProviderData } from './types'
+import { defaults } from '../plugin/config'
+import { extractSlug, toPayloadId } from '../plugin/utils'
/**
* Common webhook response utilities