API документация

Введение

В этом разделе приводится UzOplata API платёжного шлюза.


UzOplata API легко интегрируется в программное обеспечение вашей компании. Он поддерживает запросы через cURL, использует удобную структуру URL и возвращает ответы в формате JSON.

API можно использовать в тестовом режиме без влияния на реальные данные. Запросы авторизуются с помощью API-ключа, который также подтверждает легитимность платежа. Для тестирования используйте sandbox-URL, а для боевого режима — live-URL из соответствующего раздела Создать платёж .

Поддерживаемые валюты

Поддерживаемые валюты UzOplata приведены ниже.


Валюта Символ валюты
USDTTRC USD
BTC BTC
ETH ETH
TRX TRX
LTC LTC
XRP XRP
ETC ETC
DOGE DOGE
XMR XMR
ADA ADA
SOL SOL
TON TON
USDC USDC
USD USD
EUR EUR
USDT USD
CARD RUB
SBP RUB

Получение API-ключа

В этом разделе объясняется, как получить API-ключ.


Чтобы получить доступ к вашему UzOplata merchant account, please log in. In case you don't have an account, you can нажмите сюда.

Теперь перейдите к Аккаунту > Настройки > Ключ API из панели продавца.

Ключи API можно найти там, а именно: Публичный ключ и Приватный ключ. Используйте эти ключи для создания запроса к API. В любой момент вы можете генерировать новые API ключи нажатием кнопки Сгенерировать ключ API кнопка. Помните, никому не давайте эти ключи.

Создать платёж

В этом разделе объясняется процедура создания платежа.


Чтобы начать процесс оплаты, используйте приведённый пример кода и внимательно проверьте параметры. Для отправки запроса необходимо использовать API-эндпоинты, указанные ниже.

Боевой endpoint: https://merchant.uzoplata.com/payment/initiate

Тестовый endpoint: https://merchant.uzoplata.com/test/payment/initiate

Выполните запрос к endpoint, используя параметры ниже.

Параметр Тип Обязательно Описание
public_key string (50) обязательный Ваш публичный API-ключ
identifier string (20) обязательный уникальное значение для идентификации платежа на стороне мерчанта
currency string (4) обязательный Код валюты должен быть передан заглавными буквами. Например: USD, EUR
amount decimal обязательный Сумма платежа
details string (100) обязательный Детали вашего платежа или транзакции
ipn_url string обязательный URL для уведомлений о платеже (IPN)
success_url string обязательный URL-адрес перенаправления при успешном платеже
cancel_url string обязательный URL-адрес перенаправления при отмене платежа
site_name string обязательный Название сайта вашей компании
site_logo string/url обязательный Логотип вашего сайта
checkout_theme string обязательный Тема формы оплаты (dark/light). По умолчанию — light.
Плательщик
customer[] array обязательный параметр customer должен быть массивом.
customer.first_name string обязательный Имя плательщика
customer.last_name string обязательный Фамилия плательщика
customer.email string обязательный Email плательщика
customer.mobile string обязательный Мобильный телефон плательщика
Данные о доставке
shipping_info[] array произвольный параметр shipping_info должен быть массивом
shipping_info.address_one string произвольный Адрес плательщика (строка 1)
shipping_info.address_two string произвольный Адрес плательщика (строка 2)
shipping_info.area string произвольный Регион доставки плательщика
shipping_info.city string произвольный Город доставки плательщика
shipping_info.sub_city string произвольный Район доставки плательщика
shipping_info.state string произвольный Область доставки
shipping_info.postcode string произвольный Почтовый индекс доставки
shipping_info.country string произвольный Страна доставки
shipping_info.others string произвольный Прочая информация
Платежные данные
billing_info[] array произвольный параметр billing_info должен быть массивом
billing_info.address_one string произвольный Адрес плательщика (строка 1)
billing_info.address_two string произвольный Адрес плательщика (строка 2)
billing_info.area string произвольный Регион платёжного адреса плательщика
billing_info.city string произвольный Город платёжного адреса плательщика
billing_info.sub_city string произвольный Район платёжного адреса плательщика
billing_info.state string произвольный Область платёжного адреса
billing_info.postcode string произвольный Почтовый индекс платежного адреса плательщика
billing_info.country string произвольный Страна платежного адреса плательщика
billing_info.others string произвольный Прочая информация

Проверка платежа и IPN-уведомлений

В этом разделе описан процесс получения IPN уведомления о платеже.


Чтобы создать платёж, используйте пример кода ниже и внимательно проверьте параметры. Запросы необходимо отправлять на следующие API-endpoint.

End point: URL для IPN-уведомлений вашего приложения

Способ запроса: POST

Ниже приведён список параметров, которые вы получите.

Параметр Описание
статус Статус успешной оплаты.
идентификатор Идентификатор, используется для идентификации платежа с вашей стороны.
подпись Хэш-подпись для проверки платежа на вашей стороне.
data Объект data содержит сведения о платеже: amount, currency, payment transaction id и др.

Статус платежа

