Payment Gateway for Evolving Business Needs

Accept multi-channel payments through a single checkout platform, offering seamless and secure transaction management for businesses worldwide.

Multi-channel payment gateway with crypto, cards, and bank transfer support for global businesses.

Versatile Multi-Channel Payment Gateway

Powerful and Developer-Friendly API

Effortlessly integrate multiple payment methods and streamline fast payments and settlements with minimal code.

Get started
  • Python
  • Java
  • PHP
  • Node.js
  • GO
# 1、Initializing UniPayment SDK Configuration
from unipayment import Configuration, BillingAPI, BeneficiaryAPI, CommonAPI, ExchangeAPI, PaymentAPI, WalletAPI


self.configuration = Configuration()
self.configuration.client_id = '071a5fad-9f7e-4785-9fe1-5a5e8d45c518'
self.configuration.client_secret = 'CzWUHMvWy7Dw7NAc8ZnKaDkqnXzSMV18d'
self.configuration.app_id = "a22a62d1-3b64-4cb5-9336-9c45afd91e6e"
self.configuration.is_sandbox = True
self.configuration.debug = True

self.CommonAPI = CommonAPI(self.configuration)
self.BeneficiaryAPI = BeneficiaryAPI(self.configuration)
self.ExchangeAPI = ExchangeAPI(self.configuration)
self.WalletAPI = WalletAPI(self.configuration)
self.PaymentAPI = PaymentAPI(self.configuration)
self.BillingAPI = BillingAPI(self.configuration)

if self.configuration.debug:
    logger.setLevel(logging.DEBUG)

# 2、Create an invoice
import logging
import uuid

from unipayment.models import CreateInvoiceRequest

logger = logging.getLogger(__name__)

order_id = uuid.uuid4()
create_invoice_request = CreateInvoiceRequest(app_id=self.configuration.app_id, price_amount=2.0,
                                              price_currency='USD', order_id=order_id, lang='en',
                                              ext_args='"Merchant Pass Through Data')

create_invoice_response = self.BillingAPI.create_invoice(create_invoice_request)
logger.debug("response body: %s", create_invoice_response)
// 1、Programmatically - Initializing the Configuration Object
import io.unipayment.sdk.core.config.Configuration;
import io.unipayment.client.UniPaymentClient;

Configuration configuration = Configuration.builder()
        .clientId("client id")
        .clientSecret("client secret")
        .host("https://sandbox-api.unipayment.io")
        .apiVersion("1.0")
        .appId("app id")
        .debug(true) //If you wish to print the request/response logs
        .build();

// 2、Create an invoice
import io.unipayment.sdk.model.ApiResponse;
import io.unipayment.sdk.model.Invoice;
import io.unipayment.sdk.model.*;

BillingAPI billingAPI  = BillingAPI.getInstance(configuration);
CreateInvoiceRequest createInvoiceRequest = CreateInvoiceRequest.builder()
        .appId(configuration.getAppId())
        .priceAmount(2.0)
        .priceCurrency("USD")
        .orderId(orderId)
        .lang("en")
        .extArgs("Merchant Pass Through Data")
        .build();

ApiResponse apiResponse = billingAPI.createInvoice(createInvoiceRequest);
if(apiResponse.getCode().equals("OK")){
    // handle business logic
}
// 1、Initializing UniPayment SDK
$configuration = new \UniPayment\SDK\Configuration();
$configuration->setClientId('your client id');
$configuration->setClientSecret('your secret key');
$configuration->setAppId('your app id');
$configuration->setIsSandbox(false);

// 2、Create an invoice
$createInvoiceRequest = new \UniPayment\SDK\Model\CreateInvoiceRequest();
$createInvoiceRequest->setAppId($configuration->getAppId());
$createInvoiceRequest->setOrderId(Uuid::uuid4());
$createInvoiceRequest->setPriceAmount(1.0);
$createInvoiceRequest->setPriceCurrency('USD');
$createInvoiceRequest->setLang("en");
$createInvoiceRequest->setExtArgs("Merchant Pass Through Data");

$billingAPI  = new \UniPayment\SDK\BillingAPI($configuration);
try{
    $createInvoiceResponse = $billingAPI->createInvoice($createInvoiceRequest);
} catch (\UniPayment\SDK\UnipaymentSDKException $e) {
   ...
}
const {v4: uuidv4} = require('uuid');
const {BillingAPI} = require('unipayment-sdk');
const billingAPI = new BillingAPI(configuration);

const createInvoiceRequest = {
    'app_id': configuration.appId,
    'order_id': uuidv4(),
    'price_amount': 1.00,
    'price_currency': 'USD',
    'lang': 'en',
    'ext_args': 'Merchant Pass Through Data'
};
billingAPI.createInvoice(createInvoiceRequest).then(response => {
    printResponse(response);
    assert.equal(response.data.code === 'OK', true);
    done();
}).catch(error => {
    done();
    console.log(error);
})
// 1、Initializing UniPayment client
var (
    authParams = AuthParams{ClientID: "your client id",
    ClientSecret: "your client secret",
    AppID:        "your app id"}
    apiClient = NewAPIClient(NewConfiguration(authParams)).UnipaymentApiClient
)

// 2、Create an invoice
createInvoiceRequest := CreateInvoiceRequest{
    Title:         "MacBook Pro",
    Description:   "MacBook Pro(256G)",
    Lang:          "en",
    AppId:         authParams.AppID,
    PriceAmount:   2.0,
    PriceCurrency: "USD",
    PayCurrency:   "USDT",
    NotifyUrl:     "https://demo-payment.requestcatcher.com/test",
    RedirectUrl:   "https://www.example.com",
    OrderId:       "ORDER_123456",
    ExtArgs:       "Merchant Pass Through Data",
    ConfirmSpeed:  "Medium",
}
response, _, err := apiClient.CreateInvoice(createInvoiceRequest)

Seamlessly Integrate

Integrate our multi-channel payment gateway with top e-commerce platforms within minutes for a streamlined online shopping experience.

Frequently Asked Questions

How are my funds secured?

Multi-layered security measures including encryption, two-factor authentication, and anti-phishing tools protect your funds. All funds are stored in cold wallets to prevent online attacks, ensuring security.

Are there withdrawal limits and what are the fees?

There are no withdrawal limits, and all transactions are processed in real-time for seamless fund flow and timely settlements. The fee structure is transparent and competitive; for detailed information, please refer to our fees page.

What payment methods and currencies are supported?

Various payment methods are supported, including major cryptocurrencies (e.g., BTC, ETH) and fiat currencies (e.g., USD, EUR), as well as credit/debit cards and Skrill.

How is real-time currency conversion handled?

Smart order routing is used to convert payments at the optimal market rate into stablecoins or fiat currencies, protecting merchants from cryptocurrency price volatility and ensuring fund stability.

How stable is the platform?

The platform boasts high availability and stability, utilizing leading global servers and network infrastructure to ensure 24/7 operation without interruption, providing a reliable transaction experience.

Ready to Transform Your Payment Solutions?

Explore the capabilities of UniPayment's multi-channel payment gateway, create an account instantly, and start accepting crypto and fiat payments.

UniPayment multi-channel gateway for seamless crypto and fiat payments.