mediumart / momo
MTN Mobile money php client
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/mediumart/momo
Requires
- php: >=8.0
- guzzlehttp/guzzle: ^7.4
- ramsey/uuid: ^4.2
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.5
README
An MTN Mobile Money php client.
Requirements
PHP >=8.0
Installation
You can install via Composer. Run the following command:
composer require mediumart/momo
Sandbox
The client env configuration default to live. If you want to practice in the sandbox environment before going live, you probably want to enable it before resolving any client instance.
use Mediumart\MobileMoney\MobileMoney; MobileMoney::setCurrentEnvironment('sandbox');
Alternatively, you can also configure a specific service instance to run in the sandbox by providing a 'sandbox' argument upon getting the instance.
$collection = MobileMoney::collection('sandbox');
Connect to your Momo developer Dashboard, subscribe to a product : collection, disbursement, or remittance. Go to your profile and grab the corresponding subscription key (should be primary key or secondary key).
Then create a new sandbox user for your subscription key.
use Mediumart\MobileMoney\Sandbox\UsersProvisioning; $user = UsersProvisioning::sandboxUserFor('<your product subscription key>');
This will get you a fresh Mediumart\ModileMoney\User instance, a value object with 3 properties (all lowercase):
$id = $user->id; $apikey = $user->apikey; $subscriptionkey = $user->subscriptionkey;
Use them to get a new access token for the corresponding service (collection, disbursement, or remittance).
$collection = MobileMoney::collection(); $token = $collection->createAccessToken($subscriptionkey, $id, $apikey);
The same Mediumart\ModileMoney\User class can be used to store similar values in your live environment.
Usage
Mtn Mobile Money API supported services are: collection, disbursement, and remittance.
Resolve services clients instances using the MobileMoney facade.
use Mediumart\MobileMoney\MobileMoney; $collection = MobileMoney::collection(); $disbursement = MobileMoney::disbursement(); $remittance = MobileMoney::remittance();
Then this is the list of methods you 'll have access to :
shared Api (collection, disbursement, and remittance)
bcAuthorizecreateAccessTokencreateOauth2TokenvalidateAccountHolderStatusgetAccountBalancegetBasicUserinfogetUserInfoWithConsentrequestToPayDeliveryNotification
transferApi (disbursement, remittance)
transfergetTransferStatus
collection
requestToPayrequestToPayTransactionStatusrequestToWithdrawV1requestToWithdrawV2requestToWithdrawV1TransactionStatuscancelInvoicecreateInvoicegetInvoiceStatuscreatePaymentsgetPaymentStatuspreApprovalgetPreApprovalStatus
disbursement
depositV1depositV2getDepositStatusrefundV1refundV2getRefundStatus
remittance
cashTransfergetCashTransferStatus
For now, to know which parameters are required for each method, please look at the code . A complete API docs may be released soon.
License
Mediumart momo is an open-sourced software licensed under the MIT license.