Core concepts
Payments as an embedded solution
Embedded Payments is a solution for managing money and paying out to clients on your platform or any external counterparty.
It’s embedded both within the flow of funds through your business, and can be embedded in the user experience of your platform.
Clients
An Embedded Payments client is any participant in your platform who you need to manage money for, and pay out to. You need to onboard clients using the /clients resource. This process may involve some interaction from your client as you may need to provide additional information. Your client also needs to:
- Provide information used for verificaction and due diligence checks carried out during onboarding.
- Affirm they have read and understood the terms and conditions of Embedded Payments.
- Receive and verify client documents and IDs required to set up bank accounts.
Parties and clients
A client is usually a representation of an organization or business who operates on your platform. Even if the client is a Sole proprietor, they are considered to be a business for onboarding. This means that each client must also have a Party - at least one - who can represent the organization. A party is always an individual, and they must hold a specific role in the client's business.
Required information for clients
When you create a client, you can provide the following information:
Required Data |
Field |
Comments |
Legal Name |
|
|
Doing Business As |
|
Required if operating with a DBA |
Organization Type |
|
|
Business Description |
|
|
Address |
|
|
Country of Formation / Incorporation |
|
|
Year of Formation |
|
|
Industry Category |
|
Must provide category and type or NAICS code |
Industry Type |
|
Must provide category and type or NAICS code |
Industry NAICS Code |
|
Must provide category and type or NAICS code |
Tax ID |
|
|
Phone |
|
|
Website |
|
Optional |
|
Optional |
Required information for parties
Each party you create can have the following information:
Required Data |
Field |
Comments |
Name |
|
|
Date of Birth |
|
|
Address |
|
|
Country of Residence |
|
|
ID Number and Type |
|
|
Job Title |
|
|
Phone |
|
|
|
Accounts
Embedded Payments supports multiple account types, selected based on your platform’s use case and the access you want your client to have. The primary options are Limited accounts (Limited DDAs) and Transaction accounts (virtual accounts). J.P Morgan also creates operational accounts for platforms that are automatically setup to ensure exception handling and reconciliation are captured consistently.
Limited accounts
If you are onboarding a client, you can create a limited account for them. This is a bank account from J.P. Morgan, which has limited access and limited capabilities from your client's perspective.
You can:
- Move money into this account.
- Choose to show the balance of this account to your client from within your platform.
- Trigger payments from this account into your client’s chosen linked account or an registered external account.
Use the /accounts resource to create your client's account.
Transaction account
If your platform is not onboarding clients you can create a virtual transaction account to initiate payouts and collect payments owed and settled to various external parties. These virtual accounts offer a flexible and scalable sub-ledgering system under a single physical Demand Deposit Account (DDA). You can create multiple transaction accounts and structure them to fit your business needs.
Platform’s operational account
Platform operational accounts are standard virtual accounts automatically created during setup. These accounts are always present, follow a fixed naming convention, and are included in notifications, reporting and API queries for easy access to balances and transaction details.
DDA (Demand Deposit Account) treasury account : Platform owners have access to a DDA (Demand Deposit Account) treasury account outside their program structure. This allows platforms to fund processing, management, LIMITED_DDA or LIMITED_DDA_PAYMENTS accounts or make payouts from processing or management accounts to their treasury accounts with J.P. Morgan. With the API, you can check the details of this account, but not the balance.
Within the platform's program structure, the following accounts can be created for platform owners:
- Processing account: Allows platform owners to receive funds directly from merchant acquirers or other platform-level J.P. Morgan accounts. Use this account to process settlements and allocate funds to platform clients, or to consolidate client funds and make payouts to external parties on their behalf.
- Management account: Manage funds owed to you, such as commissions, platform fees, or other funds due to the platform. These accounts are optional and configured based on your needs.
- Offset account: An Offset account serves as a collateral account. Move funds to and from the treasury account to cover any negative balances in processing accounts or limited acess accounts. This helps you manage negative balances and prevent transaction rejection for chargebacks, refunds, reversals, or returns. There are two types of Offset accounts:
- Processing offset account: Covers negative balances in your processing accounts.
- Client offset account: Covers negative balances in your clients' limited accounts.
- Default account (only for platforms not onboarding clients): Default account is used to manage funds requiring special handling (such as reconciliation adjustments, returned payments and deposits not linked to a specific virtual account) and the platform has full access to funds in this account.
External accounts
Use /recipients resource to register external bank accounts for different purposes within Embedded Payments. These recipients are also known as payees in the context of a payout.
There are three recipient types supported by this resource: LINKED_ACCOUNT, RECIPIENT and SETTLEMENT_ACCOUNT. Each type serves a distinct role depending on who owns the account, which Embedded Payments account type is involved and the direction of funds.
LINKED_ACCOUNT (Your client's verified external bank account)
A linked account is an external bank account that belongs to your client. It is a validated account associated with your client's profile.
When you add a linked account using POST /recipients with type: "LINKED_ACCOUNT", the name and account details are checked using an Account Validation Service (AVS). This check ensures the account belongs to the named party and that it can receive payments.
RECIPIENT (External third-party payees)
The RECIPIENT type allows your client to make business-related payments to external parties from their LIMITED_DDA_PAYMENTS account. Unlike linked accounts, third-party recipient bank accounts are not subject to the same AVS ownership verification process. Clients cannot pay to a RECIPIENT from a LIMITED_DDA account.
SETTLEMENT_ACCOUNT (For platform-level bulk payouts and collections)
The SETTLEMENT_ACCOUNT type is the exclusive method for platforms to register recipients for bulk payouts or collections. This type is used when making payouts to the platform's own accounts or to an external party on behalf of a client, and equally when collecting funds from a platform account or from an external party for a client.
Account routing details
Embedded Finance bank accounts have J.P. Morgan routing numbers.
Where payments are permitted into any Processing Account, Management Account, or DDA; use the following routing numbers:
- ACH payments - 028000024
- Wire transfers - 021000021
Make payments
When the time is right for you to make a payment, you use the /transactions resource to move money from Embedded Payments account to your own account or any external party.
If you chose, you can create an experience within your platform for your client to trigger the payout. Or you can make the payment when it best suits your business process.
Personas for testing and learning
Depending on your business type, you may have very different clients with different sized businesses using your Embedded Payments implementation. When you're testing your implementation, and trying out the API, it might be useful to use these personas who represent different business operators.
Limited Liability Corporation Persona
The Following Persona is to be used to represent a Limited Liability Company: Fairy Tale Book Shop.
Fairy Tale Book Shop is a small business that has been operating a bookstore for over 30 years. Recently the store has decided to explore an ecommerce strategy by enlisting on an online marketplace. This marketplace is operated by a national retailer and the shop hopes to expand their business to a larger market beyond the small storefront they operate today.
Marketplace Participant
- Legal Name: Fairy Tale Book Shop
- Doing Business: As FT Books
- Organization Type: Limited Liability Company (LLC)
- Business Description: Step into a world of stories and imagination
- Address: 2029 Century Park E, Los Angeles, CA 90067
- Country of Formation / Incorporation: US
- Year of Formation:1989
- Industry Category: Sporting Goods, Hobby, Musical Instrument, and Book Stores
- Industry Type: Book Retailers and News Dealers
- EIN: 300030003
- Phone: 7606810558
- Website: https://fairytalebooks500.com
- Email: info@fairytalebooks.com
Controller:
- Name: Peiter Pan
- Date of Birth: 1945-01-30
- Address: 2029 Century Park E, Los Angeles, CA 90067
- Country of Residence: US
- SSN: 300040004
- Job Title: CFO
- Phone:7606810558
- Email: Peiter@fairytalebooks500.com
Beneficial owner:
- Name: Tinker Ball
- Date of Birth: 1969-08-18
- Address: 3223 Hanover St, Palo Alto, CA 94304
- Country of Residence: US
- SSN: 300050005
- Job Title: CEO
- Phone: 6503532444
- Email: Tinker@fairytalebooks500.com
External bank account:
- Business Name: Fairy Tale Book Shop
- Account Type: Checking
- Routing number:122199983
- Account number: 93993289375
Sole proprietor persona
The following persona can be used to represent a Sole Proprietor: Wendy Bird
Wendy Bird is an elementary school teacher who is looking to earn some additional income. She decides to list her home on a short-term rental marketplace on the weekends while staying with her parents. Wendy has not registered as a business as she is still testing the potential earnings, she operates as a sole proprietor under her own name and SSN.
Marketplace Participant
- Legal Name: Wendy Bird
- Doing Business As: N/A
- Organization Type: Sole Proprietorship
- Business Description: Relax, unwind and experience the comforting charm of our apartment
- Address: 90 Bedford Street, Apt 2E, New York, NY, 10014
- Country of Formation / Incorporation: US
- Year of Formation: 1964
- Industry Category: Accommodation and Food Services
- Industry Type: All Other Traveler Accommodation
- Tax ID-SSN: 000000001
- Phone: 2126215110
- Website: N/A
- Email: Wendybird@ggmail.com
Controller
- Name: Wendy Bird
- Date of Birth: 1990-10-09
- Address: 90 Bedford Street, Apt 2E, New York, NY, 10014
- Country of Residence: US
- SSN: 000000001
- Job Title: CEO
- Phone: 2126215110
- Email: Wendybird@ggmail.com
Beneficial owner
- Name: Wendy Bird
- Date of Birth: 1990-10-09
- Address: 90 Bedford Street, Apt 2E, New York, NY, 10014
- Country of Residence: US
- SSN: 000000001
- Job Title: CEO
- Phone: 2126215110
- Email: Wendybird@ggmail.com
External bank account
- Individual Name: Wendy Bird
- Account Type: Checking
- Routing number: 722166625
- Account number: 111285162118
- Micro-deposit amounts: $0.07, $0.08
Next steps
Take a look at how to onboard your clients onto Embedded Payments.