Download the PHP package sdkcodes/lara-paystack without Composer
On this page you can find all versions of the php package sdkcodes/lara-paystack. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sdkcodes/lara-paystack
More information about sdkcodes/lara-paystack
Files in sdkcodes/lara-paystack
Package lara-paystack
Short Description A simple package for using paystack with laravel
License MIT
Informations about the package lara-paystack
LaraPaystack
A laravel 5 sdk to interface with paystack endpoints
About
This package abstracts Paystack's endpoints into simple methods
You can find all paystack's endpoints at https://developers.paystack.co/reference
Requirements
- PHP >= 7.0
- Composer
- Laravel >= 5.4
Installation
- Run
composer require sdkcodes/lara-paystack
to install the latest version of LaraPaystack
Features
- Flexibility: This package basically gives you total control and flexibility over the data you pass to paystack with a few helper methods here and there to help you when needed.
How payment on Paystack works
In order to collect payments with paystack from your customers, this is how the flow generally looks like:
- You initialize a transaction with paystack by sending certain to the paystack api, this data usually contains things like the [amount and email (and also name and phone number of the customer)]
- Paystack responds with a payment url (or authorization url) which is a page on paystack's site that you must redirect your customer to. The actual payment will happen on this page
- Once payment is complete and successful on this page (i.e your customer has been debited by paystack), paystack redirects the customer back to your site (to a url [callback url] you already specified while initiating transaction from step 1). When redirecting the customer back to your site, paystack will also send the transaction reference of the just concluded transaction as a query parameter.
- On your callback url now, you should then use the transaction reference returned to verify if the transaction was actually genuine or not before you then proceed to give value to the customer.
Basic Usage
- You can create a new instance of the Paystack class as such
$paystack = new PaystackService()
, and immediately start to use all methods offered by the SDK. -
You can as well inject it into your constructors or methods e.g
- With LaraPaystack, you can initiate transaction and redirect to payment url in just one line:
$paystack->initializeTransaction($data)->redirectNow();
Below is a sample route and controller that uses the LaraPaystack package to make and verify payment
More
As it stands, here are some of the things you can do with this package:
- Initiate Transaction
- Verify Transaction
- List Transactions
- Create transfer recipient
- Initiate transfer
- Finalize transfer
- List transfer recipients
- List Banks [new]
- Initiate bulk transfer [new]
I plan to keep updating the package and as time permits, cover all of Paystack's endpoints.
You're welcome to contribute as well.
Expectations
LaraPaystack requires some environment variables be set, and it uses the appropriate paystack key based on your enviroment
- PAYSTACK_TEST_SECRET_KEY=[Your_Paystack_Secret_Test_key]
- PAYSTACK_LIVE_SECRET_KEY=[Your_Paystack_Secret_Live_key]
The
PAYSTACK_TEST_SECRET_KEY
will be automatically used if yourAPP_ENV
matches any of the following values: local, test, staging
The PAYSTACK_LIVE_SECRET_KEY
will be automatically used if your APP_ENV
matches any of the following values: production
However, you can easily override the environment values by setting a USE_ENV_AS
variable in your .env
USE_ENV_AS
can have either values of production
to simulate production environment or testing
to simulate test environment
Examples
Bulk Transfer
To use the package for Paystack's bulk transfer, you need to first disable OTP from your paystack dashboard.
You will use the doBulkTransfer(array $recipients, string $currency="NGN", string $source="balance")
method to carry out bulk transfer.
Note: Only the first argument to the method is required
TODO
Complete documentation
Inspiration
This package was highly inspired by @Unicodeveloper's Laravel Paystack package
License
The package is as free as a bird.
A star of the repo would highly be appreciated
All versions of lara-paystack with dependencies
illuminate/support Version >=5.4
guzzlehttp/guzzle Version ~6.0