Download the PHP package escolalms/payments without Composer
On this page you can find all versions of the php package escolalms/payments. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package payments
Payments
Purpose
This package lets you create Payments and process them using integrations with external payment providers (gateways).
Dependencies
- Stripe integration is based on
league/omnipay
andomnipay/stripe
packages. - Przelewy24 integration is based on
mnastalski/przelewy24-php
package. - Optional integration with
escolalms/settings
package enables changing payment gateway api keys & secrets using Settings API (and Admin Panel).
Installation
composer require escolalms/payments
php artisan migrate
php artisan db:seed --class="EscolaLms\Cart\Database\Seeders\CartPermissionSeeder"
Usage
Facades
Payments Facade
Use EscolaLms\Payments\Facades\Payments
for starting payment processing.
You can create PaymentProcessor` either from a model using Payable trait or from precreated Payment object.
PaymentGateway Facade
With EscolaLms\Payments\Facades\PaymentGateway
you can call payment provider gateways directly.
For existing payment you can for example do:
Important: This will not save Payment
object.
To use specific driver, you can call
Available payment drivers
- stripe (using
Stripe Payment Intent
) - free
- przelewy24
- TODO: stripe-checkout
Payable Trait & Interface
Payable
trait and interface are the core of this package, enabling simplified calling of PaymentsService
and GatewayManager
.
When you include it in your model that represents a Payable
(for example Cart
or Order
or Product
) you can begin payment processing for that Payable
by calling $payable->process()
which calls Payments::processPayable($this)
and automatically creates a Payment
and returns a PaymentProcessor
instance for that Payment.
EscolaLms\Cart
package uses this trait and interface in EscolaLms\Cart\Models\Order
.
Payment Processor
EscolaLms\Payments\Entities\PaymentProcessor
is a special class which wraps around Payment
and contains functionality related to processing that payment, for example generating links to payment gateways, automatically setting payment status after purchase, emiting events related to payment status, etc.
PaymentProcessor
automatically selects free
driver when payment amount equals 0.
Payment Model
This package defines a EscolaLms\Payments\Models\Payment
which contains all data abount given payment required for payment gateways to work.
Endpoints
All the endpoints are defined in .
Tests
Run ./vendor/bin/phpunit
to run tests. See tests/Mocks/Payable as an example how a Payable is defined.
Events
EscolaLms\Payments\Events\PaymentCancelled
- - emited after payment processing is cancelled (by user action or possibly by timeout sent from payment gateway)EscolaLms\Payments\Events\PaymentFailed
- emited after payment has failed (payment gateway returns error)EscolaLms\Payments\Events\PaymentRegistered
- emited when new Payment is createdEscolaLms\Payments\Events\PaymentSuccess
- emited when payment gateway returns success
Listeners
No Listeners are defined in this package.
How to use this package on Frontend
Admin Panel
Left Menu
List of Payments
Permissions
Permissions are defined in Seeder.
Roadmap. Todo. Troubleshooting
- ???
All versions of payments with dependencies
laravel/framework Version >=8.0
escolalms/core Version ^1
league/omnipay Version ^3
omnipay/stripe Version ^3.1
escolalms/przelewy24-php Version ^0
maatwebsite/excel Version ^3.1