setono / shipmondo-php-sdk
Consume the Shipmondo API with this PHP SDK
Installs: 2 532
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=8.1
- cuyz/valinor: ^1.10
- php-http/discovery: ^1.14
- psr/http-client: ^1.0
- psr/http-client-implementation: ^1
- psr/http-factory: ^1.0
- psr/http-factory-implementation: ^1
- psr/http-message: ^1.0
- psr/log: ^1.1 || ^2.0 || ^3.0
- webmozart/assert: ^1.11
Requires (Dev)
- infection/infection: ^0.27.11
- kriswallsmith/buzz: ^1.2
- nyholm/psr7: ^1.8
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.6
- psalm/plugin-phpunit: ^0.18
- setono/code-quality-pack: ^2.7
This package is auto-updated.
Last update: 2024-10-29 08:37:39 UTC
README
Consume the Shipmondo API in PHP.
Installation
composer require setono/shipmondo-php-sdk
Usage
<?php use Setono\Shipmondo\Client\Client; require_once __DIR__ . '/../vendor/autoload.php'; $client = new Client('api_username', 'api_key'); $paymentGateways = $client ->paymentGateways() ->get() ; foreach ($paymentGateways as $paymentGateway) { print_r($paymentGateway); }
will output something:
Setono\Shipmondo\Response\PaymentGateways\PaymentGateway Object
(
[id] => 1234
[name] => quickpay
[provider] => quick_pay
[merchantNumber] => 67894321
)
Production usage
Internally this library uses the CuyZ/Valinor library which is particularly well suited for turning API responses into DTOs. However, this library has some overhead and works best with a cache enabled.
When you instantiate the Client
use the opportunity to set a cache:
<?php use CuyZ\Valinor\Cache\FileSystemCache; use Setono\Shipmondo\Client\Client; require_once '../vendor/autoload.php'; $cache = new FileSystemCache('path/to/cache-directory'); $client = new Client('API_USERNAME', 'API_KEY'); $client->getMapperBuilder()->withCache($cache);
You can read more about it here: Valinor: Performance and caching.