1SDK 1.0.2
dotnet add package 1SDK --version 1.0.2
NuGet\Install-Package 1SDK -Version 1.0.2
<PackageReference Include="1SDK" Version="1.0.2" />
<PackageVersion Include="1SDK" Version="1.0.2" />
<PackageReference Include="1SDK" />
paket add 1SDK --version 1.0.2
#r "nuget: 1SDK, 1.0.2"
#:package 1SDK@1.0.2
#addin nuget:?package=1SDK&version=1.0.2
#tool nuget:?package=1SDK&version=1.0.2
Getting Started with Univapay Public API
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
If you are building with .NET CLI tools then you can also use the following command:
dotnet add package 1SDK --version 1.0.2
You can also view the package at: https://www.nuget.org/packages/1SDK/1.0.2
Test the SDK
The generated SDK also contain one or more Tests, which are contained in the Tests project. In order to invoke these test cases, you will need NUnit 3.0 Test Adapter Extension for Visual Studio. Once the SDK is complied, the test cases should appear in the Test Explorer window. Here, you can click Run All to execute these test cases.
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<br>Default: "https://api.univapay.com" |
| Environment | Environment |
The API environment. <br> Default: Environment.Production |
| Timeout | TimeSpan |
Http client timeout.<br>Default: TimeSpan.FromSeconds(30) |
| HttpClientConfiguration | Action<HttpClientConfiguration.Builder> |
Action delegate that configures the HTTP client by using the HttpClientConfiguration.Builder for customizing API call settings.<br>Default: new HttpClient() |
| LogBuilder | LogBuilder |
Represents the logging configuration builder for API calls |
| BearerAuthCredentials | BearerAuthCredentials |
The Credentials Setter for OAuth 2 Bearer token |
The API client can be initialized as follows:
Code-Based Initialization
using Microsoft.Extensions.Logging;
using UnivaPay;
using UnivaPay.Authentication;
namespace ConsoleApp;
UnivapayClientSdkClient client = new UnivapayClientSdkClient.Builder()
.BearerAuthCredentials(
new BearerAuthModel.Builder(
"AccessToken"
)
.Build())
.HttpClientConfig(httpClientConfig =>
httpClientConfig.Timeout(TimeSpan.FromSeconds(100)))
.Environment(UnivaPay.Environment.Production)
.BaseUrl("https://api.univapay.com")
.LoggingConfig(config => config
.LogLevel(LogLevel.Information)
.RequestConfig(reqConfig => reqConfig.Body(true))
.ResponseConfig(respConfig => respConfig.Headers(true))
)
.Build();
Configuration-Based Initialization
using UnivaPay;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp;
// Build the IConfiguration using .NET conventions (JSON, environment, etc.)
var configuration = new ConfigurationBuilder()
.AddJsonFile("config.json")
.AddEnvironmentVariables() // [optional] read environment variables
.Build();
// Instantiate your SDK and configure it from IConfiguration
var client = UnivapayClientSdkClient
.FromConfiguration(configuration.GetSection("UnivapayClientSdk"));
See the Configuration-Based Initialization section for details.
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
- Configuration-Based Initialization
- HttpClientConfiguration
- HttpClientConfigurationBuilder
- LogBuilder
- LogRequestBuilder
- LogResponseBuilder
- ProxyConfigurationBuilder
HTTP
Utilities
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- APIMatic.Core (>= 0.4.13 && < 0.5.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
- Microsoft.Extensions.Primitives (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.