Contributte Gopay-simple
Website 🚀 contributte.org | Contact 👨🏻💻 f3l1x.io | Twitter 🐦 @contributte
# Disclaimer
| ⚠️ | This project is no longer being maintained. Please use contributte/gopay-inline (opens new window). |
|---|
| Composer | markette/gopay-simple (opens new window) |
|---|---|
| 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 (opens new window))
- Offical resources in EN (https://doc.gopay.com/en/ (opens new window))
- Offical resources in CZ (https://doc.gopay.com/cs/ (opens new window))
# 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);
$gopay->setMode($gopay::DEV);
2
3
4
5
6
# 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',
]);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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 (opens new window).
# Testing
- Start build-in server at
tests/buildin/run.sh - Run tester at
tests/tester
# Development
This package was maintain by these authors.
Consider to support (opens new window) contributte development team. Also thank you for being used this package.