maib MIA QR API
EN
EN
  • Overview
    • General Technical Specifications
    • MIA QR Types
  • Endpoints
    • Authentication
      • Obtain Authentication Token
    • Payment Initiation
      • Create QR Code (Static, Dynamic)
      • Create Hybrid QR Code
        • Create Extension for QR Code by ID
    • Payment Cancellation
      • Cancel Active QR (Static, Dynamic)
      • Cancel Active QR Extension (Hybrid)
    • Payment Refund
      • Refund Completed Payment
    • Information Retrieval (GET)
      • Display List of QR Codes with Filtering Options
      • Retrieve QR Details by ID
      • Retrieve List of Payments with Filtering Options
      • Retrieve Payment Details by ID
  • Payment Simulation (Sandbox)
  • Notifications on Callback URL
  • Errors
    • API Errors
    • HTTP Status Codes
  • Glossary
  • maib e-commerce API
Powered by GitBook
On this page
  • Request Body Parameters
  • Request Body Example
  • Response Parameters
  • Response Example
  1. Endpoints
  2. Payment Initiation

Create Hybrid QR Code

POST /v2/mia/qr/hybrid A hybrid QR code that can be paid multiple times, with the possibility to modify the amount and expiration date later (via the POST /v2/mia/qr/{qrId}/extension endpoint). It can be displayed on static media, such as stickers.


Request Body Parameters

Parameter
Type
Required
Description

amountType

string (enum)

Yes

Type of the amount on the QR code. Possible values: Fixed, Controlled, Free.

Fixed: fixed amount (uses the amount parameter).

Controlled: adjustable amount, but within amountMin and amountMax limits.

Free: only for static QR codes, without a predefined amount (the client sets the amount in the bank app).

currency

string (enum)

Yes

Payment currency. Possible values: MDL. Format: ISO 4217.

terminalId

string (max 100)

No

Terminal ID provided by the bank.

extension

object

No

Object containing the extensions for the QR code.


extension Object Parameters

Parameter
Type
Conditionally required
Description

expiresAt

string (datetime)

Yes

Expiration date of the Hybrid QR code (minimum 1 minute, maximum 60 days). The code expires if no payment has been made in the last 30 days. Format: ISO 8601. Example: "2029-10-22T10:32:28+03:00".

amount

number (decimal)

Yes, for Fixed and Controlled

Amount of the QR code. For Fixed and Controlled types, the following must hold: amountMin ≤ amount ≤ amountMax. Values between 0 and 100000. Not used for Free type.

amountMin

number (decimal)

Yes, for Controlled

Minimum allowed amount (for Controlled). Must be > 0 and less than amountMax. Not used for Free or Fixed types.

amountMax

number (decimal)

Yes, for Controlled

Maximum allowed amount (for Controlled). Must be > amountMin and ≤ 100000. Not used for Free or Fixed types.

description

string (max 500)

Yes

Order description.

orderId

string (max 100)

No

Order identifier on the merchant's side.

callbackUrl

string (max 1000)

No

HTTPS URL where the merchant receives data about the successful payment in the bank's application.

redirectUrl

string (max 1000)

No

HTTPS URL where the client is redirected after successful payment (useful for website integration).

Request Body Example

{
  "amountType": "Fixed",
  "currency": "MDL",
  "terminalId": "P011111",
  "extension": {
    "expiresAt": "2029-10-22T10:32:28+03:00",
    "amount": 50.00,
    "description": "Order description",
    "orderId": "123",
    "callbackUrl": "https://example.com/callback",
    "redirectUrl": "https://example.com/success"
  }
}

Response Parameters

Parameter
Type
Description

result

object

Object containing the request result.

result.qrId

string (guid)

Unique identifier of the created QR code.

result.extensionId

string (guid)

Unique identifier of the QR code extension.

result.url

string (max 1000)

QR code URL. HTTPS format.

ok

boolean

Request processing status: true – no errors, false – an error occurred (see details in errors).

errors

array

List of processing errors (if present).


errors Object (if ok = false)

Parameter
Type
Description

errorCode

string

Error code.

errorMessage

string

Error description.


Response Example

{
  "result": {
    "qrId": "123e4567-e89b-12d3-a456-426614174000",
    "extensionId": "40e6ba44-7dff-48cc-91ec-386a38318c68",
    "url": "https://example.com/qr/123e4567-e89b-12d3-a456-426614174000"
  },
  "ok": true
}
PreviousCreate QR Code (Static, Dynamic)NextCreate Extension for QR Code by ID

Last updated 1 day ago