Home / Issuing / Quick Start Templates



A Payroll Card Product is a prepaid card that allows employees to receive their paychecks directly from their employer. These are typically a more convenient, less expensive, and safer digital alternative to paper checks. Once a payroll card is issued to employees, they can use it to make purchases anywhere a debit card is accepted, withdraw cash, and even make automatic bill payments.

A Payroll Card Product enables you to issue a prepaid payment card funded by the employer directly on payday, giving employees fast and flexible access to their wages. Payroll cards are reloadable and funded via ACH/Direct Deposit from the employer. These payroll cards may be Virtual Cards available on your app or website, tokenized cards on Digital Wallets such as Apple Pay, or Physical Cards mailed to the Account Holder. You can create Physical Card orders individually or in bulk with Highnote's group shipping feature.

Create a Payroll Card Product

In the Test Environment, you can create a Payroll Card Product from the Highnote Dashboard or with the CreateCardProduct mutation in the Highnote GraphQL API:

Create an Account Holder - Person

Account Holders (Person) must have US-based addresses and identification documents.

Payment Cards are issued to Account Holders. Once you have a Card Product, you must create Account Holders to issue Payment Cards.

For issuing Payment Cards to a Business rather than a Person, see "Create an Account Holder."

Use the following mutation to create a US Person Account Holder:

Open an Application

Once you have created an account holder, you can open an application to onboard them to your card product.

Opening an application triggers the Know Your Customer (KYC) or Know Your Business (KYB) identity verification processes required for your card product. Identity verification must pass to onboard the account holder. To create the application, you must have the cardProductId and primaryAuthorizedPersonId.

Upon opening an application, it will enter a PENDING state. This indicates that the application is under review and the necessary KYC or KYB checks are being conducted for the account holder. Note that you can have only one application open for a specific card product and account holder at any given time.

Capturing Consent

Prior to submitting an application, the account holder must review and accept the mandatory terms and conditions, along with any relevant disclosures for the card product (for example, the Cardholder Agreement). Consent from the account holder is required before opening an application and must include the following elements:

  • Who is consenting: primaryAuthorizedPerson
  • What they are consenting to: cardProductID
  • When they consented: consentTimestamp

To create an account holder application, use the following mutation:

Issue a Financial Account

Financial Accounts hold the balance for Payment Cards. To create a new Financial Account, pass the ID of a verified Application using the following mutation:

Display account and routing number

Financial accounts with the DIRECT_DEPOSIT feature have an associated account and routing number used for funds movements originating outside of Highnote.

To display the account and routing number, you can fetch them from the API by generating a Client Token and using that token to view the restricted details.


Use the following query to view direct deposit information:

Simulate Adding Funds with Non-Originated ACH

Warning: The Highnote test environment allows you to freely explore the platform features and functionality. It is intended for experimenting, building integrations, and training your team.

To ensure the security of your real-world data, please refrain from entering production data into the test environment. Production data includes sensitive information like customer details, financial data, or personally identifiable information (PII).

Use only dummy or test data explicitly created for testing purposes in the test environment.

Using a financialAccountId, you can simulate a non-originated ACH transfer from an external bank account into a Highnote financial account. These transfers do not require you to connect an external bank account, as they originate from the external bank, not the account holder's financial account.

To simulate a non-originated ACH transfer in the Test Environment, use the following mutation:

Issue a Payment Card

After creating and funding a financial account, you can issue a payment card to the account holder. All payment cards start as virtual cards with the option of ordering them as physical cards.

For more information on issuing cards, see the Issue Cards guide.

Create physical card order

Note: You can only submit one order for a given payment card. If the order is canceled or fails, you can retry the order for the same card. However, if an order is successful and you need another physical card, you will need to issue a new payment card.

Once you have issued a payment card, you can create an order for a physical card. When ordering a physical card, you can ship to the account holder's address on file or specify a different shipping address.

Physical card orders require:

  • Card personalization details
  • Shipping address
  • Requested ship date
  • Shipping method and signature requirements

You can create individual physical card orders using the following mutation. To create a group card order, see Print Cards in Bulk.

Display Payment Card Data

Selecting the number or cvv fields requires that you are PCI compliant.

Highnote recommends using the Card Viewer SDK to securely display payment card data and and reduce PCI burden.

To display an account holder's primary account number (PAN) and security code (CVV), you can use the API to fetch them using the following query:

Expand your Integration

Once you've completed the basics of setting up your card product, you can expand and test your integration further:

Provide Feedback

Was this content helpful?