Creating Accounts via the Enrollment Plugin
Learn when and how to create the different account types via the enrollment plugin
Payload accounts can be useful actors in your orchestration layer. Payers and recipients can be modeled as an Account. This guide covers how to create processing accounts using the Enrollment Plugin, including when to use it and how to configure it for your onboarding flow.
Currently only processing accounts are supported for onboarding via the enrollment plugin. If you're looking to onboard customer accounts, see our guide on Creating Accounts via the Accounts API. Support for other account types in the enrollment plugin will be supported in a future update.
Prerequisites
Before writing any code, it’s helpful to learn about the following topics.
How to use accounts and pick the right type
Learn the difference between customer, processing, and generic account types, and when to use each type.
Learn when to use entities to verify
Learn when to include entity information with an account for higher-risk payments, KYC and regulatory requirements.
When to use the Enrollment Plugin
Create processing accounts via the enrollment plugin when you need an embedded onboarding flow inside your application. By using the plugin, compliance, consent, and other legal requirements are handled automatically and abstracted away.
Use the enrollment plugin when you want a turnkey, compliant, and low-code way to onboard processing accounts without handling sensitive data, terms presentation, or regulatory flow logic yourself. The plugin ensures the submitter is shown and agrees to all required terms, captures attestations, and collects sensitive information directly within a hosted, PCI-compliant environment—removing that responsibility from your application.
Common use cases
- You want an embedded onboarding flow inside your application (iframe or inline widget) rather than redirecting users to a standalone enrollment link
- You want a consistent, compliant UX across web, mobile, and low-code platforms
- You don’t want to handle sensitive identity, business, or financial data directly
Usage
There are two steps to using the plugin: creating an intent and passing that to the plugin on the front end.
The examples below show both steps in two different form factors.
This example shows the steps to setting up the plugin as a modal overlay and capturing the result.
- Create intent token with
type='account_enrollment_plugin'and provide the token value to the front-end - Use the token to launch the
EnrollmentPluginon the front-end - Use the
onSuccess(evt)listener to capture the ID of a newly onboarded account
This pattern will create a full processing account via the plugin and initiates the KYC process. To monitor the results of the KYC process, subscribe to the related webhook trigger.
This example shows the steps to setting up the plugin as an inline form embedded directly in your page.
- Create intent token with
type='account_enrollment_plugin'and provide the token value to the front-end - Use the token to mount the inline form using
inline: trueand specify a container - Use the
onSuccess(evt)listener to capture the ID of a newly onboarded account
This pattern will create a full processing account via the plugin and initiates the KYC process. To monitor the results of the KYC process, subscribe to the related webhook trigger.
Enrollment Plugin Options
The Intent schema defines the structure and properties of intent objects in the Payload API. Intents represent various types of user interactions and requests, including checkout links, payment forms, enrollment links, and more.
Intent Options
Available fields that can be used when creating the intent object
account_enrollment_pluginaccount_templateentitycountryCA, USlegal_nametypebusiness, individualidpayment_methodstypeprocessingPlugin Options
Available fields that can be used when setting up the enrollment plugin on the front-end
hide_fee_scheduleinlinecontainerNext Steps
Configure payment routing, monitor KYC results, and build payment flows
Configure Processing Settings and Monitor Onboarding
Set up Processing Settings to configure payment routing and processing preferences, monitor identity verification with KYC Results, subscribe to Webhook Events for account and KYC status updates, and review Processing Accounts Overview to understand processing account capabilities.
Create Payment Flows for Merchants
Accept payments on behalf of processing accounts with Creating Payment Intents, store and manage customer payment methods using Payment Methods, and send payouts to processing accounts with Creating Transfers.
Build Reporting and Reconciliation
Track enrollment and payment metrics with Reporting Overview, create custom reports using Building Report Queries, and monitor payment activity with Transaction Reports for financial reconciliation.
Explore Alternative Onboarding Methods
Generate shareable enrollment URLs with Enrollment Link for email or SMS distribution, or use Accounts API for full programmatic control over account creation and onboarding workflows.