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 line in the beginning of your code:
from modulbank import *
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 = PaymentOrder(doc_num='994720', account_num='40802810670010011008', amount=Decimal(100.00), purpose='Для теста', payer=Contractor(name='Индивидуальный предприниматель Александров Александр Александрович', inn='770400372208', bank=BankShort(account='40802810670010011008', name='МОСКОВСКИЙ ФИЛИАЛ АО КБ "МОДУЛЬБАНК"', bic='044525092', corr_acc='30101810645250000092')), recipient=Contractor(name='МОСКОВСКИЙ ФИЛИАЛ АО КБ "МОДУЛЬБАНК"', inn='2204000595', kpp='771543001', bank=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 = 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.4.tar.gz
(14.1 kB
view hashes)
Built Distribution
Close
Hashes for modulbank-0.0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 548004fcaeaa4723790eabb9fbf30ab535c2752133337c63e0f2c534d2f76cfd |
|
MD5 | 72db1fe8297ebe7613229075b91765d5 |
|
BLAKE2b-256 | f267de2563d124f9f8acbdcb30d243c2a480ceb6d82db89d4bfb0dbfd19b880d |