Autorizare tranzacție

Are loc blocarea sumei pe contul Cumpărătorului.

După autorizarea tranzacției sunt posibile 2 acțiuni:

  1. Finalizarea tranzacției (complete) - suma va fi debitată de pe contul Cumpărătorului

  2. Anularea autorizării tranzacției (refund) - suma va fi deblocată, nimic nu va fi debitat de pe contul Cumpărătorului.

API endpoint (POST)

https://api.maibmerchants.md/v1/hold

Parametri pentru request (body)

ParametruObligatoriuTipDescriere

amount

DA

number(decimal)

≥1

Suma care trebuie autorizată (blocată) pe contul Cumpărătorului în format X.XX

De exemplu: 10.25 (currency=MDL) -> 10 lei și 25 bani.

currency

DA

string(3)

Valuta tranzacției (MDL/EUR/USD)

clientIp

DA

string(15)

IP Cumpărător

language

NU

string(2)

Limba în care va fi afișată pagina maib ecomm checkout.

Valori posibile: ro/en/ru.

Dacă acest parametru nu este transmis, pagina va fi afișată în limba engleză.

description

NU

string(124)

Descrierea plății.

Se afișează pe pagina maib ecomm checkout.

clientName

NU

string(128)

Nume Cumpărător

email

NU

string(40)

Email Cumpărător

phone

NU

string(40)

Telefon Cumpărător

orderId

NU

string(36)

Identificatorul comenzii de pe website/app

delivery

NU

number(decimal)

Costul livrării în format X.XX

items

NU

array

max. 50 items

Produsele sau serviciile din coșul Cumpărătorului

  • id

nu

string(36)

ID produs

  • name

nu

string(128)

Nume produs

  • price

nu

number(decimal)

Preț produs în format X.XX

  • quantity

nu

integer(32)

Cantitatea produselor

callbackUrl

NU

string(2048)

Link-ul unde Merchant-ul va primi răspunsul final cu starea și datele tranzacției.

Dacă nu se transmite acest parametru, valoarea sa va fi preluată din maibmerchants.

okUrl

NU

string(2048)

Link-ul unde Cumpărătorul va fi redirecționat dacă tranzacția este reușită.

(GET request: okUrl + payId&orderId)

Dacă nu se transmite acest parametru, valoarea sa va fi preluată din maibmerchants.

failUrl

NU

string(2048)

Link-ul unde Cumpărătorul va fi redirecționat dacă tranzacția a eșuat.

(GET request: failUrl + payId&orderId)

Dacă nu se transmite acest parametru, valoarea sa va fi preluată din maibmerchants.

Exemplu

{
"amount": 10.25,
"currency": "MDL",
"clientIp": "135.250.245.121",
"language": "ro",
"description": "Descriere",
"email": "customer@gmail.com",
"clientName": "Nume Prenume",
"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

ParametruTipDescriere

result

object

Obiect care conține identificatorul tranzacției și link-ul pentru redirecționare Cumpărător

  • payId

string

Identificatorul tranzacției atribuit de către maib ecomm

  • orderId

string

Identificatorul comenzii de pe website/app

  • payUrl

string

Link-ul către pagina de maib ecomm checkout unde Cumpărătorul trebuie să fie redirecționat pentru a introduce datele cardului (sau achită prin Apple Pay/Google Pay)

ok

boolean

Stare procesare request/tranzacție:

true - nu sunt erori;

false - sunt erori (detaliile despre erori vor fi în afișate în errors).

errors

array

Erori procesare request/tranzacție. Tabelul cu erori

  • errorCode

string

Cod eroare

  • errorMessage

string

Descriere eroare

  • errorArgs

object

Obiectul conține parametri cu detalii despre eroare

Exemplu răspuns intermediar

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

Parametri răspuns final (pe Callback URL)

ParametruTipDescriere

result

object

Obiect care conține datele tranzacției

  • payId

string

Identificatorul tranzacției atribuit de către maib ecomm

  • orderId

string

Identificatorul comenzii de pe website/app

  • status

string

  • statusCode

string

Codul stării tranzacției

  • statusMessage

string

Detalii despre starea tranzacției

  • threeDs

string

  • rrn

string

RRN - Identificatorul tranzacției generat de către maib ecomm

  • approval

string

Approval Code - Identificatorul de aprobare a tranzacției generat de către banca emitentă a cardului

  • cardNumber

string

Numărul cardului hașurat

  • amount

number(decimal)

Suma blocată pe contul Cumpărătorului în format X.XX

  • currency

string

Valuta tranzacției (MDL/EUR/USD)

signature

string

Semnătură validare răspuns

Exemplu răspuns final (pe Callback URL)

{
"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": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Last updated