fintecture / fintecture-sdk-php
PHP library for the Fintecture API.
Installs: 380 562
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 6
Open Issues: 0
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- php-http/discovery: *
- php-http/message: *
- psr/http-client: *
- psr/http-client-implementation: *
- psr/http-factory: *
Requires (Dev)
- ext-dom: *
- ext-zip: *
- guzzlehttp/psr7: ^2
- mikey179/vfsstream: ^1.6
- php-http/mock-client: *
- phpstan/phpstan: ^1
- phpunit/phpunit: ^8 || ^9 || ^10 || ^11
README
Fintecture is a Fintech that has a payment solution via bank transfer available at fintecture.com.
This library is a PHP Client for the Fintecture API.
Requirements
- PHP >= 7.2
Quick install
Via Composer, with our Packagist package fintecture/fintecture-sdk-php.
This command will get you up and running quickly with a Guzzle HTTP client (v7).
composer require fintecture/fintecture-sdk-php guzzlehttp/guzzle
The Guzzle client will automatically be found with the help of php-http/discovery
package. If you prefer to specify a custom HTTP client to use, please read the Advanced usage section.
Getting started
Simple usage looks like:
require_once('vendor/autoload.php'); $state = '<my-uniq-id-for-the-payment>'; // it's my transaction ID, I have to generate it myself, it will be sent back in the callback $pisClient = new \Fintecture\PisClient([ 'appId' => 'app_id', 'appSecret' => 'app_secret', 'privateKey' => 'private_key', // could be a file path or the private key itself 'environment' => 'sandbox' // or 'production' ]); $pisToken = $pisClient->token->generate(); if (!$pisToken->error) { $pisClient->setAccessToken($pisToken); // set token of PIS client } else { echo $pisToken->errorMsg; } $payload = [ 'meta' => [ // Info of the buyer 'psu_name' => 'M. John Doe', 'psu_email' => 'john@doe.com', 'psu_address' => [ 'street' => '5 Void Street', 'zip' => '12345', 'city' => 'Gotham', 'country' => 'FR' ] ], 'data' => [ 'type' => 'SEPA', 'attributes' => [ 'amount' => '550.60', 'currency' => 'EUR', 'communication' => 'Commande N°15654' ] ] ]; $connect = $pisClient->connect->generate($payload, $state); if (!$connect->error) { $pisClient->redirect($connect->meta->url); } else { echo $connect->errorMsg; }
Available options of Client
- 'appId' => 'app_id',
- 'appSecret' => 'app_secret',
- 'privateKey' => 'private_key', // could be a file path or the private key itself
- 'environment' => 'sandbox' // or 'production'
- 'shopName' => 'My super shop', // don't forget to give your client a nice name (even if it's optional)
Examples
Some examples (including webhook handling) are available in the examples folder.
Advanced usage
We are decoupled from any HTTP messaging client with help by HTTPlug. A list of community provided clients is found here: https://packagist.org/providers/php-http/client-implementation
Using a different HTTP client
composer require fintecture/fintecture-sdk-php symfony/http-client nyholm/psr7
To set up the Fintecture client with this HTTP client
use Fintecture\PisClient; use Symfony\Component\HttpClient\Psr18Client; $pisClient = new PisClient([$config], new Psr18Client());
Available methods
These methods follow our API structure.
Auth
- token
- generate
- refresh
AIS
- account
- get
- accountHolder
- get
- authorize
- generate
- generateDecoupled
- connect
- generate
- customer
- delete
- transaction
- get
Customers
- customers
- get
- generate
- customerBankAccount
- get
- generate
PIS
- assessment
- get
- connect
- generate
- initiate
- generate
- payment
- get
- refund
- generate
- requestForPayout
- generate
- requestToPay
- generate
- settlement
- get
Resources
- application
- get
- functionality
- get
- provider
- get
- testAccount
- get
Development
Requirements
- PHP
- Git
- Composer
- Make
- Xdebug (for test coverage)
Initialize project for development
make init
PHPUnit (Unit Tests)
Then you can run the tests:
make test
To generate the test coverage report, you can run this command:
make test-coverage
PHPStan (Static Analysis)
There are 10 levels (0-9). Level is set in phpstan.neon
.
make analyse
PHP CS Fixer (Coding Standards)
make format
Troubleshooting
Encountering an issue? Please contact us at developer@fintecture.com.
License
Fintecture PHP API Client is an open-sourced software licensed under the MIT license.