{"id":25144536,"url":"https://github.com/openmf/payment-hub","last_synced_at":"2025-04-28T11:22:23.579Z","repository":{"id":46568458,"uuid":"158306114","full_name":"openMF/payment-hub","owner":"openMF","description":"Repository for the payment hub for integration with external payment platforms like Mojaloop","archived":false,"fork":false,"pushed_at":"2023-12-15T05:54:09.000Z","size":213,"stargazers_count":19,"open_issues_count":79,"forks_count":33,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-04-16T12:03:05.865Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openMF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-20T00:05:15.000Z","updated_at":"2024-04-16T12:03:05.866Z","dependencies_parsed_at":"2023-01-26T04:30:37.948Z","dependency_job_id":null,"html_url":"https://github.com/openMF/payment-hub","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openMF%2Fpayment-hub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openMF%2Fpayment-hub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openMF%2Fpayment-hub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openMF%2Fpayment-hub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openMF","download_url":"https://codeload.github.com/openMF/payment-hub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237863974,"owners_count":19378257,"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":[],"created_at":"2025-02-08T19:46:41.452Z","updated_at":"2025-02-08T19:46:41.933Z","avatar_url":"https://github.com/openMF.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# payment-hub\nRepository to house the payment hub for integration with external payment schemas like Mojaloop, GSMA and MTN Uganda.\n\nPayment Hub is the component, which connects DFSPs to switches. In our case, it connects Fineract CN to Mojaloop, and Fineract v1.2 to Mojaloop. The Payment Hub communicates with the Fineract versions via REST API. To support the calls and actions, both Fineract versions had to be upgraded.\n\n\n## Build\n\nPut a settings.xml into your ~/.m2 directory with the following content:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003csettings xsi:schemaLocation=\"http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd\" xmlns=\"http://maven.apache.org/SETTINGS/1.1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\u003e\n  \u003cservers\u003e\n      \u003cserver\u003e\n      \u003cusername\u003emb-gatesprojects\u003c/username\u003e\n      \u003cpassword\u003eModusBox\u003c/password\u003e\n      \u003cid\u003emodusbox-release-local\u003c/id\u003e\n    \u003c/server\u003e\n  \u003c/servers\u003e\n  \u003cprofiles\u003e\n    \u003cprofile\u003e\n      \u003crepositories\u003e\n        \u003crepository\u003e\n          \u003cid\u003ecentral\u003c/id\u003e\n          \u003cname\u003eCentral Repository\u003c/name\u003e\n          \u003curl\u003ehttp://repo.maven.apache.org/maven2\u003c/url\u003e\n          \u003clayout\u003edefault\u003c/layout\u003e\n          \u003csnapshots\u003e\u003cenabled\u003efalse\u003c/enabled\u003e\u003c/snapshots\u003e\n        \u003c/repository\u003e\n        \u003crepository\u003e\n          \u003csnapshots\u003e\u003cenabled\u003efalse\u003c/enabled\u003e\u003c/snapshots\u003e\n          \u003cid\u003emodusbox-release-local\u003c/id\u003e\n          \u003cname\u003elibs-release\u003c/name\u003e\n          \u003curl\u003ehttps://modusbox.jfrog.io/modusbox/libs-release\u003c/url\u003e\n        \u003c/repository\u003e\n      \u003c/repositories\u003e\n      \u003cpluginRepositories\u003e\n        \u003cpluginRepository\u003e\n          \u003cid\u003ecentral\u003c/id\u003e\n          \u003cname\u003eCentral Repository\u003c/name\u003e\n          \u003curl\u003ehttp://repo.maven.apache.org/maven2\u003c/url\u003e\n          \u003clayout\u003edefault\u003c/layout\u003e\n          \u003csnapshots\u003e\u003cenabled\u003efalse\u003c/enabled\u003e\u003c/snapshots\u003e\n          \u003creleases\u003e\u003cupdatePolicy\u003enever\u003c/updatePolicy\u003e\u003c/releases\u003e\n        \u003c/pluginRepository\u003e\n        \u003cpluginRepository\u003e\n          \u003csnapshots\u003e\u003cenabled\u003efalse\u003c/enabled\u003e\u003c/snapshots\u003e\n          \u003cid\u003emodusbox-plugin-release\u003c/id\u003e\n          \u003cname\u003eplugins-release\u003c/name\u003e\n          \u003curl\u003ehttps://modusbox.jfrog.io/modusbox/plugins-release\u003c/url\u003e\n        \u003c/pluginRepository\u003e\n      \u003c/pluginRepositories\u003e\n      \u003cid\u003eartifactory\u003c/id\u003e\n    \u003c/profile\u003e\n  \u003c/profiles\u003e\n  \u003cactiveProfiles\u003e\n    \u003cactiveProfile\u003eartifactory\u003c/activeProfile\u003e\n  \u003c/activeProfiles\u003e\n\u003c/settings\u003e\n```\n\nNavigate to the sources folder in the payment-hub project and run the following:\n\n    mvn clean package\n    \n## Deploy\n\nCopy the paymenthub/sources/payment-hub/target/payment-hub-1.0.0-SNAPSHOT.jar file to your working directory.\n\nCopy the application.yml file from work folder to the same working directory, and update its config. It is not included in the build jar file, to make it easily editable.\n\n\n#### FSP - Fineract 1.X settings\n    fsp-settings:\n      ilp-secret: h4on38bsDjKiat2783gnklgafikmeuu5123kpobb7jm99\n      auth:\n        profile: BASIC # NONE, BASIC, BASIC_TWOFACTOR, OAUTH, OAUTH_TWOFACTOR\n        encode: NONE # NONE, BASE64\n        login-class: hu.dpc.rt.psp.dto.fsp.LoginFineractXResponseDTO\n      headers:\n      - name: user\n        key: User\n      - name: tenant\n        key: Fineract-Platform-TenantId\n      operations: #hub -\u003e fsp\n      - name: operation-basic-settings\n        user: mifos\n        password: password\n        host: http://localhost\n        port: 8080\n      - name: auth #login\n        base: fineract-provider/api/v1/authentication\n      - name: requests\n        base: fineract-provider/api/v1/interoperation/requests\n      - name: parties\n        base: fineract-provider/api/v1/interoperation/parties\n      - name: quotes\n        base: fineract-provider/api/v1/interoperation/quotes\n      - name: transfers\n        base: fineract-provider/api/v1/interoperation/transfers\n\n\n#### FSP - Fineract CN settings\n    fsp-settings:\n      ilp-secret: llklokklsllakkskksnnqweq6665446a6sd4asdlkjaf\n      auth:\n        profile: OAUTH # NONE, BASIC, BASIC_TWOFACTOR, OAUTH, OAUTH_TWOFACTOR\n        encode: BASE64 # NONE, BASE64\n        login-class: hu.dpc.rt.psp.dto.fsp.LoginFineractCnResponseDTO\n      headers:\n      - name: user\n        key: User\n      - name: tenant\n        key: X-Tenant-Identifier\n      operations: #hub -\u003e fsp\n      - name: operation-basic-settings\n        user: interopUser\n        password: intop@d1\n        host: http://payments.dpc.hu\n        port: 80 #2034\n      - name: auth #login\n        port: 80 #2021\n        base: /identity/v1/token\n      - name: requests\n        base: /interoperation/v1/transactions\n      - name: parties\n        base: /interoperation/v1/parties\n      - name: quotes\n        base: /interoperation/v1/quotes\n      - name: transfers\n        base: /interoperation/v1/transfers\n\n#### OTT - GSMA Settings\n    ott-settings:\n      cors-enabled: true\n      apikey: u8YfSQNnNsGFAaqRm3sGShpO2ywLRJgs\n      operations: #hub -\u003e ott\n      - name: operation-basic-settings\n        host: https://sandbox.mobilemoneyapi.io/simulator/v1.0/mm\n        tenants:\n        - name: tn03\n          port: 48888\n        - name: tn04\n          port: 48889\n      - name: transactions\n        base: transactions\n      - name: accounts\n        base: accounts\n      bindings: #ott -\u003e hub\n      - name: binding-basic-settings\n        host: http://0.0.0.0\n        port: 58080\n      - name: merchantpayment # post merchant payment\n        base: merchantpayment\n      - name: transfer # post peer-to-peer transfer\n        base: transfer\n\nCurrently, the basic transaction use cases - Merchant Payment and Peer-To-Peer transfer - have been integrated with the Payment Hub.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmf%2Fpayment-hub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmf%2Fpayment-hub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmf%2Fpayment-hub/lists"}