fortis-apimatic / fortis-apimatic-sdk
SDKs for fortis by APIMatic
Package info
github.com/sdks-io/fortis-apimatic-php-sdk
pkg:composer/fortis-apimatic/fortis-apimatic-sdk
Requires
- php: ^7.2 || ^8.0
- ext-curl: *
- ext-json: *
- apimatic/core: ~0.3.17
- apimatic/core-interfaces: ~0.1.5
- apimatic/unirest-php: ^4.0.6
Requires (Dev)
- phan/phan: 5.4.5
- squizlabs/php_codesniffer: ^3.5
README
Install the Package
Run the following command to install the package and automatically add the dependency to your composer.json file:
composer require "fortis-apimatic/fortis-apimatic-sdk:1.0.3"
Or add it to the composer.json file manually as given below:
"require": { "fortis-apimatic/fortis-apimatic-sdk": "1.0.3" }
You can also view the package at: https://packagist.org/packages/fortis-apimatic/fortis-apimatic-sdk#1.0.3
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
|---|---|---|
| environment | Environment |
The API environment. Default: Environment.PRODUCTION |
| timeout | int |
Timeout for API calls in seconds. Default: 0 |
| enableRetries | bool |
Whether to enable retries and backoff feature. Default: false |
| numberOfRetries | int |
The number of retries to make. Default: 0 |
| retryInterval | float |
The retry time interval between the endpoint calls. Default: 1 |
| backOffFactor | float |
Exponential backoff factor to increase interval between retries. Default: 2 |
| maximumRetryWaitTime | int |
The maximum wait time in seconds for overall retrying requests. Default: 0 |
| retryOnTimeout | bool |
Whether to retry on request timeout. Default: true |
| httpStatusCodesToRetry | array |
Http status codes to retry against. Default: 408, 413, 429, 500, 502, 503, 504, 521, 522, 524 |
| httpMethodsToRetry | array |
Http methods to retry against. Default: 'GET', 'PUT' |
| loggingConfiguration | LoggingConfigurationBuilder |
Represents the logging configurations for API calls |
| proxyConfiguration | ProxyConfigurationBuilder |
Represents the proxy configurations for API calls |
| userIdCredentials | UserIdCredentials |
The Credentials Setter for Custom Header Signature |
| userApiKeyCredentials | UserApiKeyCredentials |
The Credentials Setter for Custom Header Signature |
| developerIdCredentials | DeveloperIdCredentials |
The Credentials Setter for Custom Header Signature |
| accessTokenCredentials | AccessTokenCredentials |
The Credentials Setter for Custom Header Signature |
The API client can be initialized as follows:
use FortisApiLib\Logging\LoggingConfigurationBuilder; use FortisApiLib\Logging\RequestLoggingConfigurationBuilder; use FortisApiLib\Logging\ResponseLoggingConfigurationBuilder; use Psr\Log\LogLevel; use FortisApiLib\Environment; use FortisApiLib\Authentication\UserIdCredentialsBuilder; use FortisApiLib\Authentication\UserApiKeyCredentialsBuilder; use FortisApiLib\Authentication\DeveloperIdCredentialsBuilder; use FortisApiLib\Authentication\AccessTokenCredentialsBuilder; use FortisApiLib\FortisApiClientBuilder; $client = FortisApiClientBuilder::init() ->userIdCredentials( UserIdCredentialsBuilder::init( 'user-id' ) ) ->userApiKeyCredentials( UserApiKeyCredentialsBuilder::init( 'user-api-key' ) ) ->developerIdCredentials( DeveloperIdCredentialsBuilder::init( 'developer-id' ) ) ->accessTokenCredentials( AccessTokenCredentialsBuilder::init( 'access-token' ) ) ->environment(Environment::PRODUCTION) ->loggingConfiguration( LoggingConfigurationBuilder::init() ->level(LogLevel::INFO) ->requestConfiguration(RequestLoggingConfigurationBuilder::init()->body(true)) ->responseConfiguration(ResponseLoggingConfigurationBuilder::init()->headers(true)) ) ->build();
Environments
The SDK can be configured to use a different environment for making API calls. Available environments are:
Fields
| Name | Description |
|---|---|
| PRODUCTION | Default |
| ENVIRONMENT2 | - |
Authorization
This API uses the following authentication schemes.
user-id (Custom Header Signature)user-api-key (Custom Header Signature)developer-id (Custom Header Signature)access-token (Custom Header Signature)
List of APIs
- Async Processing
- Declined Recurring Transactions
- Device Terms
- Full Boarding
- 3 DS Authentication
- 3 DS Transactions
- Merchant Deposits
- On Boarding
- Payment Card Reader Token
- Quick Invoices
- Transaction ACH Retries
- Transactions-ACH
- Transactions-Cash
- Transactions-Credit Card
- Transactions-EBT Card
- Transactions-Read
- Level 3 Data
- Transactions-Updates
- User Verifications
- Apple Pay Validate Merchant
- Merchant Details
- Batches
- Contacts
- Elements
- Locations
- Paylinks
- Recurring
- Signatures
- Tags
- Terminals
- Tickets
- Tokens
- Users
- Webhooks
SDK Infrastructure
Configuration
- ProxyConfigurationBuilder
- LoggingConfigurationBuilder
- RequestLoggingConfigurationBuilder
- ResponseLoggingConfigurationBuilder