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 = [])
:stdClass
setMode(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 = [])
:string
getEndpoint(string $type)
:string
getEndpointUrl(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.