Carry out Collections and Disbursements using MTN and Airtel Mobile Money in Uganda and Africa
Project description
UG MOBILE MONEY
UG Mobile Money is a python library for making mobile money transactions in Uganda. It currently supports MTN MOMO.
UG Mobile Money provides a simple interface for making mobile money transactions in a way that is similar to what the official MTN Mobile Money API provides but in a more pythonic and simple way. This makes it easy for beginners to get started and also for experienced developers who have been using the official API shift.
The library also handles other underlying functions like encryption, Authorization and regenerating access tokens. This makes it easy for developers to focus on the business logic of their applications and not worry about the underlying details.
The library utitlizes the Official MTN Mobile Money API. The API is documented here.
Installation
Use the package manager pip to install UG Mobile Money.
pip install ugmobilemoney
After installing it you can now import the package in your project.
from mobile_money.momo import Collection, Disbursment
Usage
This library is currently in development and only supports MTN MOMO. It supports the following operations:
- Collection
- Request to pay
- Disbursment
- Transfer
Note: You need to have an account with MTN MOMO and have your API user ID and API key. You can get these from the MTN MOMO Developer Portal. If your in sandbox environment, we provide utils for creation of API user ID and API key.
Collection
The UG Mobile Money library provides a Collection
class that can be used to carry out operations or call the MOMO APIs provided under the collection Products.
You access it from the mobile_money.momo
module.
from mobile_money.momo import Collection
collection = Collection(
subscription_key=SUBSCRIPTION_KEY,
api_user=API_USER,
api_key=API_KEY,
callback_url="http://mydomain.com/webhooks/mtn/",
production=False,
)
Request to Pay
Request to pay is a service that allows a merchant to receive payments on from a customer. This is typically used when a customer is paying for goods or services. The collect()
method is used to initiate a request to pay transaction.
from mobile_money.momo import Collection
from mobile_money import generate_uuid
collection = Collection(
subscription_key=SUBSCRIPTION_KEY,
api_user=API_USER,
api_key=API_KEY,
callback_url="http://mydomain.com/webhooks/mtn/",
production=False,
)
transaction_reference = generate_uuid()
# Request to pay
response = COLLECTION.collect(
amount="100",
phone_number="256772123456",
currency="UGX",
external_id="external id",
reference_id=transaction_reference,
payee_note="test",
payer_message="test",
)
print(response)
# >>> <Response [202 Accepted]>
Disbursment
The UG Mobile Money library provides a Disbursment
class that can be used to carry out operations or call the MOMO APIs provided under the Disbursment Products.
You access it from the mobile_money.momo
module.
from mobile_money.momo import Disbursment
DISBURSEMENT = Disbursment(
subscription_key=SUBSCRIPTION_KEY,
api_user=API_USER,
api_key=API_KEY,
callback_url="http://mydomain.com/webhooks/mtn/",
production=False,
)
Transfer
Transfer is a service that allows a merchant to transfer money from their account to a customer's account. This is typically used when a customer is receiving money for goods or services. The transfer()
method is used to initiate a transfer transaction.
from mobile_money.momo import Disbursment
from mobile_money import generate_uuid
DISBURSEMENT = Disbursment(
subscription_key=SUBSCRIPTION_KEY,
api_user=API_USER,
api_key=API_KEY,
callback_url="http://mydomain.com/webhooks/mtn/",
production=False,
)
transaction_reference = generate_uuid()
# Transfer
response = DISBURSEMENT.transfer(
amount="100",
phone_number="256772123456",
currency="UGX",
external_id="external id",
reference_id=transaction_reference,
payee_note="test",
payer_message="test",
)
print(response)
# >>> <Response [202 Accepted]>
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
MIT License (MIT). Please see License File for more information.
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
Built Distribution
Hashes for ugmobilemoney-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e7f1cb5a3fad92cf9645b9d16233dc1e97fd1c7e34ca42caab734bc0fa28151 |
|
MD5 | 2fdefb9fab90d16f00e45b6a80fb82a0 |
|
BLAKE2b-256 | 4ee65c2984f4d6bc892e57a38869c813c9d59dae9c336f96c764b50c0c0b5e7b |