Payroll API
Брз старт
1. Добијте sandbox клуч
—
sandbox сметките за развивачи се бесплатни; самостојна регистрација наскоро стигнува на овој сајт.
Создадете клуч во конзолата; sandbox клучот изгледа вака: mpk_test_....
2. Пресметајте плата
POST /v1/calculations прифаќа или grossSalary (пресметка од бруто — вообичаениот случај според
Законот за работните односи во МК) или targetNet (пресметка од нето), плус било какви часови со
додаток, минат труд или одбитоци од годишен одмор, и враќа секој придонес, персоналниот данок на
доход и нето плата. Не е потребно Idempotency-Key — овој endpoint нема несакани споредни ефекти;
видете Идемпотентност.
curl -X POST "https://api.payroll.merot.com/v1/calculations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"grossSalary": "45000",
"workingHours": 176,
"overtimeHours": 8,
"nightHours": 4
}' const response = await fetch("https://api.payroll.merot.com/v1/calculations", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
"grossSalary": "45000",
"workingHours": 176,
"overtimeHours": 8,
"nightHours": 4
}),
});
const data = await response.json();
console.log(data); import requests
response = requests.post(
"https://api.payroll.merot.com/v1/calculations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"grossSalary": "45000",
"workingHours": 176,
"overtimeHours": 8,
"nightHours": 4
},
)
print(response.json()) <?php
// composer require guzzlehttp/guzzle
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('POST', 'https://api.payroll.merot.com/v1/calculations', [
'headers' => [
'Authorization' => 'Bearer YOUR_API_KEY',
'Content-Type' => 'application/json',
],
'json' => [
'grossSalary' => '45000',
'workingHours' => 176,
'overtimeHours' => 8,
'nightHours' => 4,
],
]);
echo $response->getBody(); using System.Net.Http;
using System.Text;
using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.payroll.merot.com/v1/calculations");
request.Headers.Add("Authorization", "Bearer YOUR_API_KEY");
var json = /* lang=json */ @"{
""grossSalary"": ""45000"",
""workingHours"": 176,
""overtimeHours"": 8,
""nightHours"": 4
}";
request.Content = new StringContent(json, Encoding.UTF8, "application/json");
using var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body); import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.payroll.merot.com/v1/calculations"))
.headers("Authorization", "Bearer YOUR_API_KEY", "Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString(/* JSON */ "{ \"grossSalary\": \"45000\", \"workingHours\": 176, \"overtimeHours\": 8, \"nightHours\": 4 }"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body()); Полето salaryGross во одговорот ги вклучува додатоците за прекувремена и ноќна работа веднаш
вклучени во основицата за придонеси и за данок; netPaid е она што реално се исплаќа, по
евентуалните одбитоци по нетото. Видете Основни поими за плата во МК за
значењето на секое поле.
Забелешка
Секој број во оваа документација — вклучувајќи го и овој пример — доаѓа од вистинско извршување на пресметковниот код, никогаш од рачна пресметка.
Следни чекори
- Основни поими за плата во МК — пресметка од бруто наспроти пресметка од нето, придонеси и данок.
- Датотеки МПИН, е-ППД и ПДД-ГИ — генерирајте ги датотеките што ги очекува УЈП.
- Платни листи — генерирајте PDF од резултат на пресметка.
- Целосна API референца — секој endpoint, поле и грешка.