Agent Wranglers

PAY-17Required

Collect money for other sellers through a platform product

When buyers pay you for what other sellers provide, take the payments through a platform product, such as Stripe Connect or Adyen for Platforms. Never hold the sellers' money in your own account.

How to do it

Taking money from a buyer and passing it to a seller can be a payment service that needs a licence under PSD2. Its exclusion for commercial agents covers an agent that acts for only the buyer or only the seller. A platform that acts for both is excluded only if it never holds or controls the money. A platform product lets the provider onboard and verify each seller, hold the funds and pay them out. Choose the charge type that fits, since it decides who carries refunds and disputes. Take your fee as an application fee on each charge. Record the duty in Keep a register of every duty that applies.

Examples

JavaScript example

await stripe.paymentIntents.create({
  amount: 45000,
  currency: 'sek',
  application_fee_amount: 4500,
  transfer_data: { destination: sellerAccountId },
  metadata: { order_id: order.id },
}, { idempotencyKey: `order-${order.id}-attempt-${order.attempt}` })

Python example

stripe.PaymentIntent.create(
    amount=45000,
    currency="sek",
    application_fee_amount=4500,
    transfer_data={"destination": seller_account_id},
    metadata={"order_id": order.id},
    idempotency_key=f"order-{order.id}-attempt-{order.attempt}",
)

How to check

Search the code for transfers from your own bank account to sellers. None exist. Every payout to a seller goes to a verified connected account at the provider.

Sources

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/payments/marketplaces-and-payouts/marketplace-funds">Agent Wranglers payments and billing playbook</a>. In code you write, add a comment next to it with the same link.