Create QR Code (Static, Dynamic)
POST /v2/mia/qr
This endpoint allows the generation of a Static or Dynamic QR code, with various configuration options related to the amount, expiration, and integration into merchant systems.
Request parameters (body)
type
string(enum)
Yes
QR code type.
Possible values: Static, Dynamic.
Static: QR code that can be reused multiple times (e.g., sticker).Dynamic: QR code intended for single-use (e.g., POS terminal).
expiresAt
string(datetime)
Yes, only for Dynamic
Expiration date for a Dynamic QR code.
Minimum value: 1 minute
Maximum value: 60 days
Format: ISO 8601-1:2019 (e.g.,
"2029-10-22T10:32:28+03:00")
This field is not used for Static QR codes.
amountType
string(enum)
Yes
Type of amount. Possible values:
Fixed– fixed amount (usesamount)Controlled– variable amount with min and max limits (amountMinandamountMax)Free– available only forStaticQR codes; no predefined amount (the customer enters the amount in the banking app)
amount
number(decimal)
Yes, for Fixed and Controlled
Paid amount. Must respect the condition: amountMin ≤ amount ≤ amountMax.
Minimum: > 0
Maximum: 100000
Not sent for Free amount type.
amountMin
number(decimal)
Yes, for Controlled
Minimum allowed amount.
Minimum: > 0
Maximum: less than
amountMax
Not sent for Free or Fixed amount types.
amountMax
number(decimal)
Yes, for Controlled
Maximum allowed amount.
Minimum: greater than
amountMinMaximum: 100000
Not sent for Free or Fixed amount types.
currency
string(enum)
Yes
Currency in which the payment is made.
Allowed value: MDL (according to ISO 4217).
description
string(500)
Yes
Order description.
orderId
string(100)
No
Merchant-side order identifier.
callbackUrl
string(1000)
No
The URL where the merchant will receive payment result data. Format: HTTPS URL.
redirectUrl
string(1000)
No
The URL to which the customer will be redirected after successful payment. Format: HTTPS URL.
terminalId
string(100)
No
Terminal ID provided by the bank.
Request example
{
"type": "Dynamic",
"expiresAt": "2029-10-22T10:32:28+03:00",
"amountType": "Fixed",
"amount": 50.00,
"currency": "MDL",
"description": "Order description",
"orderId": "123",
"callbackUrl": "https://example.com/callback",
"redirectUrl": "https://example.com/success",
"terminalId": "P011111"
}Response parameters
result.qrId
string(guid)
Unique identifier of the QR code.
result.extensionId
string(guid)
QR extension identifier.
result.orderId
string(100)
Merchant's order ID.
result.type
string(enum)
Returned QR type. Possible values: Static, Dynamic, Hybrid.
result.url
string(1000)
Generated QR link. Format: HTTPS URL
result.expiresAt
string(datetime)
QR expiration date (for Dynamic or Hybrid). Format: ISO 8601-1:2019
ok
boolean
Request status. true – no errors, false – with errors.
errors
array
Errors list (if ok is false).
errors.errorCode
string
Error code.
errors.errorMessage
string
Error message.
Response example
{
"result": {
"qrId": "123e4567-e89b-12d3-a456-426614174000",
"extensionId": "40e6ba44-7dff-48cc-91ec-386a38318c68",
"orderId": "123",
"type": "Dynamic",
"url": "https://example.com/qr/123e4567-e89b-12d3-a456-426614174000",
"expiresAt": "2029-10-22T10:32:28+03:00"
},
"ok": true
}Last updated