API Reference
Intent

Intent Schema

User interactions including checkout links, payment forms, and enrollment requests


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 Object Properties

Complete reference for all properties available in the Intent schema

account_enrollment_link
object
Configuration for the account enrollment link intent. Use this type to generate a hosted onboarding page URL. The enrollment link provides a complete, hosted enrollment experience where businesses can sign up for payment processing on a Payload-hosted page. Returns a URL that can be shared with prospective merchants. Required when type is account_enrollment_link.
account_template
object
Pre-filled account information for the enrollment. Includes the account ID (to link to an existing account) and account type (processing). Use this to pre-populate account details or associate the enrollment with an existing account record.
entity
object
A list of prefilled values for the enrolled account's legal entity. When provided, these values will populate the corresponding fields in the enrollment form.
country
enum[string]
The country that the enrolled legal entity is registered in. Valid countries to register are currently Canada ("CA") and the United States of America ("US").
Values: CA, US
legal_name
string
Pre-filled legal name for the entity being enrolled. For businesses, this is the registered legal business name. For individuals, this is the person's full legal name. When provided, this value will populate the legal name field in the enrollment form.
type
enum[string]
The type of legal entity being enrolled. Must be either "business" (for companies, organizations, or business entities) or "individual" (for individual persons). Determines which onboarding fields and verification requirements apply.
Values: business, individual
id
string
Pre-filled unique identifier for the account being enrolled. When provided, this existing account will be used. If not provided, a new account will be created during enrollment. Use this to link enrollment to an existing account record.
payment_methods
array
A list of payment method templates with prefilled values that will be applied to payment methods associated with this merchant account during enrollment.
type
enum[string]
The type of account being enrolled. Currently only "processing" is supported for account enrollment, which creates a merchant/processor account capable of receiving payments and sending payouts.
Values: processing
results
object
Results from the account enrollment after successful completion. Contains the IDs of the created account. Read-only fields that are populated automatically when the enrollment is finished. Use these to reference the enrollment outputs.
account_id
stringRead-only
The ID of the account that was created or used during account enrollment. Read-only field that is populated after successful completion. Use this to identify which account the enrollment is associated with.
account_enrollment_plugin
object
Configuration for the account enrollment plugin intent. Use this type to embed an onboarding form in your application using the Payload JavaScript SDK. The enrollment plugin allows businesses to sign up for payment processing, providing their business information and undergoing verification. Returns a token for rendering the enrollment UI with the SDK. Required when type is account_enrollment_plugin.
account_template
object
Pre-filled account information for the enrollment. Includes the account ID (to link to an existing account) and account type (processing). Use this to pre-populate account details or associate the enrollment with an existing account record.
entity
object
A list of prefilled values for the enrolled account's legal entity. When provided, these values will populate the corresponding fields in the enrollment form.
country
enum[string]
The country that the enrolled legal entity is registered in. Valid countries to register are currently Canada ("CA") and the United States of America ("US").
Values: CA, US
legal_name
string
Pre-filled legal name for the entity being enrolled. For businesses, this is the registered legal business name. For individuals, this is the person's full legal name. When provided, this value will populate the legal name field in the enrollment form.
type
enum[string]
The type of legal entity being enrolled. Must be either "business" (for companies, organizations, or business entities) or "individual" (for individual persons). Determines which onboarding fields and verification requirements apply.
Values: business, individual
id
string
Pre-filled unique identifier for the account being enrolled. When provided, this existing account will be used. If not provided, a new account will be created during enrollment. Use this to link enrollment to an existing account record.
payment_methods
array
A list of payment method templates with prefilled values that will be applied to payment methods associated with this merchant account during enrollment.
type
enum[string]
The type of account being enrolled. Currently only "processing" is supported for account enrollment, which creates a merchant/processor account capable of receiving payments and sending payouts.
Values: processing
attrs
object
Custom attributes for extending the resource with additional key-value pairs. Maximum length is 255 characters when serialized.
checkout_link
object
Configuration for the checkout link intent. Use this type to generate a hosted payment page URL that you can redirect customers to. The checkout link provides a complete, hosted checkout experience on a Payload-hosted page. Returns a URL that you can redirect customers to or send via email. Required when type is checkout_link.
checkout_options
object
Checkout form configuration including which payment methods are allowed, convenience fees, address requirements, and UI options. Controls the behavior and appearance of the hosted checkout page. Uses implicit values if not specified.
allow_editable_amount
boolean
When set to true, allows the customer to change the payment amount in the checkout form. Useful for donation forms, tip jars, or scenarios where the customer determines the amount. When false, the amount is fixed and cannot be modified by the customer.
allowed_methods
object
Configuration for which payment methods are available in the checkout. Controls whether customers can pay with cards, bank accounts, digital wallets (Apple Pay, Google Pay), or Plaid. Use this to restrict or enable specific payment options based on your business needs.
apple_pay
enum[string]
Controls whether Apple Pay digital wallet is available in the checkout. Set to "enabled" to allow Apple Pay payments or "disabled" to hide this payment option. Apple Pay provides a fast, secure checkout experience for customers on Apple devices.
Values: enabled, disabled
bank_account
enum[string]
Controls whether bank account payments are allowed in the checkout. Possible values: "default" (use processing account settings), "enabled" (allow bank account payments), or "disabled" (disallow bank account payments). When enabled, customers can pay by bank with their bank account.
Values: default, enabled, disabled
card
enum[string]
Controls which card payments are allowed in the checkout. Possible values: "default" (use processing account settings), "enabled" (allow all card types), "disabled" (disallow card payments), "credit" (only credit cards), or "debit" (only debit cards). When enabled, customers can pay with their payment cards.
Values: default, enabled, disabled, credit, debit
google_pay
enum[string]
Controls whether Google Pay digital wallet is available in the checkout. Set to "enabled" to allow Google Pay payments or "disabled" to hide this payment option. Google Pay provides a fast, secure checkout experience for customers on supported devices.
Values: enabled, disabled
plaid
enum[string]
Controls whether Plaid instant bank account verification is available in the checkout. Set to "enabled" to allow customers to connect their bank accounts via Plaid or "disabled" to use Payload's built-in verification methods.
Values: enabled, disabled
enable_sender_fee
enum[string]
Controls whether a convenience fee is charged to the payer. Possible values: "default" (use processing account settings), "enabled" (charge fee for all payment methods), "disabled" (no convenience fee), "card" (charge fee only for card payments), or "bank_account" (charge fee only for bank account payments). Convenience fees help offset processing costs by passing them to the payer.
Values: default, enabled, disabled, card, bank_account
require_full_billing_address
boolean
When set to true, requires the customer to provide their complete billing address (street, city, state, postal code, country) during checkout. When false, only postal code and country may be required. Full addresses improve fraud prevention and address verification (AVS) but increase checkout friction.
show_autopay_toggle
boolean
When set to true, adds a checkbox allowing the customer to set the payment method as their default for automatic billing. Useful for subscription and recurring billing scenarios where future payments should be charged automatically. The customer opts in by checking the box.
show_disclosure
boolean
When set to true, displays terms, conditions, and disclosure information in the checkout form. Use this to show important legal text, refund policies, or transaction terms that customers should be aware of before completing payment. Helps with compliance and transparency.
show_keep_active_toggle
boolean
When set to true, adds a checkbox allowing the customer to save the payment method for future use. When checked, the payment method will be stored securely and can be used for subsequent payments without re-entering details. Improves convenience for returning customers.
show_payment_method_preview
boolean
When set to true, displays a graphical preview of the payment method (card image, bank icon) above the checkout form. Provides visual confirmation of the payment method being used, improving user experience and reducing errors.
payment_template
object
Payment details and configuration including amount, receiver, sender, invoice allocations, and transaction settings. Defines what payment is being collected and from/to whom. Uses implicit values if not specified.
amount
number (double)
The payment amount to charge. This is the total amount that will be charged to the customer, before any convenience fees if enabled.
attrs
object
Custom attributes for the transaction as a JSON object. Use this to store additional metadata or custom fields specific to your application. These attributes are stored with the transaction and can be retrieved later for reporting or integration purposes.
clearing_timing
enum[string]Immutable
The clearing speed for this transaction, determining how quickly funds are made available to the recipient. Instant clearing makes funds available immediately, same_day within the same business day, and next_day by the following business day. Defaults to next_day if not specified. Same-day and instant are only available in certain circumstances.
Values: instant, same_day, next_day
description
string
Description of what the payment is for. This appears on receipts, transaction records, and bank statements. Examples include "Order #1234", "Monthly subscription", or "Invoice payment". Helps customers identify the transaction.
funding_timing
enum[string]Immutable
The funding speed for this transaction, determining how quickly the merchant or processing account receives settlement of funds. Standard timing follows normal settlement schedules, while rapid timing accelerates the funding process for faster access to funds. Defaults to standard if not specified. Rapid and instant funding only available in certain circumstances.
Values: standard, instant, rapid
invoice_allocations
array
List of invoices that this payment should be applied to. When provided, the payment will be allocated across these invoices, reducing their outstanding balances. Use this for paying multiple invoices with a single payment or specifying which invoice a payment is for.
order_number
string
Custom order or transaction number for this payment. Use this to link the payment to an order in your system or to provide a customer-facing transaction reference. Providing this value ensures duplicate protection is applied per order; otherwise, duplicate protection applies across payments without an order reference.
receiver
object
Information about who will receive the payment and optionally the specific payment method for receiving funds. The receiver is the party being paid.
account_id
string
The unique identifier of the account that will receive this payment. This may represent a merchant, service provider, vendor, or other authorized recipient of funds. Required to identify who is receiving the funds.
method_id
string
The unique identifier of the payment method where funds will be deposited. If not specified, the receiver account's default method will be used.
sender
object
Information about who is making the payment. Includes the account and optionally pre-filled payment method details. The sender is the party being charged.
account_id
string
The unique identifier of the account making the payment. This is the payer who will be charged or the party who will fund the transfer. Used to associate the payment with the correct account.
method
object
Pre-filled values for the payment method that will be created or used for this payment. Allows you to set defaults like billing address, account holder name, or transfer type. These values populate the checkout form or are used when creating the payment method.
account_defaults
object
Default transaction types that this payment method will be used for. Controls whether the payment method is the default for paying or funding transactions, and which specific types of transactions it applies to.
funding
enum[string]
Controls which funding transaction types this payment method can be used for. Possible values: "all" (use for all funding transactions), "deposits" (use only for receiving deposits), or "withdraws" (use only for withdrawals). Determines the default usage for receiving funds.
Values: all, deposits, withdraws
paying
enum[string]
Controls which paying transaction type this payment method will be the default for. Possible values: "all" (use for all paying transactions), "payments" (use only for sending payments), or "payouts" (use only for receiving payouts). Determines the default usage for sending funds. If the account default is set for payments, that payment method will be used for any automatic invoice payments.
Values: all, payments, payouts
account_holder
string
Pre-filled name of the account holder for the payment method. For bank accounts, this is the name on the account. For cards, this is the cardholder name. When provided, this value will be used to populate the form.
account_id
string
The ID of the account that will own this payment method. Links the payment method to a specific customer or processing account. Used to associate the payment method with the correct account when it is created.
bank_account
object
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currency
enum[string]
The currency for bank account transactions. Must be either "USD" (US Dollars) or "CAD" (Canadian Dollars). Determines the currency for transactions using this bank account.
Values: USD, CAD
billing_address
object
Pre-filled billing address for the payment method. When provided, these values will be used to populate the address fields in the checkout form. Customers may be able to edit these values depending on checkout configuration.
address_line_1
string
Street address of the address
address_line_2
string
Unit number of the address
city
string
City of the company
country_code
string
Country code of the address
postal_code
string
Postal code of the address
state_province
string
State of the address
id
string
The unique identifier of an existing payment method to update. When provided, the form will be used to update the payment method, such as revalidating the CVV, updating the expiration date, or changing the billing address.
transfer_type
enum[string]
The transfer capabilities for this payment method. Possible values: "send_only" (can only send payments/fund payouts), "receive_only" (can only receive payouts/deposits), or "two_way" (can both send and receive). Controls how the payment method can be used for transactions.
Values: send_only, receive_only, two_way
source
enum[string]Immutable
The method by which this transaction was initiated or captured. This indicates whether the transaction was manually keyed, initiated via digital wallets like Google Pay or Apple Pay, or processed as a check conversion.
Values: keyed, googlepay, applepay, check
status
object
Target status configuration for the payment transaction. Controls whether the payment should be authorized only or immediately processed and captured.
value
enum[string]
The desired final status for the transaction. Possible values: "authorized" (authorize the payment but do not capture funds yet, useful for delayed capture), or "processed" (immediately process and capture the payment). Determines whether the payment is captured immediately or held for later capture.
Values: authorized, processed
transfers
array
List of transfer allocations for splitting a payment across multiple receivers. Each transfer specifies a receiver and an amount, allowing a single payment to be distributed to multiple accounts. Useful for marketplace or platform payments where funds need to be split between multiple parties.
redirects
object
Redirect URLs for the checkout flow. Defines where customers go after completing payment or if they cancel/return during checkout. Both URLs are required for checkout links.
completed_url
string
The URL where customers will be redirected after successfully completing the payment. This should be a page in your application that confirms the payment and provides next steps. Required for checkout links.
return_url
string
The URL where customers will be redirected if they click the return/back button during checkout. This should take them back to your application, typically to the shopping cart or order page. Required for checkout links.
checkout_plugin
object
Configuration for the checkout plugin intent. Use this type to embed a payment checkout form directly in your application using the Payload JavaScript SDK. The checkout plugin renders an overlayed or inline payment form that customers can use to complete their purchase. Returns a token that can be used with the SDK to render the checkout UI. Required when type is checkout_plugin.
checkout_options
object
Checkout form configuration including which payment methods are allowed, convenience fees, address requirements, and UI options like autopay toggles or amount editability. Controls the behavior and appearance of the checkout form.
allow_editable_amount
boolean
When set to true, allows the customer to change the payment amount in the checkout form. Useful for donation forms, tip jars, or scenarios where the customer determines the amount. When false, the amount is fixed and cannot be modified by the customer.
allowed_methods
object
Configuration for which payment methods are available in the checkout. Controls whether customers can pay with cards, bank accounts, digital wallets (Apple Pay, Google Pay), or Plaid. Use this to restrict or enable specific payment options based on your business needs.
apple_pay
enum[string]
Controls whether Apple Pay digital wallet is available in the checkout. Set to "enabled" to allow Apple Pay payments or "disabled" to hide this payment option. Apple Pay provides a fast, secure checkout experience for customers on Apple devices.
Values: enabled, disabled
bank_account
enum[string]
Controls whether bank account payments are allowed in the checkout. Possible values: "default" (use processing account settings), "enabled" (allow bank account payments), or "disabled" (disallow bank account payments). When enabled, customers can pay by bank with their bank account.
Values: default, enabled, disabled
card
enum[string]
Controls which card payments are allowed in the checkout. Possible values: "default" (use processing account settings), "enabled" (allow all card types), "disabled" (disallow card payments), "credit" (only credit cards), or "debit" (only debit cards). When enabled, customers can pay with their payment cards.
Values: default, enabled, disabled, credit, debit
google_pay
enum[string]
Controls whether Google Pay digital wallet is available in the checkout. Set to "enabled" to allow Google Pay payments or "disabled" to hide this payment option. Google Pay provides a fast, secure checkout experience for customers on supported devices.
Values: enabled, disabled
plaid
enum[string]
Controls whether Plaid instant bank account verification is available in the checkout. Set to "enabled" to allow customers to connect their bank accounts via Plaid or "disabled" to use Payload's built-in verification methods.
Values: enabled, disabled
enable_sender_fee
enum[string]
Controls whether a convenience fee is charged to the payer. Possible values: "default" (use processing account settings), "enabled" (charge fee for all payment methods), "disabled" (no convenience fee), "card" (charge fee only for card payments), or "bank_account" (charge fee only for bank account payments). Convenience fees help offset processing costs by passing them to the payer.
Values: default, enabled, disabled, card, bank_account
require_full_billing_address
boolean
When set to true, requires the customer to provide their complete billing address (street, city, state, postal code, country) during checkout. When false, only postal code and country may be required. Full addresses improve fraud prevention and address verification (AVS) but increase checkout friction.
show_autopay_toggle
boolean
When set to true, adds a checkbox allowing the customer to set the payment method as their default for automatic billing. Useful for subscription and recurring billing scenarios where future payments should be charged automatically. The customer opts in by checking the box.
show_disclosure
boolean
When set to true, displays terms, conditions, and disclosure information in the checkout form. Use this to show important legal text, refund policies, or transaction terms that customers should be aware of before completing payment. Helps with compliance and transparency.
show_keep_active_toggle
boolean
When set to true, adds a checkbox allowing the customer to save the payment method for future use. When checked, the payment method will be stored securely and can be used for subsequent payments without re-entering details. Improves convenience for returning customers.
show_payment_method_preview
boolean
When set to true, displays a graphical preview of the payment method (card image, bank icon) above the checkout form. Provides visual confirmation of the payment method being used, improving user experience and reducing errors.
payment_template
object
Payment details and configuration including amount, receiver, sender, invoice allocations, and transaction settings. Defines what payment is being collected and from/to whom.
amount
number (double)
The payment amount to charge. This is the total amount that will be charged to the customer, before any convenience fees if enabled.
attrs
object
Custom attributes for the transaction as a JSON object. Use this to store additional metadata or custom fields specific to your application. These attributes are stored with the transaction and can be retrieved later for reporting or integration purposes.
clearing_timing
enum[string]Immutable
The clearing speed for this transaction, determining how quickly funds are made available to the recipient. Instant clearing makes funds available immediately, same_day within the same business day, and next_day by the following business day. Defaults to next_day if not specified. Same-day and instant are only available in certain circumstances.
Values: instant, same_day, next_day
description
string
Description of what the payment is for. This appears on receipts, transaction records, and bank statements. Examples include "Order #1234", "Monthly subscription", or "Invoice payment". Helps customers identify the transaction.
funding_timing
enum[string]Immutable
The funding speed for this transaction, determining how quickly the merchant or processing account receives settlement of funds. Standard timing follows normal settlement schedules, while rapid timing accelerates the funding process for faster access to funds. Defaults to standard if not specified. Rapid and instant funding only available in certain circumstances.
Values: standard, instant, rapid
invoice_allocations
array
List of invoices that this payment should be applied to. When provided, the payment will be allocated across these invoices, reducing their outstanding balances. Use this for paying multiple invoices with a single payment or specifying which invoice a payment is for.
order_number
string
Custom order or transaction number for this payment. Use this to link the payment to an order in your system or to provide a customer-facing transaction reference. Providing this value ensures duplicate protection is applied per order; otherwise, duplicate protection applies across payments without an order reference.
receiver
object
Information about who will receive the payment and optionally the specific payment method for receiving funds. The receiver is the party being paid.
account_id
string
The unique identifier of the account that will receive this payment. This may represent a merchant, service provider, vendor, or other authorized recipient of funds. Required to identify who is receiving the funds.
method_id
string
The unique identifier of the payment method where funds will be deposited. If not specified, the receiver account's default method will be used.
sender
object
Information about who is making the payment. Includes the account and optionally pre-filled payment method details. The sender is the party being charged.
account_id
string
The unique identifier of the account making the payment. This is the payer who will be charged or the party who will fund the transfer. Used to associate the payment with the correct account.
method
object
Pre-filled values for the payment method that will be created or used for this payment. Allows you to set defaults like billing address, account holder name, or transfer type. These values populate the checkout form or are used when creating the payment method.
account_defaults
object
Default transaction types that this payment method will be used for. Controls whether the payment method is the default for paying or funding transactions, and which specific types of transactions it applies to.
funding
enum[string]
Controls which funding transaction types this payment method can be used for. Possible values: "all" (use for all funding transactions), "deposits" (use only for receiving deposits), or "withdraws" (use only for withdrawals). Determines the default usage for receiving funds.
Values: all, deposits, withdraws
paying
enum[string]
Controls which paying transaction type this payment method will be the default for. Possible values: "all" (use for all paying transactions), "payments" (use only for sending payments), or "payouts" (use only for receiving payouts). Determines the default usage for sending funds. If the account default is set for payments, that payment method will be used for any automatic invoice payments.
Values: all, payments, payouts
account_holder
string
Pre-filled name of the account holder for the payment method. For bank accounts, this is the name on the account. For cards, this is the cardholder name. When provided, this value will be used to populate the form.
account_id
string
The ID of the account that will own this payment method. Links the payment method to a specific customer or processing account. Used to associate the payment method with the correct account when it is created.
bank_account
object
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currency
enum[string]
The currency for bank account transactions. Must be either "USD" (US Dollars) or "CAD" (Canadian Dollars). Determines the currency for transactions using this bank account.
Values: USD, CAD
billing_address
object
Pre-filled billing address for the payment method. When provided, these values will be used to populate the address fields in the checkout form. Customers may be able to edit these values depending on checkout configuration.
address_line_1
string
Street address of the address
address_line_2
string
Unit number of the address
city
string
City of the company
country_code
string
Country code of the address
postal_code
string
Postal code of the address
state_province
string
State of the address
id
string
The unique identifier of an existing payment method to update. When provided, the form will be used to update the payment method, such as revalidating the CVV, updating the expiration date, or changing the billing address.
transfer_type
enum[string]
The transfer capabilities for this payment method. Possible values: "send_only" (can only send payments/fund payouts), "receive_only" (can only receive payouts/deposits), or "two_way" (can both send and receive). Controls how the payment method can be used for transactions.
Values: send_only, receive_only, two_way
source
enum[string]Immutable
The method by which this transaction was initiated or captured. This indicates whether the transaction was manually keyed, initiated via digital wallets like Google Pay or Apple Pay, or processed as a check conversion.
Values: keyed, googlepay, applepay, check
status
object
Target status configuration for the payment transaction. Controls whether the payment should be authorized only or immediately processed and captured.
value
enum[string]
The desired final status for the transaction. Possible values: "authorized" (authorize the payment but do not capture funds yet, useful for delayed capture), or "processed" (immediately process and capture the payment). Determines whether the payment is captured immediately or held for later capture.
Values: authorized, processed
transfers
array
List of transfer allocations for splitting a payment across multiple receivers. Each transfer specifies a receiver and an amount, allowing a single payment to be distributed to multiple accounts. Useful for marketplace or platform payments where funds need to be split between multiple parties.
client_token_id ID of AccessToken
stringImmutable
The unique identifier of the client token associated with this intent. Client tokens are temporary access tokens that allow clients to perform specific actions (like completing a checkout) without full API credentials. This field is immutable after creation and links the intent to its authorization token. (ID prefix: None)
Pattern: ^None_[A-Za-z0-9]+$
created_at
string (date-time)Read-only
Timestamp when the resource was created. Automatically set by the system and immutable.
id
stringRead-only
Unique identifier for the resource. Automatically generated upon creation and cannot be modified. (ID prefix: int)
Pattern: ^int_[A-Za-z0-9]+$
modified_at
string (date-time)Read-only
Timestamp when the resource was last modified. Automatically updated whenever any field changes.
object
enum[string]Read-only
String representing the object type for this resource.
Values: intent
payment_form
object
Configuration for the payment form intent. Use this type to create a native payment collection form in your application using the Payload JavaScript SDK. The payment form allows customers to enter payment details and complete a transaction. Returns a token for rendering with the SDK. Required when type is payment_form.
payment_template
object
Payment details and configuration including amount, receiver, sender, invoice allocations, and transaction settings. Defines what payment is being collected, from whom, and to whom. Required to specify the payment that will be processed through the form.
amount
number (double)
The payment amount to charge. This is the total amount that will be charged to the customer, before any convenience fees if enabled.
attrs
object
Custom attributes for the transaction as a JSON object. Use this to store additional metadata or custom fields specific to your application. These attributes are stored with the transaction and can be retrieved later for reporting or integration purposes.
clearing_timing
enum[string]Immutable
The clearing speed for this transaction, determining how quickly funds are made available to the recipient. Instant clearing makes funds available immediately, same_day within the same business day, and next_day by the following business day. Defaults to next_day if not specified. Same-day and instant are only available in certain circumstances.
Values: instant, same_day, next_day
description
string
Description of what the payment is for. This appears on receipts, transaction records, and bank statements. Examples include "Order #1234", "Monthly subscription", or "Invoice payment". Helps customers identify the transaction.
funding_timing
enum[string]Immutable
The funding speed for this transaction, determining how quickly the merchant or processing account receives settlement of funds. Standard timing follows normal settlement schedules, while rapid timing accelerates the funding process for faster access to funds. Defaults to standard if not specified. Rapid and instant funding only available in certain circumstances.
Values: standard, instant, rapid
invoice_allocations
array
List of invoices that this payment should be applied to. When provided, the payment will be allocated across these invoices, reducing their outstanding balances. Use this for paying multiple invoices with a single payment or specifying which invoice a payment is for.
order_number
string
Custom order or transaction number for this payment. Use this to link the payment to an order in your system or to provide a customer-facing transaction reference. Providing this value ensures duplicate protection is applied per order; otherwise, duplicate protection applies across payments without an order reference.
receiver
object
Information about who will receive the payment and optionally the specific payment method for receiving funds. The receiver is the party being paid.
account_id
string
The unique identifier of the account that will receive this payment. This may represent a merchant, service provider, vendor, or other authorized recipient of funds. Required to identify who is receiving the funds.
method_id
string
The unique identifier of the payment method where funds will be deposited. If not specified, the receiver account's default method will be used.
sender
object
Information about who is making the payment. Includes the account and optionally pre-filled payment method details. The sender is the party being charged.
account_id
string
The unique identifier of the account making the payment. This is the payer who will be charged or the party who will fund the transfer. Used to associate the payment with the correct account.
method
object
Pre-filled values for the payment method that will be created or used for this payment. Allows you to set defaults like billing address, account holder name, or transfer type. These values populate the checkout form or are used when creating the payment method.
account_defaults
object
Default transaction types that this payment method will be used for. Controls whether the payment method is the default for paying or funding transactions, and which specific types of transactions it applies to.
funding
enum[string]
Controls which funding transaction types this payment method can be used for. Possible values: "all" (use for all funding transactions), "deposits" (use only for receiving deposits), or "withdraws" (use only for withdrawals). Determines the default usage for receiving funds.
Values: all, deposits, withdraws
paying
enum[string]
Controls which paying transaction type this payment method will be the default for. Possible values: "all" (use for all paying transactions), "payments" (use only for sending payments), or "payouts" (use only for receiving payouts). Determines the default usage for sending funds. If the account default is set for payments, that payment method will be used for any automatic invoice payments.
Values: all, payments, payouts
account_holder
string
Pre-filled name of the account holder for the payment method. For bank accounts, this is the name on the account. For cards, this is the cardholder name. When provided, this value will be used to populate the form.
account_id
string
The ID of the account that will own this payment method. Links the payment method to a specific customer or processing account. Used to associate the payment method with the correct account when it is created.
bank_account
object
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currency
enum[string]
The currency for bank account transactions. Must be either "USD" (US Dollars) or "CAD" (Canadian Dollars). Determines the currency for transactions using this bank account.
Values: USD, CAD
billing_address
object
Pre-filled billing address for the payment method. When provided, these values will be used to populate the address fields in the checkout form. Customers may be able to edit these values depending on checkout configuration.
address_line_1
string
Street address of the address
address_line_2
string
Unit number of the address
city
string
City of the company
country_code
string
Country code of the address
postal_code
string
Postal code of the address
state_province
string
State of the address
id
string
The unique identifier of an existing payment method to update. When provided, the form will be used to update the payment method, such as revalidating the CVV, updating the expiration date, or changing the billing address.
transfer_type
enum[string]
The transfer capabilities for this payment method. Possible values: "send_only" (can only send payments/fund payouts), "receive_only" (can only receive payouts/deposits), or "two_way" (can both send and receive). Controls how the payment method can be used for transactions.
Values: send_only, receive_only, two_way
source
enum[string]Immutable
The method by which this transaction was initiated or captured. This indicates whether the transaction was manually keyed, initiated via digital wallets like Google Pay or Apple Pay, or processed as a check conversion.
Values: keyed, googlepay, applepay, check
status
object
Target status configuration for the payment transaction. Controls whether the payment should be authorized only or immediately processed and captured.
value
enum[string]
The desired final status for the transaction. Possible values: "authorized" (authorize the payment but do not capture funds yet, useful for delayed capture), or "processed" (immediately process and capture the payment). Determines whether the payment is captured immediately or held for later capture.
Values: authorized, processed
transfers
array
List of transfer allocations for splitting a payment across multiple receivers. Each transfer specifies a receiver and an amount, allowing a single payment to be distributed to multiple accounts. Useful for marketplace or platform payments where funds need to be split between multiple parties.
payment_method_form
object
Configuration for the payment method form intent. Use this type to create a native form for collecting and saving payment method details (cards, bank accounts) without immediately charging. The payment method can then be used for future transactions. Returns a token for rendering with the SDK. Required when type is payment_method_form.
payment_method_template
object
Pre-filled payment method configuration including transfer type, billing address, account holder, currency settings, and account defaults. These values populate the payment method form and determine how the saved payment method can be used. Allows you to set sensible defaults for the payment method being collected.
account_defaults
object
Default transaction types that this payment method will be used for. Controls whether the payment method is the default for paying or funding transactions, and which specific types of transactions it applies to.
funding
enum[string]
Controls which funding transaction types this payment method can be used for. Possible values: "all" (use for all funding transactions), "deposits" (use only for receiving deposits), or "withdraws" (use only for withdrawals). Determines the default usage for receiving funds.
Values: all, deposits, withdraws
paying
enum[string]
Controls which paying transaction type this payment method will be the default for. Possible values: "all" (use for all paying transactions), "payments" (use only for sending payments), or "payouts" (use only for receiving payouts). Determines the default usage for sending funds. If the account default is set for payments, that payment method will be used for any automatic invoice payments.
Values: all, payments, payouts
account_holder
string
Pre-filled name of the account holder for the payment method. For bank accounts, this is the name on the account. For cards, this is the cardholder name. When provided, this value will be used to populate the form.
account_id
string
The ID of the account that will own this payment method. Links the payment method to a specific customer or processing account. Used to associate the payment method with the correct account when it is created.
bank_account
object
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currency
enum[string]
The currency for bank account transactions. Must be either "USD" (US Dollars) or "CAD" (Canadian Dollars). Determines the currency for transactions using this bank account.
Values: USD, CAD
billing_address
object
Pre-filled billing address for the payment method. When provided, these values will be used to populate the address fields in the checkout form. Customers may be able to edit these values depending on checkout configuration.
address_line_1
string
Street address of the address
address_line_2
string
Unit number of the address
city
string
City of the company
country_code
string
Country code of the address
postal_code
string
Postal code of the address
state_province
string
State of the address
id
string
The unique identifier of an existing payment method to update. When provided, the form will be used to update the payment method, such as revalidating the CVV, updating the expiration date, or changing the billing address.
transfer_type
enum[string]
The transfer capabilities for this payment method. Possible values: "send_only" (can only send payments/fund payouts), "receive_only" (can only receive payouts/deposits), or "two_way" (can both send and receive). Controls how the payment method can be used for transactions.
Values: send_only, receive_only, two_way
payouts_enrollment_link
object
Configuration for the payouts enrollment link intent. Use this type to generate a hosted page URL for collecting payout information. The payouts enrollment link allows individuals or businesses to provide their bank account information for receiving payouts. Commonly used for marketplace sellers, contractors, or affiliates who need to receive payments. Returns a URL that can be shared with payees. Required when type is payouts_enrollment_link.
entity_template
object
Pre-filled legal entity information for the payouts enrollment. Allows you to specify defaults like the entity type (business/individual) and legal name. These values will populate the enrollment form to reduce friction.
country
enum[string]
The country that the enrolled legal entity is registered in. Valid countries to register are currently Canada ("CA") and the United States of America ("US").
Values: CA, US
legal_name
string
Pre-filled legal name for the entity being enrolled. For businesses, this is the registered legal business name. For individuals, this is the person's full legal name. When provided, this value will populate the legal name field in the enrollment form.
type
enum[string]
The type of legal entity being enrolled. Must be either "business" (for companies, organizations, or business entities) or "individual" (for individual persons). Determines which onboarding fields and verification requirements apply.
Values: business, individual
note
string
Optional note or message to display to the user during payouts enrollment. Use this to provide context about why payouts information is needed or what the funds will be used for. Helps improve completion rates by explaining the purpose of the enrollment.
payment_method_template
object
Pre-filled payment method information for the payouts enrollment. Allows you to specify defaults like account holder name, billing address, or transfer type. Used to populate the form where users provide their bank account for receiving payouts.
account_defaults
object
Default transaction types that this payment method will be used for. Controls whether the payment method is the default for paying or funding transactions, and which specific types of transactions it applies to.
funding
enum[string]
Controls which funding transaction types this payment method can be used for. Possible values: "all" (use for all funding transactions), "deposits" (use only for receiving deposits), or "withdraws" (use only for withdrawals). Determines the default usage for receiving funds.
Values: all, deposits, withdraws
paying
enum[string]
Controls which paying transaction type this payment method will be the default for. Possible values: "all" (use for all paying transactions), "payments" (use only for sending payments), or "payouts" (use only for receiving payouts). Determines the default usage for sending funds. If the account default is set for payments, that payment method will be used for any automatic invoice payments.
Values: all, payments, payouts
account_holder
string
Pre-filled name of the account holder for the payment method. For bank accounts, this is the name on the account. For cards, this is the cardholder name. When provided, this value will be used to populate the form.
account_id
string
The ID of the account that will own this payment method. Links the payment method to a specific customer or processing account. Used to associate the payment method with the correct account when it is created.
bank_account
object
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currency
enum[string]
The currency for bank account transactions. Must be either "USD" (US Dollars) or "CAD" (Canadian Dollars). Determines the currency for transactions using this bank account.
Values: USD, CAD
billing_address
object
Pre-filled billing address for the payment method. When provided, these values will be used to populate the address fields in the checkout form. Customers may be able to edit these values depending on checkout configuration.
address_line_1
string
Street address of the address
address_line_2
string
Unit number of the address
city
string
City of the company
country_code
string
Country code of the address
postal_code
string
Postal code of the address
state_province
string
State of the address
id
string
The unique identifier of an existing payment method to update. When provided, the form will be used to update the payment method, such as revalidating the CVV, updating the expiration date, or changing the billing address.
transfer_type
enum[string]
The transfer capabilities for this payment method. Possible values: "send_only" (can only send payments/fund payouts), "receive_only" (can only receive payouts/deposits), or "two_way" (can both send and receive). Controls how the payment method can be used for transactions.
Values: send_only, receive_only, two_way
results
object
Results from the payouts enrollment after successful completion. Contains the IDs of the created account and payment method. Read-only fields that are populated automatically when the enrollment is finished. Use these to reference the enrollment outputs.
account_id
stringRead-only
The ID of the account that was created or used during payouts enrollment. Read-only field that is populated after successful completion. Use this to identify which account the enrollment is associated with.
payment_method_id
stringRead-only
The ID of the payment method that was created for receiving payouts. Read-only field that is populated after successful completion. This is the bank account where payouts will be sent.
return_type
enum[string]Read-only
The type of value returned for this intent. Read-only field that is automatically determined based on the intent type. Possible values: "token" (returns a token string that can be used with the Payload SDK), or "url" (returns a URL that can be used directly or redirected to). Indicates how the intent should be consumed.
Values: token, url
array
No description
status
enum[string]Read-only
The current status of this intent. Read-only field that tracks the lifecycle of the intent. Possible values: "pending" (intent has been created but not yet completed), or "finished" (intent has been completed and the associated action has been taken, such as payment processed or enrollment completed). Use this to track whether the desired action of the intent has been completed.
Values: pending, finished
token
stringRead-only
The generated client token string for this intent. Read-only field that is automatically generated when return_type is "token". This token can be used with one of the Payload SDKs to render the appropriate UI component (checkout, enrollment form, etc.). Only present when return_type is "token".
type
enum[string]Immutable
The type of intent being created. Determines which UI flow or integration pattern will be used. This field is immutable after creation and determines which template configuration fields are required.
Values: checkout_plugin, checkout_link, payment_form, payment_method_form, oauth_client_token, account_enrollment_plugin, account_enrollment_link, user_enrollment_link, payouts_enrollment_link
url
stringRead-only
The generated URL for this intent. Read-only field that is automatically generated when return_type is "url". This URL can be used to redirect customers to a hosted Payload page for completing the intent (checkout, enrollment, etc.). Only present when return_type is "url".