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_linkobject
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_templateobject
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.
entityobject
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.
countryenum[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, USlegal_namestring
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.
typeenum[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, individualidstring
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_methodsarray
A list of payment method templates with prefilled values that will be applied to payment methods associated with this merchant account during enrollment.
typeenum[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:
processingresultsobject
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_idstringRead-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_pluginobject
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_templateobject
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.
entityobject
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.
countryenum[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, USlegal_namestring
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.
typeenum[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, individualidstring
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_methodsarray
A list of payment method templates with prefilled values that will be applied to payment methods associated with this merchant account during enrollment.
typeenum[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:
processingattrsobject
Custom attributes for extending the resource with additional key-value pairs. Maximum length is 255 characters when serialized.
checkout_linkobject
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_optionsobject
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_amountboolean
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_methodsobject
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_payenum[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, disabledbank_accountenum[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, disabledcardenum[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, debitgoogle_payenum[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, disabledplaidenum[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, disabledenable_sender_feeenum[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_accountrequire_full_billing_addressboolean
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_toggleboolean
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_disclosureboolean
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_toggleboolean
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_previewboolean
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_templateobject
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.
amountnumber (double)
The payment amount to charge. This is the total amount that will be charged to the customer, before any convenience fees if enabled.
attrsobject
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_timingenum[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_daydescriptionstring
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_timingenum[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, rapidinvoice_allocationsarray
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_numberstring
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.
receiverobject
Information about who will receive the payment and optionally the specific payment method for receiving funds. The receiver is the party being paid.
account_idstring
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_idstring
The unique identifier of the payment method where funds will be deposited. If not specified, the receiver account's default method will be used.
senderobject
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_idstring
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.
methodobject
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_defaultsobject
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.
fundingenum[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, withdrawspayingenum[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, payoutsaccount_holderstring
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_idstring
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_accountobject
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currencyenum[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, CADbilling_addressobject
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_1string
Street address of the address
address_line_2string
Unit number of the address
citystring
City of the company
country_codestring
Country code of the address
postal_codestring
Postal code of the address
state_provincestring
State of the address
idstring
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_typeenum[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_waysourceenum[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, checkstatusobject
Target status configuration for the payment transaction. Controls whether the payment should be authorized only or immediately processed and captured.
valueenum[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, processedtransfersarray
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.
redirectsobject
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_urlstring
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_urlstring
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_pluginobject
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_optionsobject
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_amountboolean
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_methodsobject
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_payenum[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, disabledbank_accountenum[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, disabledcardenum[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, debitgoogle_payenum[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, disabledplaidenum[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, disabledenable_sender_feeenum[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_accountrequire_full_billing_addressboolean
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_toggleboolean
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_disclosureboolean
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_toggleboolean
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_previewboolean
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_templateobject
Payment details and configuration including amount, receiver, sender, invoice allocations, and transaction settings. Defines what payment is being collected and from/to whom.
amountnumber (double)
The payment amount to charge. This is the total amount that will be charged to the customer, before any convenience fees if enabled.
attrsobject
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_timingenum[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_daydescriptionstring
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_timingenum[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, rapidinvoice_allocationsarray
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_numberstring
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.
receiverobject
Information about who will receive the payment and optionally the specific payment method for receiving funds. The receiver is the party being paid.
account_idstring
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_idstring
The unique identifier of the payment method where funds will be deposited. If not specified, the receiver account's default method will be used.
senderobject
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_idstring
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.
methodobject
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_defaultsobject
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.
fundingenum[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, withdrawspayingenum[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, payoutsaccount_holderstring
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_idstring
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_accountobject
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currencyenum[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, CADbilling_addressobject
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_1string
Street address of the address
address_line_2string
Unit number of the address
citystring
City of the company
country_codestring
Country code of the address
postal_codestring
Postal code of the address
state_provincestring
State of the address
idstring
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_typeenum[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_waysourceenum[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, checkstatusobject
Target status configuration for the payment transaction. Controls whether the payment should be authorized only or immediately processed and captured.
valueenum[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, processedtransfersarray
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 AccessTokenstringImmutable
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_atstring (date-time)Read-only
Timestamp when the resource was created. Automatically set by the system and immutable.
idstringRead-only
Unique identifier for the resource. Automatically generated upon creation and cannot be modified. (ID prefix: int)
Pattern:
^int_[A-Za-z0-9]+$modified_atstring (date-time)Read-only
Timestamp when the resource was last modified. Automatically updated whenever any field changes.
objectenum[string]Read-only
String representing the object type for this resource.
Values:
intentpayment_formobject
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_templateobject
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.
amountnumber (double)
The payment amount to charge. This is the total amount that will be charged to the customer, before any convenience fees if enabled.
attrsobject
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_timingenum[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_daydescriptionstring
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_timingenum[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, rapidinvoice_allocationsarray
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_numberstring
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.
receiverobject
Information about who will receive the payment and optionally the specific payment method for receiving funds. The receiver is the party being paid.
account_idstring
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_idstring
The unique identifier of the payment method where funds will be deposited. If not specified, the receiver account's default method will be used.
senderobject
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_idstring
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.
methodobject
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_defaultsobject
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.
fundingenum[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, withdrawspayingenum[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, payoutsaccount_holderstring
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_idstring
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_accountobject
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currencyenum[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, CADbilling_addressobject
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_1string
Street address of the address
address_line_2string
Unit number of the address
citystring
City of the company
country_codestring
Country code of the address
postal_codestring
Postal code of the address
state_provincestring
State of the address
idstring
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_typeenum[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_waysourceenum[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, checkstatusobject
Target status configuration for the payment transaction. Controls whether the payment should be authorized only or immediately processed and captured.
valueenum[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, processedtransfersarray
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_formobject
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_templateobject
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_defaultsobject
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.
fundingenum[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, withdrawspayingenum[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, payoutsaccount_holderstring
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_idstring
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_accountobject
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currencyenum[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, CADbilling_addressobject
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_1string
Street address of the address
address_line_2string
Unit number of the address
citystring
City of the company
country_codestring
Country code of the address
postal_codestring
Postal code of the address
state_provincestring
State of the address
idstring
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_typeenum[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_waypayouts_enrollment_linkobject
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_templateobject
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.
countryenum[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, USlegal_namestring
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.
typeenum[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, individualnotestring
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_templateobject
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_defaultsobject
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.
fundingenum[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, withdrawspayingenum[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, payoutsaccount_holderstring
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_idstring
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_accountobject
Configuration specific to bank account payment methods. Contains bank account-specific settings such as the currency.
currencyenum[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, CADbilling_addressobject
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_1string
Street address of the address
address_line_2string
Unit number of the address
citystring
City of the company
country_codestring
Country code of the address
postal_codestring
Postal code of the address
state_provincestring
State of the address
idstring
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_typeenum[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_wayresultsobject
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_idstringRead-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_idstringRead-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_typeenum[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, urlsend_toNotificationarray
No description
statusenum[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, finishedtokenstringRead-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".
typeenum[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_linkurlstringRead-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".