Subchapter 1.7
references/recommendation-template.mdMarkdown14 KBView on GitHub
Use this reference to generate the recommendation output. It defines the full output structure, section requirements, fee guidance rules, and template formatting.
Output MUST include all of these sections:
dashboard, fees_collector, losses_collector) with explicit Accounts v2 declaration, no legacy typemerchant configuration for direct chargesrecipient configuration for destination or separate chargesexpress login links, full direct dashboard.stripe.com access, none embedded-components-primary interface)notification_banner and charge-pattern caveatslosses_collector: "application", explain the causal chain in plain language: platform owns negative balance liability, connected-account balances can go negative when needed, and transfer reversals can be used for dispute recoverycustomer_account guidance only for SaaS billing connected accountsapplication_fee_amount explanation and calculation modeIf any section is missing, add it before moving on.
## Recommended Connect integration
### A. Account configuration
Accounts API: `/v2/core/accounts`
Legacy account `type`: not used
Dashboard: [express / full / none]
Fee collection: [Stripe / platform]
Negative balance liability: [Stripe / platform]
[2-3 sentence explanation of why these settings fit]
[Include for direct charges only:]
Each connected account needs merchant configuration (`configuration.merchant`) for direct charges.
[Include for destination or separate charges only:]
Each connected account needs recipient configuration (`configuration.recipient`) with `stripe_transfers` on `stripe_balance` requested, so the account can receive transfers from the platform.
### B. Charge pattern: [destination / direct / separate charges and transfers]
Include this wording (adapted to context) when charge pattern is destination or separate charges and transfers:
“Each connected account needs the recipient configuration (configuration.recipient) with stripe_transfers on stripe_balance requested, so the account can receive transfers from the platform. Marketplace connected accounts should NOT request merchant configuration or card_payments capability — this is unnecessary and causes longer onboarding.”
connect-build skill.Always present loss liability and risk management as separate concepts:
losses_collector): who is financially responsible for negative balances on connected accounts.When losses_collector: application (platform owns loss liability), emphasize that Radar is essential — fraudulent charges that slip through come directly out of the platform’s balance. For marketplaces using destination charges, the platform is merchant of record and must manage risk.
When fees_collector: "stripe" and using direct charges, the connected account is charged the processing fee directly. The application_fee_amount is in addition to that and goes directly to the platform.
With destination or separate charges, the platform ALWAYS pays Stripe’s processing fees.
Do NOT hardcode Stripe fee amounts (rates vary by region, card type, method, and negotiated pricing).
Do NOT make absolute profit and loss guarantees.
Do NOT recommend application_fee_amount for separate charges and transfers (instead, retain fee by transferring less than charge amount).
Do NOT set explicit application_fee_amount when Platform Pricing Tool is used (doing so will override tool logic).
Always link to stripe.com/pricing (opens in a new tab).
For platform-owned pricing, recommend Platform Pricing Tool (opens in a new tab) and margin report (opens in a new tab). Platform Pricing Tool and explicit application_fee_amount are mutually exclusive — don’t recommend both.
Mention Brazil or Malaysia cross-border fee-collection constraints where relevant.
For low flat fees on variable amounts, warn about margin compression at larger ticket sizes.
For very small transactions, warn about currency minimums and fee-to-proceeds effects.
Every recommendation MUST explicitly:
applicationFeeIncludes value (stripe_fee_estimate or platform_fee_only) and explain what it means for the platform’s marginThis section only applies when the platform is NOT using direct charges with Stripe-owned pricing (fees_collector: "stripe"). In that configuration, the connected account pays Stripe fees directly and this concern doesn’t apply.
When platform fee appears low relative to processing fees, keep this order:
application_fee_amount logic (platform fee + estimated Stripe fee) and explain why it preserves margin.Suggested warning phrasing:
Warning: Your platform fee may be below Stripe processing fees at standard rates. With this charge pattern, your platform pays Stripe processing fees on every transaction. If you absorb those fees, your net per transaction may be negative. Check stripe.com/pricing (opens in a new tab) for your region and payment-method mix.
Recommend the option that fits the user’s margin goal. Present both options only when the margin goal or constraints are genuinely unclear.
To disambiguate, ask: “Are you trying to make X% margin, or do you want your users to pay X%?” The answer determines which option to recommend.
When destination or direct flow uses application_fee_amount, choose guidance as follows:
application_fee_amount = platform fee + estimated Stripe processing fee (still an approximation — actual rates vary by region, card type, and payment method)application_fee_amount = platform fee onlyAlways include gating guidance to prevent transfers and payouts for unready accounts. stripe_balance.payouts is auto-requested when card_payments or stripe_transfers is requested, so do NOT explicitly request stripe_balance.payouts in account create/update calls.
Use:
configuration.merchant.capabilities.card_payments.statusconfiguration.merchant.capabilities.stripe_balance.payouts.statusconfiguration.recipient.capabilities.stripe_balance.stripe_transfers.statusconfiguration.recipient.capabilities.stripe_balance.payouts.statusDo NOT rely on v1 charges_enabled or payouts_enabled booleans for this flow.
The embedded components section should list the components selected during Step 4b (see SKILL.md for selection logic and charge-pattern compatibility caveats). See Connect embedded components (opens in a new tab) for documentation.