> For the complete documentation index, see [llms.txt](https://docs.maibmerchants.md/e-commerce/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maibmerchants.md/e-commerce/ro/plati-directe.md).

# Plăți directe

| API endpoint (POST)                   |
| ------------------------------------- |
| <https://api.maibmerchants.md/v1/pay> |

### **Parametri pentru request (body)**

<table><thead><tr><th width="159">Parametru</th><th width="120">Obligatoriu</th><th width="192">Tip</th><th>Descriere</th></tr></thead><tbody><tr><td>amount</td><td><p>DA</p><p><br></p></td><td><p>number(decimal)</p><p>≥1</p></td><td><p>Suma tranzacției în format <strong>X.XX</strong> </p><p>De exemplu: <strong>10.25</strong> (currency=MDL) -> 10 lei și 25 bani.</p></td></tr><tr><td>currency</td><td>DA</td><td>string(3)</td><td>Valuta tranzacției (MDL/EUR/USD)</td></tr><tr><td>clientIp</td><td>DA</td><td>string(39)</td><td>IP Cumpărător</td></tr><tr><td>language</td><td>DA</td><td>string(2)</td><td><p>Limba în care va fi afișată pagina <strong>maib ecomm checkout.</strong></p><p>Valori posibile: ro/en/ru.</p></td></tr><tr><td>description</td><td>NU</td><td>string(124)</td><td><p>Descrierea plății</p><p>Se afișează pe pagina <strong>maib ecomm checkout</strong></p></td></tr><tr><td>clientName</td><td>NU</td><td>string(128)</td><td>Nume Cumpărător</td></tr><tr><td>email</td><td>NU</td><td>string(40)</td><td>Email Cumpărător </td></tr><tr><td>phone</td><td>NU</td><td>string(40)</td><td>Telefon Cumpărător</td></tr><tr><td>orderId</td><td>NU</td><td>string(36)</td><td>Identificatorul comenzii de pe website/app</td></tr><tr><td>delivery</td><td>NU</td><td>number(decimal)</td><td>Costul livrării în format <strong>X.XX</strong></td></tr><tr><td>items</td><td>NU</td><td><p>array</p><p>max. 50 items</p></td><td>Produsele sau serviciile din comanda de pe website/app</td></tr><tr><td><ul><li><em>id</em></li></ul></td><td>nu</td><td>string(36)</td><td>ID produs</td></tr><tr><td><ul><li><em>name</em></li></ul></td><td>nu</td><td>string(128)</td><td>Nume produs</td></tr><tr><td><ul><li><em>price</em></li></ul></td><td>nu</td><td>number(decimal)</td><td>Preț produs în format <strong>X.XX</strong> </td></tr><tr><td><ul><li><em>quantity</em> </li></ul></td><td>nu</td><td>integer(32)</td><td>Cantitatea produselor</td></tr><tr><td>callbackUrl</td><td>NU</td><td>string(2048)</td><td><p>Link-ul unde Merchant-ul va primi <em>răspunsul final</em> cu starea și datele tranzacției.</p><p>Dacă nu se transmite acest parametru, valoarea sa va fi preluată din <strong>maibmerchants</strong>.</p></td></tr><tr><td>okUrl</td><td>NU</td><td>string(2048)</td><td><p>Link-ul unde Cumpărătorul va fi redirecționat dacă tranzacția este reușită.</p><p>(GET request: okUrl + payId&#x26;orderId)</p><p>Dacă nu se transmite acest parametru, valoarea sa va fi preluată din <strong>maibmerchants</strong>.</p></td></tr><tr><td>failUrl<br></td><td>NU</td><td>string(2048)</td><td><p>Link-ul unde Cumpărătorul va fi redirecționat dacă tranzacția a eșuat.</p><p>(GET request: failUrl + payId&#x26;orderId)</p><p>Dacă nu se transmite acest parametru, valoarea sa va fi preluată din <strong>maibmerchants</strong>. (GET request + payId&#x26;orderId)</p></td></tr></tbody></table>

**Exemplu**

```json
{
"amount": 10.25,
"currency": "MDL",
"clientIp": "135.250.245.121",
"language": "ro",
"description": "Descriere",
"clientName": "Client Name",
"email": "customer@gmail.com",
"phone": "069123456",
"orderId": "123",
"delivery": 1.25,
"items": [
{
"id": "10",
"name": "Produs 1",
"price": 2.50,
"quantity": 2
},
{
"id": "11",
"name": "Produs 2",
"price": 4,
"quantity": 1
}
],
"callbackUrl": "https://example.com/callback",
"okUrl": "https://example.com/ok",
"failUrl": "https://example.com/fail"
}
```

### **Parametri răspuns intermediar**

<table data-full-width="true"><thead><tr><th width="185.33333333333331">Parametru</th><th width="138">Tip</th><th>Descriere</th></tr></thead><tbody><tr><td>result</td><td>object</td><td>Obiect care conține identificatorul tranzacției și link-ul pentru redirecționare</td></tr><tr><td><ul><li>payId</li></ul></td><td>string</td><td>Identificatorul tranzacției atribuit de către <strong>maib ecomm</strong></td></tr><tr><td><ul><li>orderId</li></ul></td><td>string</td><td>Identificatorul comenzii de pe website/app</td></tr><tr><td><ul><li>payUrl</li></ul></td><td>string</td><td>Link-ul către pagina <strong>maib ecomm checkout</strong> unde Cumpărătorul trebuie să fie redirecționat pentru a introduce datele cardului (sau achită prin Apple Pay/Google Pay)</td></tr><tr><td>ok</td><td>boolean</td><td><p>Stare procesare request/tranzacție:</p><p><em>true</em> - nu sunt erori</p><p><em>false -</em> sunt erori (detaliile despre erori vor fi în afișate în <em>errors)</em></p></td></tr><tr><td>errors</td><td>array</td><td>Erori procesare request/tranzacție. <a href="/e-commerce/ro/erori/erori-api.md"><mark style="color:blue;">Tabelul cu erori</mark></a></td></tr><tr><td><ul><li>errorCode</li></ul></td><td>string</td><td>Cod eroare</td></tr><tr><td><ul><li>errorMessage</li></ul></td><td>string</td><td>Descriere eroare</td></tr><tr><td><ul><li>errorArgs</li></ul></td><td>object</td><td>Obiectul conține parametri cu detalii despre eroare</td></tr></tbody></table>

**Exemplu răspuns intermediar**

{% tabs %}
{% tab title="Fără erori" %}

```json
{
"result": {
"payId": "f16a9006-128a-46bc-8e2a-77a6ee99df75",
"orderId": "123",
"payUrl": "https://maib.ecommerce.md/ecomm01/ClientHandler?trans_id=rEsfhyIk8s9ypxkcS9fj/3C8FqA="
},
"ok": true
}
```

{% endtab %}

{% tab title="Cu erori" %}

```json
{
    "errors": [
        {
            "errorCode": "12001",
            "errorMessage": "Parameter 'amount' is invalid",
            "errorArgs": {
                "parameter": "amount"
            }
        }
    ],
    "ok": false
}
```

{% endtab %}
{% endtabs %}

### **Parametri răspuns final (pe Callback URL)**

<table><thead><tr><th width="192.33333333333331">Parametru</th><th width="177">Tip</th><th>Descriere</th></tr></thead><tbody><tr><td>result</td><td>object</td><td>Obiect care conține datele tranzacției</td></tr><tr><td><ul><li>payId</li></ul></td><td>string</td><td>Identificatorul tranzacției atribuit de către <strong>maib ecomm</strong> </td></tr><tr><td><ul><li>orderId</li></ul></td><td>string</td><td>Identificatorul comenzii de pe website/app </td></tr><tr><td><ul><li>status</li></ul></td><td>string</td><td><a href="/e-commerce/ro/starea-tranzactiei-si-3d-secure.md#starea-tranzactiei"><mark style="color:blue;">Starea tranzacției</mark></a></td></tr><tr><td><ul><li>statusCode</li></ul></td><td>string</td><td>Codul stării tranzacției</td></tr><tr><td><ul><li>statusMessage</li></ul></td><td>string</td><td>Detalii despre starea tranzacției</td></tr><tr><td><ul><li>threeDs</li></ul></td><td>string</td><td><a href="/e-commerce/ro/starea-tranzactiei-si-3d-secure.md#autentificarea-3d-secure"><mark style="color:blue;">Rezultatul autentificării 3-D Secure</mark></a></td></tr><tr><td><ul><li>rrn</li></ul></td><td>string</td><td>RRN - Identificatorul tranzacției generat de către <strong>maib ecomm</strong></td></tr><tr><td><ul><li>approval</li></ul></td><td>string</td><td>Approval Code - Identificatorul de aprobare a tranzacției generat de către banca emitentă a cardului</td></tr><tr><td><ul><li>cardNumber</li></ul></td><td>string</td><td>Numărul cardului hașurat</td></tr><tr><td><ul><li>amount</li></ul></td><td>number(decimal)</td><td>Suma tranzacției în format <strong>X.XX</strong></td></tr><tr><td><ul><li>currency</li></ul></td><td>string</td><td>Valuta tranzacției (MDL/EUR/USD)</td></tr><tr><td>signature</td><td>string</td><td>Semnătură validare răspuns</td></tr></tbody></table>

**Exemplu răspuns final (pe Callback URL)**

```json
{
"result": {
"payId": "f16a9006-128a-46bc-8e2a-77a6ee99df75",
"orderId": "123",
"status": "OK",
"statusCode": "000",
"statusMessage": "Approved",
"threeDs": "AUTHENTICATED",
"rrn": "331711380059",
"approval": "327593",
"cardNumber": "510218******1124",
"amount": 10.25,
"currency": "MDL"
},
"signature": "NTE0OUQzQkY0MDg2NkZDNTlFMUFGODUyMERGMjNCNUI="
}
```
