Payroll API
v1 Водичи EN Започнете

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 е она што реално се исплаќа, по евентуалните одбитоци по нетото. Видете Основни поими за плата во МК за значењето на секое поле.

Забелешка

Секој број во оваа документација — вклучувајќи го и овој пример — доаѓа од вистинско извршување на пресметковниот код, никогаш од рачна пресметка.

Следни чекори