Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Cashier Nets Laravel Package

udviklr/laravel-cashier-nets

A Laravel Cashier integration for Nets that brings subscription billing and payment handling to your app. Manage customers, plans, payments, and webhooks through a familiar, fluent Cashier-style API.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Checkout reliability as a product requirement: Subscription::recordCheckoutCharge() lets you recover a captured initial payment when the charge webhook is lost, so a paying customer is never left without a refundable transaction on record. This directly supports decisions about how much reconciliation logic your team should own versus delegate to the package.
  • Refund and support readiness: Because the recorded charge is indistinguishable from a webhook-created one (shared creation/finalization path, terminal outcomes preserved, ChargeSucceeded emitted exactly once), customer support can issue refunds on day one without bespoke admin tooling or manual provider lookups.
  • Build vs. buy on payment reconciliation: This closes a common gap that usually drives an in-house "webhook backfill" job. If your roadmap includes a reconciliation service or scheduled job to sweep missed webhooks, evaluate whether this method plus your existing retry policy removes that work item entirely.
  • Lifecycle correctness for renewals: Checkout recording preserves the mandate's lifecycle and renewal schedule, so recovering a missed charge does not distort billing dates, dunning state, or renewal forecasting — a key input for revenue and retention reporting.
  • Failure semantics you can design around: Validation is strict (provider identity, amount, currency, full-charge evidence, capture timestamp required) and listener failures roll back local recording for retry. That gives you a defensible, idempotent retry boundary to build operational runbooks and alerting on, rather than a silent partial-write risk.
  • Low-friction adoption for scope decisions: No schema or dependency changes means this can land in an existing release train without a migration window, data backfill, or infrastructure review — useful when deciding whether to slot it into the current sprint.

When to Consider This Package

Consider it when:

  • You run subscription billing on Laravel and need first-class handling of initial checkout charges, mandates, and renewal schedules rather than hand-rolled glue.
  • Webhook delivery is not fully trustworthy in your environment (self-hosted endpoints, strict firewalls, staging/prod parity issues, or provider retry limits) and you need a supported path to recover a captured charge.
  • You want a single, tested code path for transaction creation and finalization so recorded and webhook-originated charges behave identically for refunds, reporting, and events.
  • You need ChargeSucceeded to fire exactly once — relevant if downstream systems (analytics, entitlements, provisioning) are event-driven and duplicate emissions cause real damage.
  • Your team lacks appetite to own reconciliation logic and would rather consume a maintained API.

Look elsewhere or defer when:

  • You are not on Laravel, or your billing stack is intentionally provider-agnostic and you do not want a framework-coupled abstraction.
  • You already have a mature reconciliation pipeline with proven backfill coverage; the marginal value is mainly the idempotent event guarantee, which may not justify another dependency.
  • Your integration is webhook-only by design and you have contractual delivery guarantees plus monitoring that make missed-charge recovery a non-issue.
  • You require capabilities beyond this release's scope — this is recovery and validation of an existing captured charge, not charge initiation, partial capture handling, or dispute management. Confirm those needs are covered elsewhere before adopting.
  • You cannot tolerate the rollback-on-listener-failure semantic (local recording reverts and requires retry); if your listeners have non-idempotent external side effects, model that carefully first.

How to Pitch It (Stakeholders)

For executives: This release removes a class of revenue-integrity and customer-trust incidents. When a payment provider's confirmation message goes missing, we can now still retrieve and validate the captured checkout payment, keep it refundable, and preserve the subscription's renewal schedule — without new database changes, new dependencies, or added infrastructure cost. Practically, it reduces support escalations from "we charged you but can't refund you yet," protects renewal-date accuracy in our revenue reporting, and lets us retire or avoid building an internal reconciliation job.

For engineering: Subscription::recordCheckoutCharge() retrieves and validates a captured initial checkout payment and records its transaction so refunds work even without the charge webhook. Recording and webhooks converge on the same transaction creation and finalization code, terminal outcomes are preserved, and ChargeSucceeded is emitted exactly once — so downstream consumers need no special-casing. Validation requires provider identity, amount, currency, full-charge evidence, and capture timestamp; listener failures roll back the local recording so retries are safe. No migrations, no dependency bumps: it is a drop-in addition suitable for the current release cycle. Recommended follow-up is a thin operational wrapper (scheduled retry plus alerting on repeated failures) rather than new reconciliation logic.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator