{"id":25239424,"url":"https://github.com/mpaannddreew/momo","last_synced_at":"2025-10-26T14:30:44.694Z","repository":{"id":56981600,"uuid":"182450688","full_name":"mpaannddreew/momo","owner":"mpaannddreew","description":"Momo is a simple library in PHP for the MTN Mobile Money Open API.","archived":false,"fork":false,"pushed_at":"2022-07-28T15:06:50.000Z","size":14,"stargazers_count":12,"open_issues_count":0,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-10T05:37:25.312Z","etag":null,"topics":["api","mobilemoney","mtn","mtnmobilemoney","mtnmomo","openapi","php"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mpaannddreew.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-20T20:18:58.000Z","updated_at":"2023-04-22T16:24:22.000Z","dependencies_parsed_at":"2022-08-21T08:40:43.037Z","dependency_job_id":null,"html_url":"https://github.com/mpaannddreew/momo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaannddreew%2Fmomo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaannddreew%2Fmomo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaannddreew%2Fmomo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaannddreew%2Fmomo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpaannddreew","download_url":"https://codeload.github.com/mpaannddreew/momo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238346033,"owners_count":19456668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","mobilemoney","mtn","mtnmobilemoney","mtnmomo","openapi","php"],"created_at":"2025-02-11T18:27:51.731Z","updated_at":"2025-10-26T14:30:44.400Z","avatar_url":"https://github.com/mpaannddreew.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Momo\n\nMomo is a simple library in PHP for the MTN Mobile Money Open API.\n\n## Product support\n\n* Collections\n* Disbursements\n* Remittances\n\n## Getting Started\n\n* Signup For An Account\n* Subscribe To Products\n\n## Signup For An Account\n\nFollow this link to the developer portal and [signup](https://momodeveloper.mtn.com/signup.html)\nfor an account.\n\n## Subscribe To Products\n\nOn the [Products](https://momodeveloper.mtn.com/products.html) page on developer portal you should see items you can subscribe to:\n\n* Collections\n* Disbursements\n* Remittances\n\n## Installation\n\nThe recommended way to install Momo is through [composer](http://getcomposer.org).\n\nJust create a composer.json file for your project and require it:\n\n```TERMINAL\ncomposer require fannypack/momo\n```\nNow you can add the autoloader, and you will have access to the library:\n\n```php\n\u003c?php\nrequire 'vendor/autoload.php';\n```\n\n## Usage\n### Creating a product instance\n\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n$options = [\n    // 'callbackHost' =\u003e '', //(optional) default is http://localhost:8000\n    // 'callbackUrl' =\u003e '', //(optional) default is http://localhost:8000/callback\n    // 'environment' =\u003e '', //(optional) default is sandbox\n    // 'accountHolderIdType' =\u003e '', //(optional) default is msisdn\n    'subscriptionKey' =\u003e '', //Product Subscription key\n    'xReferenceId' =\u003e '', //Api user reference id (in UUID format)\n    'apiKey' =\u003e '', // Api user key (Supply this after generating it at 'Create API Key')\n    //'preApproval' =\u003e '', //(optional) default is false\n    //'accessToken' =\u003e '' //Required for transactions\n];\n\n// Using collection\n$collection = Collection::create($options);\n\n// Using disbursement\n$disbursement = Disbursement::create($options);\n\n// Using remittance\n$remittance = Remittance::create($options);\n\n```\n\n### Sandbox User Provisioning\n#### Create API User\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n// Using collection\n$product = Collection::create($options);\n\n// Using disbursement\n$product = Disbursement::create($options);\n\n// Using remittance\n$product = Remittance::create($options);\n\n$product-\u003ecreateApiUser(); //{\"statusCode\": 201}\n\n```\n\n#### GET API User Details\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n// Using collection\n$product = Collection::create($options);\n\n// Using disbursement\n$product = Disbursement::create($options);\n\n// Using remittance\n$product = Remittance::create($options);\n\n$apiUser = $product-\u003egetApiUser();\n$apiUser-\u003egetProviderCallbackHost(); //http://localhost:8000\n$apiUser-\u003egetTargetEnvironment(); //sandbox\n\n```\n\n#### Create API Key\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n// Using collection\n$product = Collection::create($options);\n\n// Using disbursement\n$product = Disbursement::create($options);\n\n// Using remittance\n$product = Remittance::create($options);\n\n$apiKey = $product-\u003ecreateApiKey();\n$apiKey-\u003egetApiKey(); //apiKey\n\n```\n\n### Oauth 2.0\n#### Get token\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n// Using collection\n$product = Collection::create($options);\n\n// Using disbursement\n$product = Disbursement::create($options);\n\n// Using remittance\n$product = Remittance::create($options);\n\n$token = $product-\u003egetToken();\n$token-\u003egetAccessToken(); //accessToken\n$token-\u003egetTokenType(); //tokenType\n$token-\u003egetExpiresIn(); //expiry in seconds\n\n```\n\n### Transactions\n#### Get account balance\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n// Using collection\n$product = Collection::create($options);\n\n// Using disbursement\n$product = Disbursement::create($options);\n\n// Using remittance\n$product = Remittance::create($options);\n\n$balance = $product-\u003egetAccountBalance();\n$balance-\u003egetAvailableBalance(); //accountBalance\n$balance-\u003egetCurrency(); //currency\n\n```\n#### Get account holder status\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n// Using collection\n$product = Collection::create($options);\n\n// Using disbursement\n$product = Disbursement::create($options);\n\n// Using remittance\n$product = Remittance::create($options);\n\n$product-\u003egetAccountHolderInfo($accountHolderId); //{\"statusCode\": 201}\n\n```\n\n### Collections\n#### Request to pay\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\n\n// Using collection\n$product = Collection::create($options);\n\n$product-\u003erequestToPay($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = ''); // {\"statusCode\": 200, \"financialTransactionId\": \"8f3077a6-ce43-4584-a425-589c50cfcbe4\"}\n\n```\n#### Request to pay status\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Collection;\n\n// Using collection\n$product = Collection::create($options);\n\n$transactionStatus = $product-\u003egetRequestToPayStatus($financialTransactionId);\n$transactionStatus-\u003egetAmount(); //amount\n$transactionStatus-\u003egetCurrency(); //currency\n$transactionStatus-\u003egetExternalId(); //externalId\n$transactionStatus-\u003egetPayer(); //payer object\n$transactionStatus-\u003egetStatus(); //status\n\n```\n### Disbursements and Remittances\n#### Transfer\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n// Using disbursement\n$product = Disbursement::create($options);\n\n// Using remittance\n$product = Remittance::create($options);\n\n$product-\u003etransfer($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = '');// {\"statusCode\": 200, \"financialTransactionId\": \"8f3077a6-ce43-4584-a425-589c50cfcbe4\"}\n\n```\n#### Transfer status\n```php\n\u003c?php\nuse FannyPack\\Momo\\Products\\Disbursement;\nuse FannyPack\\Momo\\Products\\Remittance;\n\n// Using disbursement\n$product = Disbursement::create($options);\n\n// Using remittance\n$product = Remittance::create($options);\n\n$transactionStatus = $product-\u003etransferStatus($financialTransactionId);\n$transactionStatus-\u003egetAmount(); //amount\n$transactionStatus-\u003egetCurrency(); //currency\n$transactionStatus-\u003egetExternalId(); //externalId\n$transactionStatus-\u003egetPayer(); //payer object\n$transactionStatus-\u003egetStatus(); //status\n\n```\n\n### Bugs\nFor any bugs found, please email me at andrewmvp007@gmail.com or register an issue at [issues](https://github.com/mpaannddreew/momo/issues)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpaannddreew%2Fmomo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpaannddreew%2Fmomo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpaannddreew%2Fmomo/lists"}