hazestudio / laravel-gopay-sdk
GoPay SDK integration with Laravel Framework
Installs: 5 966
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 4
Forks: 14
Open Issues: 2
Requires
- php: >=5.6.0
- gopay/payments-sdk-php: ^1.1
- illuminate/cache: 5.*
- illuminate/config: 5.*
- illuminate/container: 5.*
- illuminate/support: 5.*
This package is not auto-updated.
Last update: 2024-10-27 02:08:06 UTC
README
Docs
Installation
Step 1: Install package
Add the package in your composer.json by executing the command.
composer require hazestudio/laravel-gopay-sdk
This will both update composer.json and install the package into the vendor/ directory.
Next, add the service provider and facade to config/app.php
Add the service provider to providers:
'providers' => [
...
HazeStudio\LaravelGoPaySDK\GopayServiceProvider::class,
...
]
And add the facade to aliases:
'aliases' => [
...
'GoPay' => HazeStudio\LaravelGoPaySDK\Facade::class,
...
]
Step 2: Configuration
First initialise the config file by running this command:
php artisan vendor:publish
With this command, initialize the configuration and modify the created file, located under config/gopay.php
.
Configuration
return [ 'goid' => 'YOUR_GOID', 'clientId' => 'YOUR_CLIENT_ID', 'clientSecret' => 'YOUR_CLIENT_SECRET', 'defaultScope' => 'ALL', //GoPay\Definition\TokenScope Constants 'languages' => [ 'en' => 'ENGLISH', 'sk' => 'SLOVAK', 'cs' => 'CZECH' ], //Map Laravel languages to GoPay\Definition\Language Constants 'timeout' => 30 ];
Features
Languages
\GoPay::lang(GoPay\Definition\Languages::SLOVAK) //or just \GoPay::lang('sk') //or \GoPay::lang('SLOVAK')->createPayment(...);
Scopes
\GoPay::scope(GoPay\Definition\TokenScope::ALL) //Override default scope //or \GoPay::scope('ALL')->createPayment(...);
Events
Example:
Event::listen(\HazeStudio\LaravelGoPaySDK\Events\PaymentCreated::class, function ($event) { dd($event->payment); });
Examples
Create standard payment
use GoPay; use GoPay\Definition\Payment\Currency; use GoPay\Definition\Payment\PaymentInstrument; use GoPay\Definition\Payment\BankSwiftCode; //This will log every http request to the GoPay api GoPay::log(function($request, $response){ \PC::gp_request($request); //PHP Console package \PC::gp_response($response); //PHP Console package //Or Laravel Log \Log::info("{$request->method} {$request->url} -> {$response->statusCode}"); }); $user = \Auth::user(); $response = GoPay::lang($user->locale)->scope('CREATE_PAYMENT')->createPayment([ 'payer' => [ 'default_payment_instrument' => PaymentInstrument::BANK_ACCOUNT, 'allowed_payment_instruments' => [PaymentInstrument::BANK_ACCOUNT], 'default_swift' => BankSwiftCode::FIO_BANKA, 'allowed_swifts' => [BankSwiftCode::FIO_BANKA, BankSwiftCode::MBANK], 'contact' => [ 'first_name' => 'Zbynek', 'last_name' => 'Zak', 'email' => 'test@test.cz', 'phone_number' => '+420777456123', 'city' => 'C.Budejovice', 'street' => 'Plana 67', 'postal_code' => '373 01', 'country_code' => 'CZE', ], ], 'amount' => 1000, 'currency' => Currency::CZECH_CROWNS, 'order_number' => '001', 'order_description' => 'pojisteni01', 'items' => [ ['name' => 'item01', 'amount' => 50], ['name' => 'item02', 'amount' => 100], ], 'additional_params' => [ array('name' => 'invoicenumber', 'value' => '2015001003') ], 'callback' => [ 'return_url' => 'http://www.your-url.tld/return', 'notification_url' => 'http://www.your-url.tld/notify' ] ]); if ($response->hasSucceed()) { $url = $response->json['gw_url']; echo $response; }