{"id":28577515,"url":"https://github.com/mastercard/open-banking-reference-application-australia","last_synced_at":"2026-04-25T11:33:47.255Z","repository":{"id":229831711,"uuid":"764606272","full_name":"Mastercard/open-banking-reference-application-australia","owner":"Mastercard","description":"Open Banking reference app is a sample app to Mastercard's Open Banking APIs for Australia region.","archived":false,"fork":false,"pushed_at":"2024-09-30T11:23:06.000Z","size":2934,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-11T00:48:50.116Z","etag":null,"topics":["github-actions","mastercard","openbanking","sonarcloud"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mastercard.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-28T11:40:33.000Z","updated_at":"2024-09-30T11:23:10.000Z","dependencies_parsed_at":"2024-03-26T14:25:59.516Z","dependency_job_id":"27b7edbc-aa0a-4b19-83bb-9663a92518c3","html_url":"https://github.com/Mastercard/open-banking-reference-application-australia","commit_stats":null,"previous_names":["mastercard/open-banking-reference-application-australia"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Mastercard/open-banking-reference-application-australia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fopen-banking-reference-application-australia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fopen-banking-reference-application-australia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fopen-banking-reference-application-australia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fopen-banking-reference-application-australia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mastercard","download_url":"https://codeload.github.com/Mastercard/open-banking-reference-application-australia/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fopen-banking-reference-application-australia/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32261116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["github-actions","mastercard","openbanking","sonarcloud"],"created_at":"2025-06-11T00:38:03.807Z","updated_at":"2026-04-25T11:33:42.248Z","avatar_url":"https://github.com/Mastercard.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open Banking Reference Application Australia\n\n[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-orange.svg)](https://sonarcloud.io/summary/new_code?id=Mastercard_open-banking-reference-application-australia)\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Mastercard_open-banking-reference-application-australia\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=Mastercard_open-banking-reference-application-australia)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=Mastercard_open-banking-reference-application-australia\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=Mastercard_open-banking-reference-application-australia)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=Mastercard_open-banking-reference-application-australia\u0026metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=Mastercard_open-banking-reference-application-australia)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=Mastercard_open-banking-reference-application-australia\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=Mastercard_open-banking-reference-application-australia)\n\n## Table of Contents\n\n-   [Overview](#overview)\n    -   [Connect \u0026 Consent](#connect-and-consent)\n    -   [References](#references)\n-   [Set up](#set-up)\n    -   [Compatibility](#compatibility)\n    -   [Installation](#Installation)\n    -   [Test](#test)\n-   [Demo](#demo)\n    1. [Generate your credentials](#1-generate-your-credentials)\n    2. [Add credentials to the .env file](#2-add-credentials-to-the-env-file)\n    3. [Setup and run the application](#3-setup-and-run-the-application)\n    4. [Create your first customer](#4-create-your-first-customer)\n    5. [Add a bank account to customer](#5-add-a-bank-account-to-customer)\n    6. [Pull account information](#6-pull-account-information)\n    7. [Explore usecases](#7-usecases)\n-   [Hosting Reference App](#hosting-reference-app)\n-   [Contact Us](#contact-us)\n\n## Overview\n\nThe Open Banking Reference App allows you to explore [Mastercard's Open Banking Service (MOBS) For Australia](https://developer.mastercard.com/open-banking-au/documentation/) to incorporate it into your product. This application allows you to:\n\n-   Create test customers\n-   Obtain consent to access test accounts data\n-   Retrieve the data from the shared accounts\n-   Explore the solutions offered by Mastercard Open Banking\n\n\u003e **IMPORTANT**: Please note that applications accessing the Mastercard Open Banking APIs must be hosted within Australia.\n\n### Connect and Consent\n\nThe Reference App includes a launch of [Connect](https://developer.mastercard.com/open-banking-au/documentation/connect/) - a MOBS product which facilitates the collection of consent from an end user (customer) to access their financial data.\n[Consent](https://developer.mastercard.com/open-banking-au/documentation/consent/) is required by CDR regulation in Australia to get access to the consumer’s financial data. Integrating Connect with your product will streamline the process of obtaining consent while following the compliance rules. After consent is given, the Reference App shows how the consent receipt ID can be fetched in order to make further calls to FIs.\n\n### References\n\n-   [Test profiles](https://developer.mastercard.com/open-banking-au/documentation/test-the-apis/)\n-   [API Reference](https://developer.mastercard.com/open-banking-au/documentation/api-reference/)\n-   [Connect SDK](https://developer.mastercard.com/open-banking-au/documentation/connect/integrating-with-connect/)\n\n## Set up\n\n### Compatibility\n\n-   **Node (v14+)**\n-   **React (v18.3.1)**\n\nThis application is built using the React framework. React requires Node version 14+.\nHowever, It is recommended that you use one of NodeJS's LTS releases or one of the [more general recent releases](https://github.com/nodejs/Release). A Node version manager such as [nvm](https://github.com/creationix/nvm) (Mac and Linux) or [nvm-windows](https://github.com/coreybutler/nvm-windows) can help with this.\n\n### Installation\n\nBefore using the Reference App, you will need to set up a project in the local machine.\nThe following commands will help you to get the latest code:\n\n```shell\ngit clone https://github.com/Mastercard/open-banking-reference-application-australia.git\n\ncd open-banking-reference-application-australia\n```\n\n### Test\n\nYou can run the following command to execute the test cases against the latest version of the Reference App:\n\n```shell\nnpm run test\n```\n\n![landing page](docs/test_case_result.png)\n\n## Demo\n\n### 1. Generate your credentials\n\n-   Login to the [Mastercard developer's portal](https://developer.mastercard.com/product/open-banking/)\n-   Log in and click the **Create New Project** button at the top left of the page.\n-   Enter your project name and select Open Banking as the API service, then click on the **Proceed** button.\n-   Select **Australia** in the Commercial Countries drop down list, and click on the **Proceed** button.\n-   Enter a description of your project on the next page, and click on the **Create Project** button.\n-   Take note of your Partner ID, Partner Secret and App Key. These will be required in the following sections.\n\nFor more details see [Onboarding](https://developer.mastercard.com/open-banking-au/documentation/onboarding/).\n\n![Alt Text](https://static.developer.mastercard.com/content/open-banking-au/uploads/openbanking-dashboard-new.png)\n\n### 2. Add credentials to the .env file\n\nThe Open Banking Reference App needs Sandbox API credentials adding to the `.env` file to make the API calls:\n\n1. Create the `.env` file.\n    ```shell\n     cp .env.template .env\n    ```\n2. Update the `.env` file with your Sandbox API credentials generated in step 1.\n3. The default value of `REACT_APP_AUTO_CREATE_CUSTOMER` is set to `false`. If the customer creation needs to be initated automatically then the value should be set to `true`\n\n### 3. Setup and Run the application\n\n-   ##### Run without docker\n\n    The following command will install the required depdendancies on your machine. (This command should be executed during the initial setup)\n\n    ```\n    npm i\n    ```\n\n    Execute the following command to start the Reference App:\n\n    ```shell\n    npm start\n    ```\n\n-   ##### Run with docker\n\n    **Pre-requisites** - Docker installed and running on your machine: https://docs.docker.com/get-docker/\n\n    The followind command will create the docker image of the application and will start the application.\n\n    ```\n    docker compose up\n    ```\n\n    Launch the web browser and navigate to http://localhost:4000 to view the application.\n\n    **Note:** To update the docker image for the reference application, execute the command `docker compose build`, followed by `docker compose up` to run application.\n\nWhen the application is launched in a browser, it prompts either to proceed with demo or go to GitHub. Select **View Demo**.\nThis will redirect you to the first step of the user flow.\n\n![landing page](docs/landing-page.png)\n\n### 4. Create your first customer\n\n-   To access any financial data, first you need to create a customer.\n    -   This can be done either manually or automatically, depending on `REACT_APP_AUTO_CREATE_CUSTOMER` flag value in the `.env` file.\n        If `REACT_APP_AUTO_CREATE_CUSTOMER` is set to `false`, application will prompt you to provide a unique identifier for the customer. To proceed further, select **Next**.\n\n![create customer page](docs/create-customer.png)\n\nIf the `REACT_APP_AUTO_CREATE_CUSTOMER` is set to `true` then the customer will be created automatically.\n\n![create customer automatic page](docs/create-customer-auto.png)\n\n### 5. Add a bank account to customer\n\nNow that you have a **Customer ID**, the next step is to add a bank account. The screen lists a name of the Financial Institution and credentials to use during Connect flow.\nTo start, select **Connect Bank Account**:\n\n![add bank account page](docs/add-bank-account.png)\n\nThis flow is a simulation of what a customer will see when consenting to share their financial data with you.\nIn Connect flow:\n\n1. Search for **Finbank Aus OAuth**.\n2. Check all boxes, and then click **I consent**.\n3. Click **Next**.\n4. Type profile_4100 and profile_4100 when asked for a username and password.\n5. Select all accounts, and then click Submit/Continue.\n6. Click **Submit** to receive the customer’s consent.\n\n![connect flow finbank](docs/account-consent-workflow.png)\n\nWhen the consent to access accounts is successfully obtained and Connect is closed,\nthe Reference App is now ready to access the consented accounts.\n\n### 6. Pull account information\n\nAt this point having customer ID and consent receipt ID allows you to retrieve the financial data from consented accounts. The Reference App shows examples of how to retrieve following data elements with the help of Mastercard open banking API's:\n\n1. Account ID\n2. Account name\n3. Account type\n4. Balance\n5. Currency\n\n![account information page](docs/account-information.png)\n\n### 7. Usecases\n\nThe use cases section provides you with an overview of the different solutions offered by Mastercard Open Banking.\n\n-   **Lend**\n    -   Investigate the ways of generating and obtaining the lending reports, including Verification of Assets, Verification of Income and Cash Flow Report. MOBS solution allows you to obtain these reports in  \n        both PDF and JSON format.\n\n![lend](docs/lend.png)\n\n-   **Manage**\n    -   Lean how to request the transaction details for a particular account and data it contains.\n\n![manage](docs/manage.png)\n\n-   **Pay**\n    -   Discover how to obtain the key elements of the customers account required to initiate a payment, such as BSB number and available balance.\n\n![pay](docs/pay_money_transfer_details.png)\n\n![pay2](docs/pay_available_balance.png)\n\n![pay3](docs/pay_account_owner_details.png)\n\n## Hosting Reference App\n\nTo host the Reference App on your server, run the following command to create the application build:\n\n```\nnpm run build\n```\n\nRefer to the below code snippet for creating an [express](https://www.npmjs.com/package/express) application. Note, that to handling proxy requests to MOBS APIs, we are using [http-proxy-middleware](https://www.npmjs.com/package/http-proxy-middleware). Alternatively, you can set up your proxy server for managing CORS (cross-origin-resource-sharing).\n\n```\nconst express = require('express');\nconst {createProxyMiddleware} = require('http-proxy-middleware');\nconst app = express();\nconst port = process.env.PORT || 4000;\n\napp.use(express.static('build'));\napp.use(\n    ['/aggregation', '/notifications', '/connect', '/decisioning'],\n    createProxyMiddleware({\n        target: 'https://api.openbanking.mastercard.com.au/',\n        changeOrigin: true,\n    })\n);\napp.use(\n    '/token',\n    createProxyMiddleware({\n        target: 'https://webhook.site/',\n        changeOrigin: true,\n    })\n);\n\napp.listen(port, () =\u003e {\n  console.log(`Example app listening on port ${port}`);\n});\n```\n\n## Contact Us\n\nHave issues or concerns regarding the application?\nPlease create an issue in the GitHub and our team will try to address the issue as soon as possible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmastercard%2Fopen-banking-reference-application-australia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmastercard%2Fopen-banking-reference-application-australia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmastercard%2Fopen-banking-reference-application-australia/lists"}