Integra Zarida en tu plataforma con nuestra API flexible y segura. Automatiza pagos, gestiona cuentas y escala globalmente, todo desde tu backend.
Ya sea que tengas un marketplace, una app fintech, un proveedor SaaS o una plataforma de comercio electrónico, la API de Zarida te da control total para crear, cobrar, pagar y monitorear transacciones en tiempo real.
Access your dashboard using your credentials
Navigate to /merchant/shops
Click "New shop" to create a merchant account
Complete all required fields for your merchant account
Copy your API token from the shop settings section
All API requests must include authentication headers:
| Header | Descripción | Required |
|---|---|---|
X-Uid |
Your merchant unique identifier | Yes |
X-Public-Key |
Your public API key | Yes |
X-Private-Key |
Your private API key | Yes |
Content-Type |
Must be application/json | Yes |
Accept |
Must be application/json | Yes |
X-Uid: ***************************
X-Public-Key: ************************************
X-Private-Key: ************************************
Content-Type: application/json
Accept: application/json
/api/pay/order/create
| Parameter | Descripción | Tipo |
|---|---|---|
orderNumber |
Unique payment ID in your system (Required) | String |
amount |
Payment amount (Required) | Number |
description |
Payment description | String |
currency |
Currency code (643 for RUB) | Number |
email |
Customer email | String |
phone |
Customer phone | String |
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}
Use this endpoint to cancel a pending payment. The system will send a webhook notification about the cancellation.
| Parameter | Descripción | Tipo |
|---|---|---|
orderNumber |
Unique payment ID in your system (URL parameter) | String |
After successful cancellation, a webhook will be sent with event type: 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"
}
After successful payment, we will send a POST request to your callback URL with the following JSON data:
| Parameter | Descripción |
|---|---|
id |
Transaction ID in our system |
order_id |
Your order number |
amount |
Payment amount |
data |
Additional payment data |
createdDateTime |
Payment creation time in ISO 8601 format |
status |
Payment status (PAID, WAIT, PENDING, CANCELED) |
sign |
HMAC-SHA256 signature for data verification |
{
"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"
}
To verify the signature, follow these steps:
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');