Agent Wranglers

Required

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.

Risk if broken

A law broken

Applies when

The project it takes payments.

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

Using these examples: they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

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/amounts-and-orders/marketplace-funds">Agent Wranglers payments playbook</a>. In code you write, add a comment next to it with the same link.