univapay-apimatic/univapay-apimatic-sdk

Sample SDKs for Univapay by APIMatic

Maintainers

Package info

github.com/sdks-io/univapay-apimatic-php-sdk

Homepage

pkg:composer/univapay-apimatic/univapay-apimatic-sdk

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.0.4 2026-07-08 17:01 UTC

This package is auto-updated.

Last update: 2026-07-08 17:02:29 UTC


README

Introduction

OpenAPI specification for the Univapay Online Payment API.

Authentication (JWT)

This API uses JWT (JSON Web Tokens) for authentication via the HTTP Authorization header. To authenticate, you must generate an Application Token in the Univapay dashboard. This generates two components: 1. Token ({jwt}) 2. Secret ({secret})

⚠️ Security Warning

The Secret grants extensive privileges (e.g., creating charges, capturing authorized card charges, refunding). NEVER expose the {secret} in frontend application code (e.g., consumer browsers) or public repositories. It is strictly for backend server-to-server communication. Univapay is not responsible for accidents caused by leaked secrets.

Bearer Auth Formats

Depending on where you are calling the API from, the Bearer format changes:

  • Frontend / Browser (No Secret): Bearer {jwt} (Used for Widgets or Inline Forms. You must register your allowed domains in the dashboard when creating the token).
  • Backend / Server (With Secret): Bearer {secret}.{jwt} (Required for all backend processing).

We will assume that all requests are going to originate from a backend server thus, all requests will require the secret

Token Types

  • Store Token: Grants full access to requests for that specific store.
  • Merchant Token: Can't create transaction tokens but can access data from multiple stores.

Install the Package

Run the following command to install the package and automatically add the dependency to your composer.json file:

composer require "univapay-apimatic/univapay-apimatic-sdk:0.0.4"

Or add it to the composer.json file manually as given below:

"require": {
    "univapay-apimatic/univapay-apimatic-sdk": "0.0.4"
}

You can also view the package at: https://packagist.org/packages/univapay-apimatic/univapay-apimatic-sdk#0.0.4

Test the SDK

Unit tests in this SDK can be run using PHPUnit.

  1. First install the dependencies using composer including the require-dev dependencies.
  2. Run vendor\bin\phpunit --verbose from commandline to execute tests. If you have installed PHPUnit globally, run tests using phpunit --verbose instead.

You can change the PHPUnit test configuration in the phpunit.xml file.

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
baseUrl string Base URL for the API
Default: 'https://api.univapay.com'
environment Environment The API environment.
Default: Environment.PRODUCTION
timeout int Timeout for API calls in seconds.
Default: 30
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
bearerAuthCredentials BearerAuthCredentials The Credentials Setter for OAuth 2 Bearer token

The API client can be initialized as follows:

use UnivaPay\Logging\LoggingConfigurationBuilder;
use UnivaPay\Logging\RequestLoggingConfigurationBuilder;
use UnivaPay\Logging\ResponseLoggingConfigurationBuilder;
use Psr\Log\LogLevel;
use UnivaPay\Environment;
use UnivaPay\Authentication\BearerAuthCredentialsBuilder;
use UnivaPay\UnivapayClientSdkClientBuilder;

$client = UnivapayClientSdkClientBuilder::init()
    ->bearerAuthCredentials(
        BearerAuthCredentialsBuilder::init(
            'AccessToken'
        )
    )
    ->environment(Environment::PRODUCTION)
    ->baseUrl('https://api.univapay.com')
    ->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 Production Server

Authorization

This API uses the following authentication schemes.

List of APIs

Webhooks

SDK Infrastructure

Configuration

HTTP

Utilities