evilnet / dotpay
Package for Dotpay payments via api instead of form
Installs: 21 591
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 4
Forks: 11
Open Issues: 0
Requires
- php: ~5.6|~7.0
- guzzlehttp/guzzle: ^6.3 || ^7.0.1
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
README
Paczka Dotpay do Laravela 5.x. Pozwala przesyłać dane bezpośrednio przez API zamiast formularza.
Struktura
src/
tests/
Instalacja
Przez composera
$ composer require evilnet/dotpay
lub w przypadku używania aktualnej wersji z mastera (niezalecane jeżeli chcesz używać najbardziej stabilnej wersji która została ujęta w release) dodaj do pliku composera
"require": { "evilnet/dotpay": "dev-master" },
Potem zarejestruj usługę i ewentualnie alias by móc używać fasady w config/app.php (Niepotrzebne od Laravela 5.5 i wzwyż)
'providers' => [
Evilnet\Dotpay\DotpayServiceProvider::class,
'aliases' => [
'Dotpay' => Evilnet\Dotpay\Facades\Dotpay::class
Opublikuj konfguracje i wprowadź w niej potrzebne dane
php artisan vendor:publish --provider="Evilnet\Dotpay\DotpayServiceProvider"
Dodaj wartości do pliku .env
DOTPAY_USERNAME=
DOTPAY_PASSWORD=
DOTPAY_SHOP_ID=
DOTPAY_PIN=
DOTPAY_BASE_URL=https://ssl.dotpay.pl/test_seller/
I dodaj swoją metodę do obsługi callbacku jako wyjątek w pliku VerifyCsrfToken (Potrzebne by uderzenia POST z dotpaya nie wymagały tego tokenu)
Środowiska
Produkcyjne: https://ssl.dotpay.pl/s2/login/
Testowe: https://ssl.dotpay.pl/test_seller/
Przykład użycia
namespace App\Http\Controllers; use Evilnet\Dotpay\DotpayManager; use Illuminate\Http\Request; use Illuminate\Http\Response; class DotpayController extends Controller { private $dotpayManager; public function __construct(DotpayManager $dotpayManager) { $this->dotpayManager = $dotpayManager; } // Tutaj uderzy Dotpay z danymi o tym w jakim stanie jest transakcja. Zwrócenie OK jest wymagane by dotpay przyjął, że serwer odpowiada poprawnie public function callback(Request $request) { $response = $this->dotpayManager->callback($request->all()); //Do whatever you want with this return new Response('OK'); } public function pay() { $data = [ 'amount' => '100', 'currency' => 'PLN', 'description' => 'Payment for internal_id order', 'control' => '12345', //ID that dotpay will pong you in the answer 'language' => 'pl', 'ch_lock' => '1', 'url' => config('dotpay.options.url'), 'urlc' => config('dotpay.options.curl'), 'expiration_datetime' => '2017-12-01T16:48:00', 'payer' => [ 'first_name' => 'John', 'last_name' => 'Smith', 'email' => 'john.smith@example.com', 'phone' => '+48123123123' ], 'recipient' => config('dotpay.options.recipient') ]; return redirect()->to($this->dotpayManager->createPayment($data)); } }
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
$ phpunit vendor/evilnet/dotpay/tests
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email axotion@linux.pl instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.