Processing Rule Schema
Dynamic pricing and funding rules based on transaction conditions
The Processing Rule schema defines the structure and properties of processing rule objects in the Payload API. Processing rules enable dynamic pricing and funding configuration based on transaction characteristics such as amount, payment method type, card brand, and more. Rules are evaluated by priority, with the highest priority rule applied when multiple rules match a transaction.
Processing Rule Object Properties
Complete reference for all properties available in the Processing Rule schema
attrsobject
Custom attributes for extending the resource with additional key-value pairs. Maximum length is 255 characters when serialized.
conditionsobject
Conditions that determine when this rule applies to a transaction. Multiple conditions can be combined, and all specified conditions must match for the rule to be applied. Use conditions to create targeted pricing rules, funding delays, or processing behavior based on transaction characteristics.
amountobject
Match transactions by amount. Supports equality, greater than, less than, and range operators. Useful for tiered pricing or setting different fees for high-value transactions.
eqnumber (double)
No description
genumber (double)
No description
gtnumber (double)
No description
lenumber (double)
No description
ltnumber (double)
No description
card_brandobject
Match transactions by card brand (Visa, Mastercard, Amex, Discover, etc.). Use to apply brand-specific pricing or block/allow specific card brands.
eqenum[string]
No description
Values:
visa, mastercard, american_express, discoverneenum[string]
No description
Values:
visa, mastercard, american_express, discovercard_typeobject
Match transactions by card type (credit, debit, or prepaid). Use to apply different pricing for different card types or exclude certain card types from processing.
eqenum[string]
No description
Values:
credit, debit, prepaidneenum[string]
No description
Values:
credit, debit, prepaidcurrencyobject
Match transactions by currency (e.g., USD, CAD). Use to apply currency-specific pricing or processing rules.
eqenum[string]
No description
Values:
USD, CADfunding_timingobject
Match transactions by funding timing (immediate or delayed). Use to differentiate pricing between instant and standard funding options.
eqenum[string]
No description
Values:
standard, instant, rapidneenum[string]
No description
Values:
standard, instant, rapidpayment_method_typeobject
Match transactions by payment method type. Supports "bank_account", "card", or "synthetic". Use to apply different pricing or settings based on how the customer pays.
eqenum[string]
No description
Values:
bank_account, card, syntheticsourceobject
Match transactions by their source type (e.g., web, mobile, API). Use to apply different rules based on where the transaction originated.
eqenum[string]
No description
Values:
api, keyed, googlepay, applepay, check, plaidtransaction_typeobject
Match by transaction type: "payment" (incoming funds) or "payout" (outgoing funds). Use to apply different rules for money flowing in versus out.
eqenum[string]
No description
Values:
payment, payoutcreated_atstring (date-time)Read-only
Timestamp when the resource was created. Automatically set by the system and immutable.
fundingobject
Funding configuration to apply when this rule matches a transaction. Defines when funds are made available to the processing account after transaction capture. These settings override default processing settings for matching transactions.
delayobject
Funding delay configuration for this rule. Controls the timing of fund disbursement for matching transactions.
defaultinteger (int64)
Default funding delay in days when this rule matches. Specifies how many days after transaction capture before funds are disbursed to the processing account.
idstringRead-only
Unique identifier for the resource. Automatically generated upon creation and cannot be modified. (ID prefix: prule)
Pattern:
^prule_[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:
processing_rulepricingobject
Pricing configuration to apply when this rule matches a transaction. Includes percentage-based rates, fixed costs, fee caps, and convenience fee allocation. These settings override default processing settings for matching transactions.
conv_fee_allocnumber (double)
Convenience fee allocation percentage. Determines what portion of the processing fee is passed to the customer as a convenience fee. Cannot be set if card_brand is a condition.
trans_costobject
Transaction cost configuration for this rule. Defines the fixed fee charged per transaction regardless of amount.
defaultnumber (double)
Default fixed cost per transaction when this rule matches. Expressed in the transaction currency (e.g., 0.30 for $0.30 per transaction).
trans_fee_capnumber (double)
Maximum fee cap for transactions matching this rule. Limits the total fee charged on high-value transactions. Must be non-zero if set.
trans_rateobject
Transaction rate configuration for this rule. Defines the percentage-based fee charged on transaction amounts.
defaultnumber (double)
Default transaction percentage rate to apply when this rule matches. Expressed as a percentage (e.g., .029 for 2.9%).
priorityinteger (int64)
Priority value determining rule evaluation order. Rules are evaluated from highest to lowest priority (100 to 0). When multiple rules match a transaction, the highest priority rule is applied. Must be between 0 and 100.
scopeobject
The scope defining where this processing rule applies. Combines a scope type (such as profile or account) with the specific object ID to determine which transactions this rule affects.
object_idstring
The ID of the object (account or profile) to which this rule is scoped. Must correspond to the entity specified by the scope type. (ID prefix: acct)
Pattern:
^acct_[A-Za-z0-9]+$typeenum[string]
The scope type defining where this rule applies. Determines the level at which the processing rule takes effect (e.g., profile-level or account-level).
Values:
profile, account