Payments
Package docs status
Section titled “Package docs status”This page is generated from package source documentation in the Capell packages repository and the checked-in manifest. Source documentation is not distribution status. Before running a Composer command, verify that the exact package and compatible 1.x release are available through public Packagist or the authenticated marketplace account.
| Field | Value |
|---|---|
| Composer package | capell-app/payments |
| Package slug | payments |
| Product group | Capell Commerce |
| Tier | premium |
| Bundle | commerce |
| Runtime contexts | admin, frontend, console |
| Capell version | ^1.0 |
| Source repository | capell-app/packages |
| Source path | packages/payments |
| Docs source | packages/payments/docs |
| Manifest | capell.json |
What This Plugin Adds
Section titled “What This Plugin Adds”Payments is an Available, Schema-owning Capell package in the Capell Commerce product group. It ships as capell-app/payments and extends these surfaces: admin, frontend, console.
Payments adds Stripe and PayPal checkout, provider-neutral payment records, verified webhooks, refunds, subscriptions, billing portals, and paid-download fulfillment.
Customers can complete configured checkout and billing flows. Admins can inspect transactions, refunds, disputes, subscriptions, and webhook events as an operational record.
Evidence: src/Actions/CreateCheckoutSessionAction.php, src/Actions/HandleStripeWebhookAction.php, src/Actions/HandlePayPalWebhookAction.php, src/Actions/IssuePaymentRefundAction.php, routes/web.php, tests/Feature/PaidDownloadRouteTest.php, tests/Unit/PaymentsAdminSurfaceTest.php, src/Actions/CreateBillingPortalSessionAction.php.
Status details:
- Status: Available
- Tier: premium
- Bundle: commerce
- Composer package:
capell-app/payments - Namespace:
Capell\Payments - Theme key: not applicable
Why It Matters
Section titled “Why It Matters”For developers: Gateway and fulfillment contracts keep provider calls and post-payment delivery behind Actions with idempotency and webhook verification.
For teams: Teams can take payments and reconcile provider activity from Capell while retaining a clear record of refunds, disputes, and fulfillment.
Evidence: src/Contracts/PaymentGateway.php, src/Contracts/PaymentFulfillmentHandler.php, src/Actions/GeneratePaymentGatewayIdempotencyKeyAction.php, tests/Unit/HandleStripeWebhookActionTest.php, docs/overview.admin.md, src/Actions/ReconcilePaymentWebhooksAction.php, src/Actions/FulfillCompletedCheckoutSessionAction.php.
Screens And Workflow
Section titled “Screens And Workflow”Screenshot contract: docs/screenshots.json.


