# 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="../erori/erori-api"><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="../../starea-tranzactiei-si-3d-secure#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="../../starea-tranzactiei-si-3d-secure#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"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.maibmerchants.md/e-commerce/ro/plati-one-click/executare-plata-one-click.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