В этом разделе описан процесс получения статуса платежа.


Чтобы получить статус платежа, используйте пример кода ниже и внимательно проверьте параметры. Запрос необходимо отправить на следующие API-endpoint.

End point: https://merchant.uzoplata.com/payment/status

Способ запроса: POST

Выполните запрос к endpoint, используя параметры ниже.

Параметр Тип Обязательно Описание
public_key string (50) обязательный Ваш публичный API-ключ
identifier string (20) обязательный уникальное значение для идентификации платежа на стороне мерчанта
payment_trx string (255) обязательный идентификатор платежной транзакции, присваиваемый при создании платежа.
Создать платёж
<?php
    $parameters = [
        'identifier' => 'DFU80XZIKS',
        'currency' => 'USD',
        'amount' => 11.00,
        'gateway_methods' => [
            // Please write the name of the gateway method you want to use
        ],
        'details' => 'Purchase T-shirt',
        'ipn_url' => 'http://example.com/ipn_url.php',
        'cancel_url' => 'http://example.com/cancel_url.php',
        'success_url' => 'http://example.com/success_url.php',
        'public_key' => 'your_public_key',
        'site_name' => 'your_site_name',
        'site_logo' => 'http://yoursite.com/logo.png',
        'checkout_theme' => 'light',
        'customer'=>[
            'first_name'=>'John',
            'last_name'=>'Doe',
            'email'=>'[email protected]',
            'mobile'=>'12345789',
        ],
        'shipping_info'=>[
            'address_one'=>'',
            'address_two'=>'',
            'area'=>'',
            'city'=>'',
            'sub_city'=>'',
            'state'=>'',
            'postcode'=>'',
            'country'=>'',
            'others'=>'',
        ],
        'billing_info'=>[
            'address_one'=>'',
            'address_two'=>'',
            'area'=>'',
            'city'=>'',
            'sub_city'=>'',
            'state'=>'',
            'postcode'=>'',
            'country'=>'',
            'others'=>'',
        ]
    ];

    $parameters = http_build_query($parameters);

    //live end point
    $url = 'https://merchant.uzoplata.com/payment/initiate';

    //test end point
    $url = 'https://merchant.uzoplata.com/test/payment/initiate';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS,  $parameters);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);

?>
Примеры ответов
//Error Response.
{
    "status": "error",
    "message": [
        "Invalid api key"
    ]
}

//Success Response.
{
    "status": "success",
    "message": [
        "Payment initiated"
    ],
    "payment_trx": "eyJpdiI6InQxL096RkVIME03NGwzRDFCQXBGK0E9PSIsInZhbHVlIjoiYXljb01icnpKYXZQdkQ2NjNBQmJTRFhjclBUNC9wVklJbGczeVpHaFFFQT0iLCJtYWMiOiJlMzk4MWY3ZDQ3Y2NkNDEwZmQ1MGY5NjUyODVkNWI5NjBmMGQ3MzRiN2VjN2ExZGQzM2JlMzg4ZGI5NTM3YzU3IiwidGFnIjoiIn0=",
    "redirect_url": "https://example.com/payment/checkout?payment_trx=eyJpdiI6IkFyNllSNU1lOFdkYTlPTW52cytPNGc9PSIsInZhbHVlIjoiWWowRTRjdzZ1S1BBRm4ydS81OWR1WjdXeFIxcjE1WkZRVE9BcmZYeXpzND0iLCJtYWMiOiJjNDdhODUzYzY2NmZlZGJjZTI5ODQyMmRkYzdjYjRmM2NiNjg4M2RiMWZjN2EyMzFkODI4OWMwYjk3ZWYwNGQwIiwidGFnIjoiIn0%3D"
}
Проверка платежа и IPN-уведомлений
<?php
    //Receive the response parameter
    $status = $_POST['status'];
    $signature = $_POST['signature'];
    $identifier = $_POST['identifier'];
    $data = $_POST['data'];

    // Generate your signature
    $customKey = $data['amount'].$identifier;
    $secret = 'YOUR_SECRET_KEY';
    $mySignature = strtoupper(hash_hmac('sha256', $customKey , $secret));

    $myIdentifier = 'YOUR_GIVEN_IDENTIFIER';

    if($status == "success" && $signature == $mySignature &&  $identifier ==  $myIdentifier){
        //your operation logic
    }
?>
Примеры ответов по статусу платежа
//Error Response.
{
    "status": "error",
    "message": [
        "Invalid api key"
    ]
}

//Success Response.
{
    "status": "success",
    "message": [
        "Payment status"
    ],
    "payment_trx": "MZBYVVT9QU2B",
    "payment_status": "success",
    "amount": "60.00000000",
    "currency": "USD",
    "payment_method": "Stripe Hosted - USD",
    "creation_date": "2026-01-15T06:21:51.000000Z",
    "confirmation_date": "2026-01-15 06:22:12"
}

Uzoplata uses cookies and similar technologies to ensure proper website functionality, enhance security, and improve user experience when you visit our website or use our services. подробнее

Разрешить