Download the PHP package memberflow/plorea without Composer

On this page you can find all versions of the php package memberflow/plorea. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package plorea

Plorea SDK for Laravel

Tests Static Analysis Latest Stable Version

A Laravel SDK for the Plorea Payments API — payment links, refunds, stored cards, subscriptions and webhooks, with a fluent API and first-class testing support.

Plorea abstracts the underlying payment provider (Adyen) behind a simple API: you create a payment link, your customer pays on pay.plorea.no, and Plorea notifies you by webhook.

Installation

Requires PHP 8.4+ and Laravel 12 or 13. The service provider is auto-discovered.

Documentation

Full documentation lives in docs/.

Guide
Getting started Installation, the full configuration reference, the facade
Payments Payment links, firstOrCreate, status, refunds, cancellations
Payment methods Storing cards — hosted redirect and Adyen Drop-in, deleting them
Embedded and native checkout Drop-in on your domain or in an iOS / Android app
Going live The production checklist
Subscriptions Create, trials, update, pause/resume, cancel, reactivate, charges, dunning
Webhooks Signature verification, the event catalogue, what is poll-only
Testing Plorea::fake(), stubs, assertions
Error handling Exceptions, status mapping, retries and idempotency
Request logging Building an audit trail from SDK events
API reference Every method, DTO property, enum and event
Verified API behaviour What has actually been observed against the live API — and what has not

What you need to know before writing code

Six behaviours account for most of the surprises. Each links to the detail.

Amounts are minor units. Amount::nok(450000) is 4 500,00 kr. There is no major-unit constructor, on purpose.

merchantOrgNr is required, and it is always the invoice issuer's — your client's — organisation number, never your platform's. Plorea accepts a link without it and fails only at payout time, so the SDK refuses to create one. → Payments

There is no idempotency on references. Creating twice gives you two live, payable links. Use firstOrCreate(), which reuses an open link, supersedes a dead one, and throws PaymentAlreadyPaidException for a settled reference. → Payments

Webhooks are pings, not truth. Re-fetch authoritative state in every listener. Delivery is best-effort and never retried, and card setup, cancellation and reactivation emit no webhook at all. A failed recurring charge raises SubscriptionChargeFailed, but for dunning still poll subscriptions()->needingAttention(). Deduplicate on $event->eventId, never on the x-plorea-event-id header — the signature covers the body alone. → Webhooks

There is nothing to capture. Plorea settles automatically a few minutes after authorization and exposes no manual capture endpoint, so authorised means done — which is what isPaid() already returns true for. Do not build a pending-capture state to wait in. → Payments

Status strings do not always say what you would guess. A refused payment reports failed, not refused. Subscriptions use the US spelling canceled. expired is never reported — judge expiry from expiresAt. Use the typed helpers (isPaid(), isActive(), is('...')) rather than comparing strings. → Verified API behaviour

Checkout surfaces

The hosted pay page is the supported path, and a WebView on it is all a mobile app needs today. Two other surfaces mount Adyen's Drop-in yourself, and both need a client key from Plorea:

Surface Status
Hosted pay page ($link->url) Works. Web and WebView alike
Adyen Drop-in on your own domain Works. Plorea whitelists your origins on request; the session carries the client key, with PLOREA_ADYEN_CLIENT_KEY as the fallback
Native iOS / Android Adyen SDK Works. session(..., channel: Channel::IOS), plus a return URL your app handles

→ Going live

Testing

No HTTP leaves your suite, every endpoint has a sensible default, and status lookups mirror the real API closely enough that firstOrCreate() works out of the box. → Testing

Verified against the live API

The claims in these docs are not read off Plorea's API documentation. Anonymised captures of real responses live in tests/Fixtures/ and are run through the SDK's DTOs by tests/Feature/GoldenFixturesTest.php, so a shape change breaks the build.

Verified API behaviour records what has been observed, when, and how — including what is only stated by Plorea rather than seen, and what is known to be impossible to reproduce in test.

Contributing

See CONTRIBUTING.md. composer check (Pint, Rector, PHPStan level 8, PHPUnit) must pass.

Security

Report vulnerabilities via SECURITY.md, not a public issue. Never commit real credentials — not in tests, fixtures, or comments.

License

The MIT License (MIT). See LICENSE.md.


All versions of plorea with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
guzzlehttp/guzzle Version ^7.8
illuminate/contracts Version ^12.0|^13.0
illuminate/http Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package memberflow/plorea contains the following files

Loading the files please wait ...