Link to deployed version of this app
Note: This application uses service workers via MSW (Mock Service Worker). Be aware that service workers can become stale in Chromium based browsers such as Chrome, which may require a page reload to ensure the service worker is active.
Embedded Finance allows you to add a full range of finance features to your online experience. This showcase is a collection of code samples highlighting how to connect and use Embedded Finance APIs.
You can:
- Spin-up a sample application with UI that demonstrates the main use case for each endpoint. For example, making a transaction.
- Explore the API resources using a Postman Collection.
- Register as a developer and use the showcase application to send requests to live endpoints in our external UAT environment. You must set up SSL authentication for this option.
There are three main directories for you to access:
/appfor the showcase UI and server experience./postmanfor the Postman Collection./embedded-finance-sdkfor the Embedded Finance SDK/embedded-componentsfor the Embedded UI Components
A TS/JS application with a client and server used to demonstrate how to integrate with our APIs on frontend applications.
All your actions on this application are served by mock data included in the app codebase.
Get straight to the API endpoints in action, make calls and see responses. To use the Postman collection, import the collection file to Postman and follow the included setup instructions to access all possible calls to the Embedded Finance API. You will need certificates to run these calls.
Embedded Finance SDK provides a set of tools to validate payment data based on the given country, handle complex conditional logic, and ensure a smooth implementation of UI. Currently published to NPM as @jpmorgan-payments/embedded-finance-sdk
This is the core UI application written in TS/JS with the React framework. This application illustrates the various capabilities of Embedded Finance, using mocked responses stored within the codebase.
Such capabilities include:
- Making payments.
- Requesting a debit card.
- Adding a recipient. A recipient is someone you can make a payment to.
- Checking an account balance.
- Authenticating with ForgeRock using forgerock-javascript-sdk
- To test this locally, you will need to define
VITE_FR_URLandVITE_FR_CLIENTin./app/client/.env
- To test this locally, you will need to define
Check out the features directory to explore the the components and hooks that explore these features.
If you would like to hit the API's using your own credentials you will need to run this codebase following the instructions within the readme. This code allows you to hit J.P. Morgan UAT APIs.
Install and run a TS/JS application with a client and server used to demonstrate how to integrate with our APIs on frontend applications.
This example requires Yarn.
To start our client code with mocked responses:
-
Clone this repo
-
Install the
clientfolder:
cd app
cd client
yarn install
- Start the UI:
yarn start
- Open a browser and navigate to the locally deployed app using the URL provided in the command line. Usually
localhost:3000.
You have deployed the showcase Embedded Finance app. Follow the onscreen instructions to explore the finance functionality available.
If you are interested in going further with Embedded Finance APIs, you can join the developer community at J.P. Morgan, and get access to the UAT environment.
This process can take a few days, and in order to make calls to the UAT, you must provide some SSL certificates.
To register as a developer with J.P. Morgan's APIs, visit developer.payments.jpmorgan.com.
Once you have completed onboarding, and you have the correct certificate files ready, you can upload them to your server.
Warning Do not commit certificate files to your codebase. They must be stored on your server.
- Create a folder called, for example,
certsthat is included in.gitignore. - Add your certificate files in the new folder.
- Open
server.jsand check that the below lines match where your certs are:
agent: new https.Agent({
key: fs.readFileSync('certs/jpmc.key'),
cert: fs.readFileSync('certs/jpmc.crt'),
passphrase: process.env.PASSPHRASE,
rejectUnauthorized: false,
}),- If your SSL certs have a passphrase create a
.env.localfile and include it here, otherwise delete this line. - Inside your Embedded Finance project, run:
cd server
yarn install
yarn startYou can now send API calls to the Embedded Finance CAT environment.