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

Mollie Api Php Laravel Package

mollie/mollie-api-php

Mollie API client for PHP: accept iDEAL, Apple Pay, credit card, SEPA, PayPal, Klarna and more with a clean, well-tested library. Create payments, handle refunds, subscriptions, customers, and webhooks through a simple, intuitive API.

View on GitHub
Deep Wiki
Context7
v3.13.2

What's Changed

New Contributors

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.13.1...v3.13.2

v3.13.1
v3.13.0
v3.12.0
v3.11.0

Added

  • Mollie\Api\Contracts\ResourceOrigin marker interface describing where a hydrated resource came from. Http\Response now implements it.
  • BaseResource::getOrigin() / setOrigin() accessors on every hydrated resource and collection. HTTP-hydrated resources set origin to the Response automatically; no migration needed for existing user code.
  • Mollie\Api\Webhooks\WebhookSnapshotOrigin exposes the event id, signature, and received-at timestamp of the webhook that produced a hydrated resource. Accessible via $resource->getOrigin().
  • Mollie\Api\Webhooks\SnapshotHydrator feeds a webhook snapshot through the main ResourceHydrator after a one-line json_decode(json_encode()) normalization so nested values arrive as stdClass (matching the HTTP path byte-for-byte).
  • BaseEvent::asResource(Connector) hydrates the embedded entity into a fully-typed SDK resource and automatically threads the rich origin (event id, signature, received-at).
  • WebhookEventMapper::processPayload() gains an optional ?string $signature parameter that is threaded through to the resulting event and carried onto hydrated resources via WebhookSnapshotOrigin.
  • ResourceCollection::withOrigin() factory as the origin-aware sibling of withResponse().

Changed

  • BC-implied: IsResponseAware::getResponse() return type narrowed from Response to ?Response. HTTP-hydrated resources continue to return a non-null Response, matching pre-refactor behavior. Webhook-hydrated resources return null. User code that chains $resource->getResponse()->successful() or similar without a null check will NPE on webhook-origin resources — audit your webhook handlers before upgrading. HTTP-only consumers see no change.
  • BC-implied: HasResponse::getPendingRequest() return type narrowed from PendingRequest to ?PendingRequest. Same rationale.
  • WebhookEntity::asResource() gains an optional ?WebhookSnapshotOrigin second parameter. Callers using the single-arg form ($event->entity()->asResource($mollie)) continue to work and receive a fallback origin with null signature. Mapper-driven flow ($event->asResource($mollie)) passes the rich origin automatically.
  • Hydrating a webhook payload no longer requires a valid API key on the connector. Signed snapshots are self-sufficient, so a signing-secret-only webhook worker can read the snapshot without any key. Follow-up calls ($payment->refunds(), $subscription->payments(), etc.) still require an authenticator — they fire real HTTP requests.
  • Follow-up methods on hydrated resources (Payment::refunds/captures/chargebacks, Profile::chargebacks/methods/payments/refunds, Subscription::payments) now fall back to their endpoint collection when the embedded webhook snapshot does not carry the corresponding _links.{name}.href. Previously these methods returned an empty collection in that case, which was a silent behavioural difference between HTTP-origin and webhook-origin resources. With this change the SDK routes through the connector using the resource's id (same pattern PaymentLink::payments() already used), so you get a live child collection on both origins. Relative _links.{name}.href values in webhook payloads are resolved against the client's base URL via Url::join, no special handling required on the caller's side.

For contributors

  • WebhookEventMapper::createWebhookEntityFromPayload() switched from array_pop($_embedded) to key-agnostic iteration that picks the first candidate carrying id and resource fields. Mollie keys the embedded entity under _embedded.entity; the new iteration resolves that correctly and is resilient to any future schema tweak (additional _embedded sub-blocks, renamed key) without silently breaking webhook handling.

Removed

  • WebhookEntity::buildSyntheticResponse() and its dependencies on PendingRequest, DynamicGetRequest, Nyholm\Psr7\Request, and Nyholm\Psr7\Response. Webhook hydration goes through SnapshotHydrator.
  • protected Response $response property on the HasResponse trait. Storage is now ?ResourceOrigin $origin; the getResponse() accessor narrows back to ?Response for callers. Third-party subclasses that read $this->response directly must migrate to $this->getResponse() or $this->getOrigin().

Fixed

  • docs/webhooks.md previously stated that $event->entity() returns null for simple payloads. It actually throws. Updated to correctly describe reading the nullable $event->entity property or fetching the resource via $event->entityId.
v3.10.0
v3.9.0
v3.8.0

What's Changed

New Contributors

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.7.0...v3.8.0

v3.7.0

What's Changed

New Contributors

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.6.0...v3.7.0

v3.6.0

What's Changed

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.5.0...v3.6.0

v3.5.0

Added

Changed

Fixed

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.4.0...v3.5.0

v3.4.0
v3.3.3
v3.3.2
v3.3.1

What's Changed

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.3.0...v3.3.1

v3.3.0
v3.2.0

What's Changed

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.1.5...v3.2.0

v3.1.5

What's Changed

New Contributors

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.1.4...v3.1.5

v3.1.4
v3.1.1
v3.0.6

What's Changed

New Contributors

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.0.5...v3.0.6

v3.0.5

What's Changed

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.0.4...v3.0.5

v3.0.4

What's Changed

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.0.3...v3.0.4

v3.0.3

What's Changed

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.0.2...v3.0.3

v1.0.0-test

What's Changed

New Contributors

Full Changelog: https://github.com/mollie/mollie-api-php/compare/v3.0.5...v1.0.0-test

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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager