Feature-by-Feature Migration Map
Every v1 capability mapped to its v2 equivalent
This table maps every major v1 capability to its v2 equivalent, along with the migration action required.
Transactions
| v1 Feature | v2 Equivalent | Migration Action |
|---|---|---|
customer_id + processing_id (direction implicit by type) | sender + receiver fields on every transaction | Update payloads to use explicit sender/receiver |
Payment creation (type='payment') | Transaction with type='payment' + sender/receiver | Add sender/receiver fields |
Payout creation (type='credit') | Transaction with type='payout' | Rename type from 'credit' to 'payout' |
Fund withdrawal (type='reversal') | Transaction with type='withdraw' | Rename type from 'reversal' to 'withdraw' |
ledger array (tracking only) | transfers array (tracking + dynamic funding splits) | Rename references from ledger to transfers |
| N/A | Multi-party splits via transfers array | New implementation — specify destination accounts + amounts inline |
Accounts & Entities
| v1 Feature | v2 Equivalent | Migration Action |
|---|---|---|
Separate /customers and /processing_accounts endpoints | Unified /accounts endpoint with polymorphic types | Update endpoint paths; account types become explicit (customer, processing, synthetic) |
| Customer account | Customer account (unchanged) | No changes; unified endpoint only |
| Processing account | Processing account (can now send payments, receive payouts, act as payer on invoices/links) | No changes required; new capabilities available when needed |
| Entity (business only, processing accounts only) | Entity (business or individual, any account type, internationalized) | Attach entities to customer accounts for KYC if needed; adopt individual entities where applicable |
| N/A | Flexible account categorization (User, Client, Agent, Vendor, Partner, etc.) | Coming soon in v2 |
| N/A | Tiered KYC (Level 1 Screening, Level 2 Light, Level 3 Full) | Coming soon in v2 |
Payment Methods & Funding
| v1 Feature | v2 Equivalent | Migration Action |
|---|---|---|
net / gross / itemized funding styles | Same three styles, plus new manual | No changes required; adopt manual if you need no automatic disbursement |
| Standard funding timing (next business day) | standard, rapid (accelerated), instant (RTP via synthetic accounts) | No changes required; set funding_timing per transaction to opt in |
| Default funding fields (on processing account) | account_defaults on PaymentMethod objects | Configure deposit/withdrawal routing via account_defaults |
| Single funding method per account | Multiple funding methods per account + per-object overrides | Adopt multi-method funding where useful |
Billing & Invoicing
| v1 Feature | v2 Equivalent | Migration Action |
|---|---|---|
Invoice + line_items | Invoice + line_items (with item groups, tax rates, attachments) | Update Invoice code for new optional fields as needed |
BillingSchedule + billing_charges | BillingSchedule + billing_items (with item groups) | Rename billing_charges to billing_items; adopt item groups where useful |
customer / processing fields on invoices | payer / biller fields | Rename field references in invoice/schedule contexts |
| Autopay on invoice due date (customer default method) | Autopay + per-invoice / per-schedule custom payment method override | No changes required; set custom payment methods where useful |
| N/A | External Payments (record cash, wire, check against open invoices) | New implementation for complete reconciliation |
Payment Collection
| v1 Feature | v2 Equivalent | Migration Action |
|---|---|---|
| Checkout Plugin (modal) | Checkout Plugin (unchanged concept) | Update embed code to v2 Payload.js integration |
| Payment Link (one-time or reusable, hosted) | Payment Link (unchanged) | Update customer / processing field references to payer / biller |
| Secure Input (form fields) | Payment Form via Payload.js | Update Payload.js integration, tokenization, submit handler |
| Payment API (direct transaction creation) | Payment API (unchanged concept) | Minimal changes; update endpoint paths and status handling |
| Authorize & capture (per-API-key toggle) | Two-Step Processing (automatic mode or manual mode) | Review capture timing; use automatic (2-min) or explicit manual mode |
Enrollment
| v1 Feature | v2 Equivalent | Migration Action |
|---|---|---|
| Application Link (hosted form) | Enrollment Link (renamed, backed by unified Intent API) | Update references from Application Link to Enrollment Link |
| Processing Account Form (embedded modal) | Enrollment Plugin (renamed, same concept) | Update references from Processing Account Form to Enrollment Plugin |
| N/A (custom API-based onboarding) | API-Driven Enrollment (entity + bank + KYC in one call) | New implementation for advanced flows requiring full UI control |
Webhooks
| v1 Feature | v2 Equivalent | Migration Action |
|---|---|---|
| No signature | Payload-Signature header (HMAC-SHA256) — available on both v1 and v2 | Implement signature verification (recommended for v1 too) |
| No stable event ID | Idempotent event IDs — available on both v1 and v2 | Deduplicate retries using event ID |
| Fixed retry policy | Configurable retries per subscription — available on both v1 and v2 | Tune retry policy per webhook as needed |
Net-New v2 Features
| Feature | Description |
|---|---|
| Synthetic Accounts | Subledger accounts for wallets, escrow, store credits, instant payout funding |
| Dynamic Funding | Multi-party payment splits via transfers array |
| Multi-Method Funding | Multiple funding methods per processing account with per-object overrides |
| Processing Rules | Admin-configured conditional pricing rules by amount, card brand, etc. |
| Instant Payouts via RTP | Real-time payout delivery via RTP (funded through synthetic accounts) |
| API-Driven Enrollment | Create processing accounts and submit KYC entirely via API |
| Unified Intent API | Single polymorphic Intent API across checkout, payment forms, enrollment |
| Digital Wires | Programmable same-day good-funds payment flow |
| Check21 / Check Conversion | Digital check acceptance through the unified transaction flow |
| Manual Batching | Manual settlement windows (reserved for advanced integrations) |
| Net Fee Billing | Processing account fees deducted from settlements automatically |
| Billing Statements via API | Programmatic access to billing statements |
| Individual Entities | Entity objects now support individuals in addition to businesses |
| Internationalization (Entities) | Country-specific tax IDs, address formats, and KYC flows |
| Universal Entity Attachment | Entities can be attached to any account type, not just processing |