Collect Payout Information via Enrollment Link
Learn when and how to collect payout information using enrollment links
Payouts enrollment links provide a secure, hosted experience for collecting bank account information from recipients. By generating a link, you can share a complete enrollment flow with sellers, contractors, affiliates, or any individuals who need to receive payments without building custom onboarding UI. This guide covers when to use payouts enrollment links, how to generate them, and how to track enrollment progress.
Prerequisites
Before writing any code, it's helpful to learn about the following topics.
How payment methods work
Learn how payment methods are used to store bank accounts, cards, and other payment instruments for transactions.
Learn about sending payouts
Understand how to send payouts to your sellers, contractors, and service providers once they've enrolled.
When to Use Payouts Enrollment Links
Use payouts enrollment links when you need a simple way to collect bank account information from recipients without building custom enrollment UI in your application. Payouts enrollment links are ideal when you want to share an enrollment URL via email, text, or other channels, allowing recipients to provide their payout details on a Payload-hosted page.
By using enrollment links, compliance requirements and sensitive data handling are managed automatically. The link ensures recipients are shown and agree to all required terms, captures necessary attestations, and collects banking information directly within a hosted, secure environment—removing that responsibility from your application.
Common use cases
- Email or SMS Distribution: Send enrollment links directly to recipients through email campaigns, text messages, or messaging platforms
- Minimal Development Requirements: Provide a complete enrollment experience without building custom UI or handling sensitive data in your application
- Multi-Channel Enrollment: Share a single enrollment URL across multiple channels and platforms for flexible recipient onboarding
Generating a Payouts Enrollment Link
Creating a payouts enrollment link is a two-step process: create an intent with the
payouts_enrollment_link type, then share the returned URL with the recipient.
Generate a link for a new recipient
Create a payouts enrollment link that will create a new account and payment method when completed.
This example creates an intent with:
-
type='payouts_enrollment_link'tells Payload to generate a hosted payouts enrollment page - The response includes a
urlfield containing the secure enrollment link
The response includes a url field that contains the secure enrollment link. Share this URL
with the recipient via email, SMS, or any other communication channel.
Link Expiration: Enrollment links are valid for 30 days by default. After expiration, you'll need to generate a new link. The link can only be used once successfully.
Generate a link for an existing account
If you've already created an account record and want to collect payout information via a link, you can pre-fill the account ID.
This example:
- Creates an account first with just a
name - Creates a payouts enrollment link with
payment_method_template.account_idset to the account ID - When the recipient completes enrollment, the payment method will be associated with the existing account
Use this pattern when you want to create account records ahead of time for tracking purposes, or when you need to associate the enrollment with an existing record in your system before sending the link.
Sending Enrollment Links
You can automatically send payouts enrollment links to recipients via email or SMS by including
a send_to object when creating the intent. The send_to object requires a name field and
either an email or phone field.
Send enrollment link via email
Create an intent and automatically send the payouts enrollment link to the recipient's email address.
This example creates an intent with:
-
type='payouts_enrollment_link'to generate a hosted payouts enrollment page -
send_toobject withnameandemailfields - Payload automatically sends an email with the enrollment link to the specified address
The recipient will receive an email with a secure link to complete their enrollment.
Send enrollment link via SMS
Create an intent and automatically send the payouts enrollment link to the recipient's phone via SMS.
This example creates an intent with:
-
type='payouts_enrollment_link'to generate a hosted payouts enrollment page -
send_toobject withnameandphonefields - Payload automatically sends an SMS with the enrollment link to the specified phone number
The recipient will receive a text message with a secure link to complete their enrollment.
Phone Format: Phone numbers should be in E.164 format (e.g., +15555551234 for US numbers).
Tracking Enrollment Status
After sharing a payouts enrollment link, you can monitor its status and completion through webhooks and API queries.
Webhook Events
Subscribe to webhook events to track enrollment progress. Configure a webhook to receive notifications when recipients complete enrollment.
Webhook Configuration: Set up webhooks to receive notifications when enrollment status changes. See the Webhook Guide for details on configuring webhooks.
Query Intent Status
You can retrieve the intent to check its status and access the results after completion:
When the intent status is finished, the payouts_enrollment_link.results object will contain:
-
account_id- The ID of the account created or used during enrollment -
payment_method_id- The ID of the bank account payment method that was created for receiving payouts
You can now use this payment_method_id to send payouts to the enrolled recipient.
Security Note: Enrollment links are single-use and expire after completion or 30 days. Never share the same link with multiple recipients. Generate a unique link for each enrollment.
Schema Reference
The following fields are available when creating payouts enrollment links. For complete API reference, see Intent API Reference.
Payouts Enrollment Link Configuration
Available fields when creating the payouts enrollment link:
payouts_enrollment_linkentity_templatecountryCA, USlegal_nametypebusiness, individualnotepayment_method_templateaccount_defaultsfundingall, deposits, withdrawspayingall, payments, payoutsaccount_holderaccount_idbank_accountcurrencyUSD, CADbilling_addressaddress_line_1address_line_2citycountry_codepostal_codestate_provinceidtransfer_typesend_only, receive_only, two_wayresultsaccount_idpayment_method_idNext Steps
Enhance your payout recipient enrollment implementation
Send Payouts to Enrolled Recipients
Start sending payouts to enrolled recipients using the payment method IDs returned from completed enrollment links.
Monitor Enrollment Completion
Subscribe to webhook notifications to receive real-time updates when recipients complete enrollment via the link and payment methods are created.
Manage Payment Methods
Use the Payment Methods API to retrieve, update, and manage enrolled payout recipient bank accounts after they complete the enrollment link.
Related articles
- Payouts Enrollment - Embedded Form - Embedded enrollment form alternative
- Payouts Enrollment - Back-End API - Create payment methods directly via API
- Payment Methods API Reference
- Intent API Reference
- Accounts Overview