markette / gopay-simple
GoPay Inline Simple Payment Gateway
Fund package maintenance!
f3l1x
contributte.org/partners.html
Installs: 44 298
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 1
Open Issues: 0
pkg:composer/markette/gopay-simple
Requires
- php: >=5.6
- ext-curl: *
Requires (Dev)
- mockery/mockery: ~0.9.0
- nette/tester: ~1.5.0
This package is auto-updated.
Last update: 2025-12-09 12:24:02 UTC
README
Website 🚀 contributte.org | Contact 👨🏻💻 f3l1x.io | Twitter 🐦 @contributte
Disclaimer
| ⚠️ | This project is no longer being maintained. Please use contributte/gopay-inline. |
|---|
| Composer | markette/gopay-simple |
|---|---|
| Version | |
| PHP | |
| License |
Documentation
Goal
One class rule-them-all, best way is $gopay->call().
Install
composer require markette/gopay-simple
Requirements
You need GoID, ClientID and ClientSecret.
- Webpage (https://www.gopaygate.com)
- Offical resources in EN (https://doc.gopay.com/en/)
- Offical resources in CZ (https://doc.gopay.com/cs/)
Usage
This super simple class provides a few methods, 2 public and 4 protected, for easy extending / prototyping.
Public
call(string $method, string $endpoint, array $args = []):stdClasssetMode(int $gopay::DEV/PROD):void$useragent:PHP+Markette/GopaySimple/{VERSION}$options:[](cURL options)
Protected
authenticate(array $args):stdClass(token)makeRequest(string $method, string $endpoint, array $args = []):stringgetEndpoint(string $type):stringgetEndpointUrl(string $uri):string
Common part
use Markette\GopaySimple\GopaySimple; $gopay = new GopaySimple($clientId, $clientSecret); # For testing purpose $gopay->setMode($gopay::DEV);
Authorization (Oauth)
Auth process is very simple and automatic. So, you do not have to do anything.
If you really need override authorization, you have to extend GopaySimple and call authenticate($args) directly.
Payments
POST+payments/payment
$response = $gopay->call('POST', 'payments/payment', [ 'payer' => [ 'default_payment_instrument' => 'BANK_ACCOUNT', 'allowed_payment_instruments' => ['BANK_ACCOUNT'], 'default_swift' => 'FIOBCZPP', 'allowed_swifts' => ['FIOBCZPP', 'BREXCZPP'], 'contact' => [ 'first_name' => 'Zbynek', 'last_name' => 'Zak', 'email' => 'zbynek.zak@gopay.cz', 'phone_number' => '+420777456123', 'city' => 'C.Budejovice', 'street' => 'Plana 67', 'postal_code' => '373 01', 'country_code' => 'CZE', ], ], 'target': ['type' => 'ACCOUNT', 'goid' => '_YOUR_GO_ID_', 'amount' => 150, 'currency' => 'CZK', 'order_number' => '001', 'order_description' => 'pojisteni01', 'items' => [ ['name' => 'item01', 'amount' => 50], ['name' => 'item02', 'amount' => 100], ], 'additional_params' => [ array('name' => 'invoicenumber', 'value' => '20160001') ], 'return_url' => 'http://www.your-url.tld/return', 'notify_url' => 'http://www.your-url.tld/notify', 'lang' => 'cs', ]);
GET+payments/payment/{id}
$response = $gopay->call('GET', 'payments/payment/{id}');
Best practice
You should inject GopaySimple into your service layer. And configure $args before creating payment for target.
Example of GopayService.
Testing
- Start build-in server at
tests/buildin/run.sh - Run tester at
tests/tester
Development
This package was maintained by these authors.
Consider to support contributte development team. Also thank you for using this package.