> 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-one-click/executare-plata-one-click.md).

# Executare plată one-click

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

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

<table><thead><tr><th width="167">Parametru</th><th width="136">Obligatoriu</th><th width="178">Tip</th><th>Descriere</th></tr></thead><tbody><tr><td>billerId</td><td>DA</td><td>string(UUID)</td><td>Identificatorul cardului salvat în <strong>maib ecomm</strong>.</td></tr><tr><td>amount</td><td>DA</td><td>number(decimal)</td><td><p>Suma tranzacției în formatul <strong>X.XX</strong></p><p>De exemplu: <strong>10.25</strong> (valuta 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(15)</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>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 coșul Cumpărătorului</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 răspunsul final 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&#x26;billerId)</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&#x26;billerId)</p><p>Dacă nu se transmite acest parametru valoarea sa va fi preluată din <strong>maibmerchants</strong>. </p></td></tr></tbody></table>

**Exemplu**

```json
{
"billerId": "92f72473-f324-42d7-95fd-9c75c2947408",
"clientIp": "135.250.245.121",
"amount": 6.25,
"currency": "MDL",
"description": "Descriere",
"orderId": "123",
"delivery": 1.25,
"items": [
{
"id": "10",
"name": "Produs",
"price": 2.50,
"quantity": 2
}
],
"callbackUrl": "https://example.com/callback",
"okUrl": "https://example.com/ok",
"failUrl": "https://example.com/fail"
}
```

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

<table><thead><tr><th width="184.33333333333331">Parametru</th><th width="147">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 Cumpărător</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 maib ecomm checkout unde Cumpărătorul trebuie să fie redirecționat pentru a introduce CVV2/CVC2 (poate fi exclus) și va trece autentificarea 3DS.</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 %}

### **Răspuns final (pe Callback URL)**

<table><thead><tr><th width="208.33333333333331">Parametru</th><th width="176">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>billerId</li></ul></td><td>string</td><td>Identificatorul cardului salvat în <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">Starea tranzacției</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">Rezultatul autentificării 3-D Secure</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",
"billerId": "92f72473-f324-42d7-95fd-9c75c2947408",
"orderId": "123",
"status": "OK",
"statusCode": "000",
"statusMessage": "Approved",
"rrn": "331711380059",
"approval": "327593",
"cardNumber": "510218******1124",
"amount": 6.25,
"currency": "MDL"
},
"signature": "xxxxxxxxxxxxxxxxxxxx"
}
```
