- maib MIA QR API docs: https://docs.maibmerchants.md/mia-qr-api
- maib Request to Pay (RTP) docs: https://docs.maibmerchants.md/request-to-pay
- GitHub project https://github.com/alexminza/maib-mia-sdk-python
- PyPI package https://pypi.org/project/maib-mia-sdk/
To easily install or upgrade to the latest release, use pip:
pip install --upgrade maib-mia-sdkImport SDK:
from maib_mia_sdk import MaibMiaSdk, MaibMiaAuthRequest, MaibMiaApiRequestAdd project configuration:
import os, datetime
MAIB_MIA_CLIENT_ID = os.getenv('MAIB_MIA_CLIENT_ID')
MAIB_MIA_CLIENT_SECRET = os.getenv('MAIB_MIA_CLIENT_SECRET')
MAIB_MIA_SIGNATURE_KEY = os.getenv('MAIB_MIA_SIGNATURE_KEY')maib_mia_auth = MaibMiaAuthRequest \
.create(base_url=MaibMiaSdk.SANDBOX_BASE_URL) \
.generate_token(client_id=MAIB_MIA_CLIENT_ID, client_secret=MAIB_MIA_CLIENT_SECRET)
maib_mia_token = maib_mia_auth['accessToken']maib_mia_qr_data = {
'type': 'Dynamic',
'expiresAt': (datetime.datetime.now() + datetime.timedelta(hours=24)).isoformat(),
'amountType': 'Fixed',
'amount': 50.00,
'currency': 'MDL',
'orderId': '123',
'description': 'Order #123',
'callbackUrl': 'https://example.com/callback',
'redirectUrl': 'https://example.com/success'
}
maib_mia_api_request = MaibMiaApiRequest.create(base_url=MaibMiaSdk.SANDBOX_BASE_URL)
maib_mia_create_qr_response = maib_mia_api_request.qr_create(
data=maib_mia_qr_data,
token=maib_mia_token)maib_mia_rtp_data = {
'alias': '3736xxxxxxx',
'amount': 50.00,
'currency': 'MDL',
'expiresAt': (datetime.datetime.now() + datetime.timedelta(hours=24)).isoformat(),
'description': f'Order #123',
'orderId': '123',
'callbackUrl': 'https://example.com/callback',
'redirectUrl': 'https://example.com/success'
}
maib_mia_create_rtp_response = maib_mia_api_request.rtp_create(
data=maib_mia_rtp_data,
token=maib_mia_token)callback_data = {
"result": {
"qrId": "c3108b2f-6c2e-43a2-bdea-123456789012",
"extensionId": "3fe7f013-23a6-4d09-a4a4-123456789012",
"qrStatus": "Paid",
"payId": "eb361f48-bb39-45e2-950b-123456789012",
"referenceId": "MIA0001234567",
"orderId": "123",
"amount": 50.00,
"commission": 0.1,
"currency": "MDL",
"payerName": "TEST QR PAYMENT",
"payerIban": "MD88AG000000011621810140",
"executedAt": "2025-04-18T14:04:11.81145+00:00",
"terminalId": null
},
"signature": "fHM+l4L1ycFWZDRTh/Vr8oybq1Q1xySdjyvmFQCmZ4s="
}
validate_callback_result = MaibMiaSdk.validate_callback_signature(
callback_data=callback_data,
signature_key=MAIB_MIA_SIGNATURE_KEY)maib_test_pay_data = {
'qrId': maib_mia_create_qr_response['qrId'],
'amount': maib_mia_qr_data['amount'],
'iban': 'MD88AG000000011621810140',
'currency': maib_mia_qr_data['currency'],
'payerName': 'TEST QR PAYMENT'
}
maib_mia_test_pay_response = maib_mia_api_request.test_pay(
data=maib_test_pay_data,
token=maib_mia_token)maib_mia_payment_details_response = maib_mia_api_request.payment_details(
pay_id=maib_mia_test_pay_response['payId'],
token=maib_mia_token)maib_mia_pay_refund_data = {
'reason': 'Test refund reason'
}
maib_mia_refund_details_response = maib_mia_api_request.payment_refund(
pay_id=maib_mia_test_pay_response['payId'],
data=maib_mia_pay_refund_data,
token=maib_mia_token)