Python client for ModulBank REST API
Project description
Python client for ModulBank REST API
Installation
Install modulbank package from PyPI
pip install modulbank
Getting started
Make sure to include this lines in the beginning of your code:
from modulbank.client import ModulbankClient import modulbank.structs as structs
Set your API Token and choose sandbox mode on or off:
client = ModulbankClient(token=MODULBANK_TOKEN, sandbox_mode=True)
Make queries:
print([str(acc) for acc in client.accounts()]) print(client.balance('58c20343-5d3b-422c-b98b-a5ec037df782')) print([str(op) for op in client.operations('58c20343-5d3b-422c-b98b-a5ec037df782')])
Or send payment order:
p = structs.PaymentOrder( doc_num='994720', account_num='40802810670010011008', amount=Decimal(100.00), purpose='Для теста', payer=structs.Contractor(name='Индивидуальный предприниматель Александров Александр Александрович', inn='770400372208', kpp='', bank=structs.BankShort(account='40802810670010011008', name='МОСКОВСКИЙ ФИЛИАЛ АО КБ "МОДУЛЬБАНК"', bic='044525092', corr_acc='30101810645250000092')), recipient=structs.Contractor(name='МОСКОВСКИЙ ФИЛИАЛ АО КБ "МОДУЛЬБАНК"', inn='2204000595', kpp='771543001', bank=structs.BankShort(account='30102810675250000092', name='МОСКОВСКИЙ ФИЛИАЛ АО КБ "МОДУЛЬБАНК"', bic='044525092', corr_acc='30102810675250000092'))) res = client.create_payment_draft(p) assert len(res.errors) == 0 assert res.total_loaded == 1
Helper class for processing web-hooks
Sample usage of class NotifyRequest:
@app.route('/modulbank', methods=['POST']) def notify(): client = ModulbankClient(token=MODULBANK_TOKEN) if not request.is_json: return make_response(render_template('template.json'), 400) nr = structs.NotifyRequest(request.json) # Filter only needed company's operations if nr.inn != INN or nr.kpp != KPP: return make_response(render_template('template.json'), 200) # Check signature in `SHA1Hash` field if not nr.check_signature(MODULBANK_TOKEN): return make_response(render_template('template.json'), 403) # # Make something with `nr` # make_response(render_template('template.json'), 200)
TODO
OAuth 2 authorization.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
modulbank-0.0.9.tar.gz
(13.7 kB
view details)
Built Distribution
File details
Details for the file modulbank-0.0.9.tar.gz
.
File metadata
- Download URL: modulbank-0.0.9.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d81ecebf8def0ad974f5fab02bc461724b3d4872685dd86cca716918e5ea5a6 |
|
MD5 | 943595ee51943b23fd1cae24bca6e6c8 |
|
BLAKE2b-256 | 2296f5137ce52daa5a958c111157f72ed9dc9bc9f71c7617bfec9fb94ca953af |
File details
Details for the file modulbank-0.0.9-py2.py3-none-any.whl
.
File metadata
- Download URL: modulbank-0.0.9-py2.py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98308280e24ef7e0e6707dff1a80419d3237fda2bed638f757c827083c0e5e54 |
|
MD5 | 91c69d92cd181cb6964678248fd35bb4 |
|
BLAKE2b-256 | 5b2f9c03876c188b1c048caffa50102d7cc4fbd4368a60b2aff8d1f74ecbad4a |