jetimob/asaas-sdk-php-laravel
Laravel integration for the Asaas payment gateway that wraps the Asaas PHP SDK with package configuration and service bindings, making it easier to manage customers, payments, subscriptions, and related billing operations in Laravel applications.
externalReference field. That field is the hook that lets every charge, subscription, or transfer carry your internal identifier (order ID, invoice ID, tenant ID) into Asaas and back out through webhooks and API reads. This directly enables: matching gateway events to internal records without heuristic/amount-plus-date matching, safe retry semantics when a create call times out, and cleaner finance/ops reporting.externalReference into already-written persistence and webhook handlers.jetimob) tracking a single Brazilian gateway. It supports a decision to keep gateway-specific code behind an internal interface so a second PSP can be added without rewriting domain logic.Adopt when:
externalReference-style correlation between gateway objects and internal domain entities — which this release now covers, though confirm it is exposed on the specific resources you use (charges vs. subscriptions vs. transfers), not just the one the PR touched.Look elsewhere (or wrap heavily) when:
PaymentGateway port, or pick an agnostic layer.1.9.0.0) and a .0-patch convention mean you should pin exact versions and read every changelog rather than trusting ^1.9.asaas-sdk-php dependency.To executives (one paragraph): This release is small but useful — it lets every payment record we create carry our own internal reference ID into the gateway, so finance and support can trace a charge to an order or customer instantly instead of matching on amounts and dates. Combined with the package itself, it means we can stand up Asaas payments in Laravel on a bought integration layer rather than building one, and keep the reconciliation model clean from day one. Cost is low and reversible: it is a thin wrapper, so the main investment is our own domain code, which stays ours either way. The watch item is that this is a small community-maintained package, so we pin versions and keep the gateway behind an internal interface.
To engineering (the ask): Upgrade to v1.9.0.0, then actually use externalReference — set it on every create call from a single correlation-ID service, persist it locally, and assert on it in webhook handlers before mutating state. Verify the field is plumbed through the specific resources and DTOs you depend on, not just the one path the PR touched, and add a contract test that round-trips it. Pin the dependency to an exact version, add the package to the dependency-review and changelog-monitoring list, and file upstream PRs for any Asaas API fields we need that the SDK has not yet surfaced rather than forking silently. No breaking changes in this release; the change is additive and safe to take alongside unrelated work.
How can I help you explore Laravel packages today?