- Payments checkout sessions (admin, required).
- Payments webhook events (admin, required).
- Payments settings (admin, required).
- Payments customer portal billing (frontend, required).
- Payments Form Builder checkout (frontend, required).
- Payments checkout failure and return state (frontend, optional).
- Payments refund detail (admin, optional).
- Payments dispute detail (admin, optional).
- Payments webhook reprocess action (admin, optional).
Technical Shape
Section titled “Technical Shape”- Service providers:
Capell\Payments\Providers\PaymentsServiceProvider,Capell\Payments\Providers\AdminServiceProvider. - Config files:
packages/payments/config/capell-payments.php. - Migrations:
packages/payments/database/migrations/2026_05_31_000001_create_payment_customers_table.php,packages/payments/database/migrations/2026_05_31_000002_create_payment_checkout_sessions_table.php,packages/payments/database/migrations/2026_05_31_000003_create_payment_intents_table.php,packages/payments/database/migrations/2026_05_31_000004_create_payment_subscriptions_table.php,packages/payments/database/migrations/2026_05_31_000005_create_payment_webhook_events_table.php,packages/payments/database/migrations/2026_05_31_000006_create_payment_refunds_table.php,packages/payments/database/migrations/2026_05_31_000007_create_payment_disputes_table.php,packages/payments/database/migrations/2026_05_31_000009_create_payment_download_entitlements_table.php. - Settings migrations:
packages/payments/database/settings/2026_05_31_000008_create_payments_settings.php. - Settings classes:
PaymentsSettings. - Models:
CheckoutSession,PaymentCustomer,PaymentDispute,PaymentDownloadEntitlement,PaymentIntent,PaymentRefund,PaymentWebhookEvent,Subscription. - Filament classes:
CheckoutSessionResource,ListCheckoutSessions,ListPaymentCustomers,PaymentCustomerResource,ListPaymentDisputes,PaymentDisputeResource,ListPaymentIntents,PaymentIntentResource,ListPaymentRefunds,PaymentRefundResource,ListSubscriptions,SubscriptionResource,and 3 more. - Route files:
packages/payments/routes/web.php. - Policies:
AbstractPaymentsResourcePolicy,CheckoutSessionPolicy,PaymentCustomerPolicy,PaymentDisputePolicy,PaymentIntentPolicy,PaymentRefundPolicy,PaymentWebhookEventPolicy,SubscriptionPolicy. - Extension contracts:
PaymentFulfillmentHandler,PaymentGateway. - Actions:
BuildPaymentsHealthReportAction,CapturePayPalCheckoutSessionAction,CreateBillingPortalSessionAction,CreateCheckoutSessionAction,CreatePaidDownloadUrlAction,DownloadPaidDownloadAction,FormatPaymentMoneyAction,FulfillCompletedCheckoutSessionAction,GeneratePaymentGatewayIdempotencyKeyAction,GrantPaidDownloadAccessAction,HandlePayPalWebhookAction,HandleStripeWebhookAction,and 18 more. - Data objects:
BillingPortalSessionData,CheckoutLineItemData,CheckoutSessionData,CreateBillingPortalSessionData,CreateCheckoutSessionData,PaymentCustomerData,PaymentDisputeData,PaymentFulfillmentResultData,PaymentIntentData,PaymentRefundData,PaymentsHealthReportData,ReconcilePaymentWebhooksResultData,and 5 more. - Jobs:
ProcessPayPalWebhookEventJob,ProcessStripeWebhookEventJob. - Command signatures:
capell:payments:webhooks:reconcile,capell:payments:webhooks:reprocess. - Manifest action API:
billingPortal: Capell\Payments\Actions\CreateBillingPortalSessionAction,checkout: Capell\Payments\Actions\CreateCheckoutSessionAction,paidDownloadUrl: Capell\Payments\Actions\CreatePaidDownloadUrlAction,subscriptionEntitlement: Capell\Payments\Actions\ResolveSubscriptionEntitlementAction. - Console command classes:
ReconcilePaymentWebhooksCommand,ReprocessPaymentWebhookEventsCommand. - Manifest contributions:
admin-resource: Capell\Payments\Manifest\CheckoutSessionResourceContribution,admin-resource: Capell\Payments\Manifest\PaymentCustomerResourceContribution,admin-resource: Capell\Payments\Manifest\PaymentDisputeResourceContribution,admin-resource: Capell\Payments\Manifest\PaymentIntentResourceContribution,admin-resource: Capell\Payments\Manifest\PaymentRefundResourceContribution,admin-resource: Capell\Payments\Manifest\PaymentWebhookEventResourceContribution,admin-resource: Capell\Payments\Manifest\SubscriptionResourceContribution,console-command: Capell\Payments\Manifest\PaymentsConsoleCommandsContribution,health-check: Capell\Payments\Manifest\PaymentsHealthContribution,model: Capell\Payments\Manifest\PaymentsModelsContribution,route: Capell\Payments\Manifest\PaymentsFrontendRoutesContribution,setting: Capell\Payments\Manifest\PaymentsSettingsContribution. - Health checks:
Capell\Payments\Health\PaymentsHealthCheck. - Cache tags:
payments.
Data Model
Section titled “Data Model”- Required tables:
payment_customers,payment_checkout_sessions,payment_intents,payment_subscriptions,payment_webhook_events,payment_refunds,payment_disputes,payment_download_entitlements. - Protected tables:
payment_customers,payment_checkout_sessions,payment_intents,payment_subscriptions,payment_webhook_events,payment_refunds,payment_disputes,payment_download_entitlements. - Models:
CheckoutSession,PaymentCustomer,PaymentDispute,PaymentDownloadEntitlement,PaymentIntent,PaymentRefund,PaymentWebhookEvent,Subscription. - Core record references in migrations:
sites via site_id. - Migration files:
2026_05_31_000001_create_payment_customers_table.php,2026_05_31_000002_create_payment_checkout_sessions_table.php,2026_05_31_000003_create_payment_intents_table.php,2026_05_31_000004_create_payment_subscriptions_table.php,2026_05_31_000005_create_payment_webhook_events_table.php,2026_05_31_000006_create_payment_refunds_table.php,2026_05_31_000007_create_payment_disputes_table.php,2026_05_31_000009_create_payment_download_entitlements_table.php. - Migration impact: run host migrations through the package install flow before opening package surfaces.
- Deletion/retention behaviour: migrations declare cascade-on-delete relationships and null-on-delete relationships; no timed pruning or retention schedule is declared in
capell.json.
Install Impact
Section titled “Install Impact”- Required packages:
capell-app/admin,capell-app/core. - Admin navigation: declares
admin-resource: CheckoutSessionResourceContribution,admin-resource: PaymentCustomerResourceContribution,admin-resource: PaymentDisputeResourceContribution,admin-resource: PaymentIntentResourceContribution,admin-resource: PaymentRefundResourceContribution,admin-resource: PaymentWebhookEventResourceContribution,admin-resource: SubscriptionResourceContribution; each Filament page or resource controls its own navigation visibility. - Admin/editor extensions: none declared.
- Permissions:
View:PaymentCustomer,View:CheckoutSession,View:PaymentIntent,View:Subscription,View:PaymentWebhookEvent,View:PaymentRefund,View:PaymentDispute. - Public routes: loads
routes/web.php; registersPaymentsFrontendRoutesContribution. - Database changes: package migrations are declared.
- Config:
config/capell-payments.php. - Settings:
Capell\Payments\Settings\PaymentsSettings. - Queues or schedules: queue jobs
ProcessPayPalWebhookEventJob,ProcessStripeWebhookEventJob. - Cache tags:
payments. - Commands:
capell:payments:webhooks:reconcile,capell:payments:webhooks:reprocess.
Common Pitfalls
Section titled “Common Pitfalls”- Keep required Capell packages on compatible v4 releases:
capell-app/admin,capell-app/core. - Run migrations before opening package resources or public routes.
- Review package configuration before production-like verification:
config/capell-payments.php,Capell\Payments\Settings\PaymentsSettings. - Review middleware, throttling, signatures, and public-output safety in
routes/web.phpbefore exposing routes. - Keep public Blade and cached HTML free of authoring markers, model IDs, permissions, signed editor URLs, and lazy database queries.
- Custom write integrations must preserve invalidation for
paymentscache tags.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package surface is missing after install | Provider or manifest is not loaded | Confirm capell.json, package composer.json, and provider registration | Reinstall the package, refresh Composer autoload, and clear host caches |
| Admin screen or command fails on missing table | Package migrations have not run | Check the tables listed in Data Model | Run host migrations and rerun the focused package test |
| Route returns unexpected output | Route cache, middleware, or signed URL setup does not match the package route file | Check the route files listed in Technical Shape | Clear route cache and verify middleware before exposing public routes |
| Background work does not run | Queue worker or declared schedule is not active | Check the jobs and scheduled commands listed in Technical Shape | Start the queue worker or host scheduler, then run the focused command or package test |
| Public output leaks unexpected state | Render data, cache variation, or authoring boundary has regressed | Check public Blade, cache tags, and public-output safety tests | Move data loading out of Blade and rerun the package public-output tests |
Quick Start
Section titled “Quick Start”- Install the package:
composer require capell-app/payments. - Run the required setup:
php artisan migrate. - Open the Payments checkout sessions and confirm the admin workflow loads.
Next Steps
Section titled “Next Steps”- Package docs
- Overview
- Admin guide
- Configuration files:
config/capell-payments.php. - Troubleshooting
- Screenshot contract
- Marketplace assets
- Capell content language plan
- Capell documentation design system
- Capell and package ERD notes
- Related packages: Access Gate, Customer Portal.
- Focused tests:
vendor/bin/pest packages/payments/tests --configuration=phpunit.xml.