Skip to main content

Python SDK for Victoriabank MIA API

Project description

Python SDK for Victoriabank MIA API

Installation

To easily install or upgrade to the latest release, use pip:

pip install --upgrade victoriabank-mia-sdk

Getting started

Import SDK:

from victoriabank_mia_sdk import VictoriabankMiaSdk, VictoriabankMiaAuthRequest, VictoriabankMiaApiRequest

Add project configuration:

import os, datetime

VB_PUBLIC_KEY_PATH = os.getenv('VB_PUBLIC_KEY_PATH')
VB_MIA_USERNAME = os.getenv('VB_MIA_USERNAME')
VB_MIA_PASSWORD = os.getenv('VB_MIA_PASSWORD')
VB_IBAN = os.getenv('VB_IBAN')

SDK usage examples

Get Access Token with username and password

vb_mia_auth = VictoriabankMiaAuthRequest \
    .create(base_url=VictoriabankMiaSdk.SANDBOX_BASE_URL) \
    .generate_token(username=VB_MIA_USERNAME, password=VB_MIA_PASSWORD)

vb_mia_token = vb_mia_auth['accessToken']

Create a dynamic order payment QR

vb_mia_qr_data = {
    'header': {
        'qrType': 'DYNM', # Type of QR code: DYNM - Dynamic QR, STAT - Static QR, HYBR - Hybrid QR
        'amountType': 'Fixed', # Specifies the type of amount: Fixed - Dynamic QR, Controlled - Static QR, Free - Hybrid QR
        'pmtContext': 'e' #Payment context: m - mobile payment, e - e-commerce payment, i - invoice payment, 0 - other
    },
    'extension': {
        'creditorAccount': {
            'iban': f'{VB_IBAN}' # The account from which funds will be debited credited.
        },
        'amount': {
            'sum': 123.45, # The total sum to be paid.
            'currency': 'MDL' # The currency in which the sum is specified.
        },
        'dba': 'TEST SRL', #Commercial name that will appear in client APP.
        'remittanceInfo4Payer': 'Order #123', #Payment destination.
        'creditorRef': '123', #External payment reference.
        'ttl': {
            'length': 60, #The duration for which the QR code is valid.
            'units': 'mm' #The unit of time for the TTL: ss - seconds, mm - minutes
        }
    }
}

vb_mia_api_request = VictoriabankMiaApiRequest.create(base_url=VictoriabankMiaSdk.SANDBOX_BASE_URL)
vb_mia_create_qr_response = vb_mia_api_request.qr_create(
    data=vb_mia_qr_data,
    token=vb_mia_token)

Decode callback and validate signature

callback_jwt = """eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWduYWxDb2RlIjoiRXhwaXJhdGlvbiIsInNpZ25hbER0VG0iOiIyMDI0LTEwLTAxVDE1OjA3OjQ1KzAzOjAwIiwicXJIZWFkZXJVVUlEIjoiYmQxMjA0OWItNjUxZC00MGEwLWIyYmMtZDZhMGY3ZTJiN2M3IiwicXJFeHRlbnNpb25VVUlEIjoiNjU0YWNkNjktNjAyYy00MzUxLTk1OTItODE0M2FlMjhkM2U0IiwicGF5bWVudCI6bnVsbH0.WJ5t8jtg2_6DPrxQNIcu50gsW7cDC8IMdjvOBO9wW3toIdeAljlMPxd_lLCWJiKXToRAVHU7a1EB4mLyzyw1iCcRadnsSqm21TrpDZWTjv3uL-XiMLrWOsGBf0aJJRFcGbysU_ym9YLonQMmYLF0voq39yAPMHO7CLCniSMhVdJ9Q5xnrq52y6Yn5YzefCNb2tAQ-erm-8_mCaF0DWd0UFhPA6TRXyV2l5GCkLbyhlUB9gVoVTdSN-XxA_1aoNTusheZPDH1InL03Bx3G8muaVxOMrMIsVCJJYAaTFKiQTBf0M49oTQpdPWeeS9wHaS7aSS3gUcFsOOEPavj7J8vxg"""

with open(VB_PUBLIC_KEY_PATH, mode='rb') as vb_public_key_file:
    vb_public_key_pem = vb_public_key_file.read()

decoded_payload = VictoriabankMiaSdk.decode_callback(
    callback_jwt=callback_jwt,
    public_key_pem=vb_public_key_pem)

Perform a test QR payment

vb_test_pay_data = {
    'qrHeaderUUID': vb_mia_create_qr_response['qrHeaderUUID']
}

vb_test_pay_response = vb_mia_api_request.test_pay(
    data=vb_test_pay_data,
    token=vb_mia_token)

Get payment details

vb_qr_extension_status_response = vb_mia_api_request.qr_extension_status(
    qr_extension_id=vb_mia_create_qr_response['qrExtensionUUID'],
    token=vb_mia_token)

Refund payment

vb_payment_reference: str = vb_qr_extension_status_response['payments'][0]['reference']
vb_transaction_id = vb_payment_reference.split('|')[3]

vb_transaction_reverse_response = vb_mia_api_request.transaction_reverse(
    transaction_id=vb_transaction_id,
    token=vb_mia_token)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

victoriabank_mia_sdk-1.1.2.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

victoriabank_mia_sdk-1.1.2-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file victoriabank_mia_sdk-1.1.2.tar.gz.

File metadata

  • Download URL: victoriabank_mia_sdk-1.1.2.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for victoriabank_mia_sdk-1.1.2.tar.gz
Algorithm Hash digest
SHA256 c94ebd389774b9a21c85c162b1a62a2c886231792a3ddb517cb70104ff1a69cd
MD5 dcd49eb41b7e842fbded879cb532cf11
BLAKE2b-256 c24ec39f98a945cc837ff90f2b5d9e70e5b5d345bacb7fb1437205b073a47e73

See more details on using hashes here.

Provenance

The following attestation bundles were made for victoriabank_mia_sdk-1.1.2.tar.gz:

Publisher: action-pypi-publish.yml on alexminza/victoriabank-mia-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file victoriabank_mia_sdk-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for victoriabank_mia_sdk-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 240312002e8685ef1315b6f119b21126f4ea88e1e9e31596a1db3b62e9929286
MD5 63f04fd51c66e07bd2adbd413c858cd8
BLAKE2b-256 d1fe390157d1c4a8b6753334e715e81c279f34ea5dd926fe61139248a568dbc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for victoriabank_mia_sdk-1.1.2-py3-none-any.whl:

Publisher: action-pypi-publish.yml on alexminza/victoriabank-mia-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page