Direct payment

API endpoint (POST)

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

Request parameters (body)

ParameterRequiredTypeDescription

amount

YES

number(decimal)

≥1

Transaction amount. Format: X.XX (≥1)

E.g: 10.25 (currency=USD) means $10 and 25 cents.

currency

YES

string(3)

Transaction currency (MDL/EUR/USD).

clientIp

YES

string(15)

Customer IP

language

NO

string(2)

Language maib ecomm checkout page.

Allowed values: ro/en/ru

If this parameter is not passed, the page will be displayed in English.

description

NO

string(124)

Payment description.

Displayed on maib ecomm checkout page.

clientName

NO

string(128)

Customer name

email

NO

string(40)

Customer email

phone

NO

string(40)

Customer phone

orderId

NO

string(36)

Order ID generated by Merchant website/app

delivery

NO

number(decimal)

Shipping cost

items

NO

array

max. 50 items

The products or services ordered from the website/app.

  • id

no

string(36)

Product ID

  • name

no

string(128)

Product name

  • price

no

number(decimal)

Product price

  • quantity

no

integer(32)

Product quantity

callbackUrl

YES

string(2048)

The link where the Merchant will receive the final response with the transaction status and data.

If this parameter is not passed, its value will be taken from maibmerchants.

okUrl

YES

string(2048)

The link where the Customer will be redirected if the transaction was successful.

(GET request: okUrl + payId&orderId)

If this parameter is not passed, its value will be taken from maibmerchants.

failUrl

YES

string(2048)

The link where the Customer will be redirected if the transaction was failed.

(GET request: failUrl + payId&orderId)

If this parameter is not passed, its value will be taken from maibmerchants.

Example

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

Intermediate response parameters

ParameterTypeDescription

result

Object

Object containing the transaction identifier and redirect link.

  • payId

String

Transaction identifier assigned by maib ecomm

  • orderId

String

Order ID generated by Merchant website/app

  • payUrl

String

The link to the maib ecomm checkout page where the Customer must be redirected to enter their card details (or pay via Apple Pay/Google Pay).

ok

Boolean

Request/transaction processing status:

true - no errors;

false - an error occurred (error details will be in errors);

errors

Array

Request/transaction processing errors. Errors table

  • errorCode

String

Error code

  • errorMessage

String

Error description

  • errorArgs

Object

Object contains parameters with error details

Example

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

Final response parameters (on Callback Url)

ParameterTypeDescription

result

Object

Object containing transaction data.

  • payId

String

Transaction identifier assigned by maib ecomm.

  • orderId

String

Order ID generated by Merchant website/app.

  • status

String

Transaction status

OK - successfully completed.

  • statusCode

String

Transaction status code

  • statusMessage

String

Transaction status information message

  • threeDs

String

3-D Secure authentication result

AUTHENTICATED - successfully authenticated.

  • rrn

String

RRN - Transaction ID generated by maib.

  • approval

String

Approval Code - The transaction approval code generated by the card issuing bank.

  • cardNumber

String

Masked number card.

  • amount

String

Transaction amount. Format: X.XX

  • currency

String

Transaction currency (MDL/EUR/USD).

signature

String

Response validation signature.

Example

{
"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": "EUR"
},
"signature": "r4KwwIUXQGHhcEM7C4um8o9rSrGEriTRcYQuBbmjEec="
}

Last updated