- How do I install udviklr/laravel-cashier-nets in a Laravel app?
- Install it with Composer using composer require udviklr/laravel-cashier-nets, then publish any package configuration your app needs and set your Nets credentials and endpoints. The package is designed for Laravel-friendly setup inside the Cashier ecosystem, so you can keep your existing billing workflows. After installation, run your subscription and payment tests against a Nets sandbox or test configuration before going live.
- Which Laravel versions are supported by laravel-cashier-nets?
- The provided overview does not list explicit Laravel version constraints, so check the package composer.json and README for the authoritative support matrix. Because it integrates with Laravel Cashier, your Laravel version should also be compatible with the Cashier version your app uses. Test the package in a staging branch before upgrading Laravel or Cashier in production.
- How do I configure Nets API credentials and endpoints?
- The package provides configurable credentials and API endpoints as part of its Laravel setup. You typically publish the config file and supply your Nets merchant credentials and endpoint values through environment-specific configuration. Keep production and sandbox credentials separate and verify the configured endpoints before processing real payments.
- Does laravel-cashier-nets handle Nets webhooks?
- Yes. The package includes webhook handling for Nets events, allowing checkout and payment activity to flow into your Laravel application. Webhooks remain the primary path for subscription and payment state changes when they are delivered. You should still monitor delivery failures and have reconciliation procedures for missing events.
- How do I manage subscriptions with Laravel Cashier and Nets?
- The package provides a Cashier-compatible billing API for Nets, including subscription and mandate lifecycle handling. You can manage subscription state through familiar Cashier-style workflows while Nets handles checkout and payment operations. The v1.5.0 release also preserves the mandate lifecycle and renewal schedule when checkout charges are recorded manually.
- Can laravel-cashier-nets handle one-off payments as well as subscriptions?
- Yes. The package supports both subscription billing and one-off payment management through its Cashier-style API. Checkout and payment operations are bridged to Nets-specific APIs so you can keep Laravel-native workflows. For reconciliation, verify that one-off captures produce the transaction and refund state your application expects.
- What is Subscription::recordCheckoutCharge() in laravel-cashier-nets v1.5.0?
- It is an additive method that lets application code record a captured initial checkout payment when the charge webhook is missing or delayed. It retrieves and validates the checkout charge evidence and makes the corresponding transaction available for refunds. Manual recording shares transaction creation and finalization logic with webhook processing and is intended as a fallback or reconciliation path.
- Will recordCheckoutCharge() create duplicate ChargeSucceeded events if the webhook also arrives?
- The v1.5.0 release states that manual recording and webhook processing share transaction creation and finalization logic and emit ChargeSucceeded once. However, idempotency across mixed webhook and manual paths is a key integration detail to validate in your own tests. Monitor for duplicate events and confirm the behavior for your supported Nets checkout flows before relying on it in production.
- How should I upgrade to laravel-cashier-nets v1.5.0?
- Upgrade in staging with Composer and run your existing subscription, webhook, refund, and mandate lifecycle tests. The release is additive and reports no schema or dependency changes, so the migration path is a normal package upgrade with regression testing. Validate that webhook-only, manual-only, and mixed recording paths produce consistent transactions and refund availability.
- What production safeguards should I use with recordCheckoutCharge()?
- Treat webhooks as the primary path and use recordCheckoutCharge() as a controlled fallback or reconciliation job for missing or delayed charge webhooks. Add monitoring for validation failures, listener rollbacks, duplicate ChargeSucceeded events, and refund-path mismatches. Confirm provider identity, amount, currency, full-charge evidence, and capture timestamp inputs, and document retry ownership for support and on-call teams.