Tenant invoice payments run as direct charges on Accounts v2 connected accounts, with Stripe as requirements and losses collector and onboarding embedded in the app.
Organizations send invoices to their own customers, for example a garage invoicing a car owner. The customer should pay online, see the garage on the payment page and on the bank statement, and the money should land with the garage. The organization owner should have to set up as little as possible. ScaleDock earns a platform fee per payment next to the subscription and credits it already bills through Stripe Billing (ADR 0010).
Today CentraKit creates legacy Express connected accounts, onboards them through hosted Account Links and charges invoices as destination charges with transfer_data.destination and application_fee_amount, without on_behalf_of. Express accounts carry losses_collector: application and fees_collector: application_express. That makes ScaleDock the merchant of record:
type parameter as deprecated and no longer recommends Accounts v1 for new Connect integrations.The minimum an organization owner must provide is set by law, not by Stripe. Under the EU anti-money-laundering rules (in the Netherlands Wwft article 3, for Stripe's Irish entities the Irish transposition of the same directive) the payment provider must identify and verify the business, its ultimate beneficial owners and the authority and identity of its representative. For a Dutch account with card_payments, Stripe asks for the MCC and website; for a company also its registered name, address, phone and KvK number, the representative's name, date of birth, home address, email and phone, and owners and directors for a BV or VOF; for a sole proprietor onboarded as an individual their own details, with a KvK number once iDEAL is requested. Every account accepts the Stripe terms and adds a bank account for payouts. Every PSP asks for the same set, so "only an IBAN" is not possible. Stripe holds the funds in both the current and the new construction, but with direct charges the organization is the merchant of record and Stripe's contracting party, which is the position the PSD2 check below needs to confirm.
v2/core/accounts account. The customer configuration carries its plan subscription, credits and overage with ScaleDock (ADR 0010), and the merchant configuration is added when it turns on online payments. The organization pays ScaleDock from its own bank account or card (SEPA Direct Debit or card), never from its Stripe balance; the customer configuration only replaces the separate v1 Customer object.defaults.responsibilities.losses_collector and fees_collector are stripe. Stripe collects and verifies the requirements, carries negative balances and charges its processing and dispute fees to the organization. The application fee is ScaleDock's margin only, and the platform pays no per-account or per-payout Connect fees. The platform fee starts as a fixed 1 EUR per payment, excluding VAT, through the existing invoice_payment_fee setting.dashboard: none. Organizations never use a Stripe Dashboard. CentraKit renders Connect embedded components instead: account_onboarding, notification_banner and account_management, which Stripe requires when it is losses collector, plus payment_details (refunds and disputes for one payment, opened from CentraKit's own payments list) and payouts. Refunds started in the payment_details component do not refund the application fee, so CentraKit applies its refund policy for the fee itself. dashboard: express with Stripe as losses collector is a public preview, so it is not used.Stripe-Account header) with application_fee_amount. The organization is the merchant of record, its name appears in the payment flow and on the statement, and refunds and disputes run against its balance.20261022190000_retire_legacy_connect_accounts.sql removes connected accounts that never received a v2 snapshot (no card payments status and no customer configuration) and cancels their open online payments, so the organization activates online payments again on Accounts v2. Destination charges from v1 keep their payment rows. Their payment, refund and dispute events still arrive on the platform endpoint, which looks the PaymentIntent up among stored payments whose account is no longer a payment account and applies the event through the same handler as the Connect endpoint, so a payment that was still processing at deploy settles the invoice and later refunds and disputes are recorded.on_behalf_of. The garage name reaches the statement, but the platform still carries refunds, disputes and Stripe fees, and onboarding needs the same card_payments requirements. No gain for the organization.losses_collector: application, which also forces fees_collector: application, with dashboard: none). Allows onboarding without a Stripe sign-in, but ScaleDock becomes liable for negative balances and fraud, processes identity data itself and must keep up with every KYC requirement change.Last updated on