Python client for ModulBank REST API
Project description
Python client for ModulBank REST API
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 hashes)
Built Distribution
Close
Hashes for modulbank-0.0.9-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98308280e24ef7e0e6707dff1a80419d3237fda2bed638f757c827083c0e5e54 |
|
MD5 | 91c69d92cd181cb6964678248fd35bb4 |
|
BLAKE2-256 | 5b2f9c03876c188b1c048caffa50102d7cc4fbd4368a60b2aff8d1f74ecbad4a |