Интегрируйте Zarida в свою платформу с помощью нашего гибкого и безопасного API. Автоматизируйте платежи, управляйте счетами и масштабируйтесь по всему миру — всё из вашего backend.
Независимо от того, являетесь ли вы маркетплейсом, финтех-приложением, поставщиком SaaS или платформой электронной коммерции — API Zarida даёт вам полный контроль для создания, взимания платы, выплат и мониторинга транзакций в реальном времени.
Войдите в панель управления, используя свои учётные данные
Перейти к /merchant/shops
Нажмите «Новый магазин», чтобы создать аккаунт мерчанта
Заполните все обязательные поля для аккаунта мерчанта
Скопируйте ваш API-токен в разделе настроек магазина
Все API-запросы должны содержать заголовки аутентификации:
| Заголовок | Описание | Обязательно |
|---|---|---|
X-Uid |
Ваш уникальный идентификатор мерчанта | Да |
X-Public-Key |
Ваш публичный API-ключ | Да |
X-Private-Key |
Ваш приватный API-ключ | Да |
Content-Type |
Должно быть application/json | Да |
Accept |
Должно быть application/json | Да |
X-Uid: ***************************
X-Public-Key: ************************************
X-Private-Key: ************************************
Content-Type: application/json
Accept: application/json
/api/pay/order/create
| Параметр | Описание | Тип |
|---|---|---|
orderNumber |
Уникальный ID платежа в вашей системе (Обязательно) | Строка |
amount |
Сумма платежа (Обязательно) | Номер |
description |
Описание платежа | Строка |
currency |
Код валюты (643 для RUB) | Номер |
email |
E-mail клиента | Строка |
phone |
Телефон клиента | Строка |
curl --location '/api/pay/order/create' \
--header 'X-Uid: ***************************' \
--header 'X-Public-Key: ************************************' \
--header 'X-Private-Key: ************************************' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
"orderNumber": "E-0061",
"amount": 289.68,
"description": "Test Pay",
"currency": 643,
"email": "[email protected]",
"phone": "+71111111111"
}'
{
"status": "success",
"data": {
"orderId": "123456789",
"formUrl": "/pay/order/0198212c4-140423-72bf-97da-8b73a3e8401b"
}
}
{
"status": "error",
"error": {
"code": "validation_error",
"message": "Invalid email format"
}
}
/pay/order/cancel/{orderNumber}
Используйте этот endpoint, чтобы отменить ожидающий платёж. Система отправит webhook-уведомление об отмене.
| Параметр | Описание | Тип |
|---|---|---|
orderNumber |
Уникальный ID платежа в вашей системе (URL-параметр) | Строка |
После успешной отмены будет отправлен webhook с типом события: payment_canceled
curl --location '/pay/order/cancel/E-0061' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json'
{
"status": "success",
"message": "Payment cancelled successfully"
}
{
"status": "error",
"message": "Order not found or already processed"
}
После успешного платежа мы отправим POST-запрос на ваш callback URL со следующими JSON-данными:
| Параметр | Описание |
|---|---|
id |
ID транзакции в нашей системе |
order_id |
Номер вашего заказа |
amount |
Сумма платежа |
data |
Дополнительные платёжные данные |
createdDateTime |
Время создания платежа в формате ISO 8601 |
status |
Статус платежа (PAID, WAIT, PENDING, CANCELED) |
sign |
Подпись HMAC-SHA256 для проверки данных |
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"order_id": "ORDER-12345",
"amount": 100.50,
"data": {
"customer_email": "[email protected]",
"product_id": "PROD-001"
},
"createdDateTime": "2024-01-15T10:30:45+00:00",
"status": "PAID",
"sign": "a7d8f9g0h1i2j3k4l5m6n7o8p9q0r1s2t3u4v5w6x7y8z9"
}
Чтобы проверить подпись, выполните следующие шаги:
sign parameter from received dataalphabetically by key key1=value1&key2=value2HMAC-SHA256 using your secret tokenfunction verifySignature($receivedData, $secretToken) {
$receivedSignature = $receivedData['sign'];
unset($receivedData['sign']);
ksort($receivedData);
$signatureString = '';
foreach ($receivedData as $key => $value) {
if (is_array($value)) {
$value = json_encode($value, JSON_UNESCAPED_UNICODE);
}
$signatureString .= $key . '=' . $value . '&';
}
$signatureString = rtrim($signatureString, '&');
$calculatedSignature = hash_hmac('sha256', $signatureString, $secretToken);
return hash_equals($calculatedSignature, $receivedSignature);
}
$isValid = verifySignature($_POST, 'your_secret_token');