Commerce Marketplace Lab
Use Cases and Example Implementations
Maciej Zgadzaj
Maciej Zgadzaj
Drupalista since 2007
Commerce Guy since 2012
Marketplace hobbyist since 2013
@maciejzgadzaj
drupal.org/u/maciej.zgadzaj
linkedin.com/in/maciejzgadzaj
Drupal Commerce
●
no concept of vendors / stores
●
payment methods enabled and configures site-wide
●
one checkout = one order
Drupal Commerce + Commerce Marketplace
●
vendors: new commerce_store entity type
●
for each store / store owner:
– custom stores / products / orders views in My account
– custom payment method management / configuration
●
one checkout = multiple orders, multiple payments*
– orders grouped by new order_group property
– order split by store + other selected fields
– new marketplace checkout pages / panes
Marketplace payments: possible flows
●
one receiver:
– single simple payment
●
multiple receivers:
– parallel payment
– chained payment
– multiple simple payments
Payment flows: Single simple payment
single payment
to a single receiver
Scenario:
●
a single payment for one or multiple items from one vendor (store)
●
multiple vendors - payment sent to main store (marketplace)
Conditions:
●
possible in all cases when a customer buys from one vendor (store)
only
Payment flows: Parallel payments
payment
from one sender
split directly
amongst multiple
receivers
Payment flows: Parallel payments (cont'd)
Scenario:
●
from customer perspective: a single payment for multiple items from
multiple vendors (stores) – enter credit card/any other details only once
●
from marketplace perspective: multiple payments sent from customer
directly to multiple vendors (store owners)
Conditions:
●
the customer buys from more than one vendor (store) during one
transaction
●
all stores the customer buys from during this transaction support the
same payment method which implements parallel payments
Payment flows: Chained payments
payment
from one sender
split indirectly
amongst multiple
receivers
Payment flows: Chained payments (cont'd)
Scenario & conditions:
●
almost the same as for parallel payments
●
the only difference - payments from customer are sent indirectly to
multiple vendors, with marketplace in-between being the primary
receiver
Drawbacks:
●
possible issues for marketplace owner:
●
complaints
●
disputes
●
higher fees
●
tax issues
Payment flows: Multiple simple payments
multiple payments
from one sender
directly to
multiple receivers
Payment flows: Multiple simple payments (cont'd)
Scenario:
●
from customer perspective: multiple payments for multiple items from
multiple vendors (stores) – enter credit card/any other details multiple
times
●
from marketplace perspective: multiple single payments sent from
customer directly to multiple vendors (store owners)
Conditions:
●
the customer buys from more than one vendor (store) during one
transaction
●
all stores the customer buys from during this transaction do not
support the same payment method which implements chained
payments
Yada yada yada...
Demo time!
Clicky
●
Commerce Marketplace module
drupal.org/sandbox/maciej.zgadzaj/1950386
github.com/maciejzgadzaj/commerce_marketplace
●
Commerce Marketplace blog posts
zgadzaj.com/tag/commerce-marketplace
●
Commerce Marketplace contribs (DDD sprint!)
●
Commerce Marketplace Ogone
drupal.org/sandbox/maciej.zgadzaj/commerce_marketplace_ogone
github.com/maciejzgadzaj/commerce_marketplace_ogone
●
Commerce Marketplace PayPal (parallel support!)
drupal.org/sandbox/maciej.zgadzaj/commerce_marketplace_paypal
github.com/maciejzgadzaj/commerce_marketplace_paypal
BoF: Friday 17:00 - 18:00, room TD.5.20
I can has questionz?
Thanks!

Commerce Marketplace Lab: Use Cases and Example Implementations

  • 1.
    Commerce Marketplace Lab UseCases and Example Implementations Maciej Zgadzaj
  • 2.
    Maciej Zgadzaj Drupalista since2007 Commerce Guy since 2012 Marketplace hobbyist since 2013 @maciejzgadzaj drupal.org/u/maciej.zgadzaj linkedin.com/in/maciejzgadzaj
  • 3.
    Drupal Commerce ● no conceptof vendors / stores ● payment methods enabled and configures site-wide ● one checkout = one order
  • 4.
    Drupal Commerce +Commerce Marketplace ● vendors: new commerce_store entity type ● for each store / store owner: – custom stores / products / orders views in My account – custom payment method management / configuration ● one checkout = multiple orders, multiple payments* – orders grouped by new order_group property – order split by store + other selected fields – new marketplace checkout pages / panes
  • 5.
    Marketplace payments: possibleflows ● one receiver: – single simple payment ● multiple receivers: – parallel payment – chained payment – multiple simple payments
  • 6.
    Payment flows: Singlesimple payment single payment to a single receiver Scenario: ● a single payment for one or multiple items from one vendor (store) ● multiple vendors - payment sent to main store (marketplace) Conditions: ● possible in all cases when a customer buys from one vendor (store) only
  • 7.
    Payment flows: Parallelpayments payment from one sender split directly amongst multiple receivers
  • 8.
    Payment flows: Parallelpayments (cont'd) Scenario: ● from customer perspective: a single payment for multiple items from multiple vendors (stores) – enter credit card/any other details only once ● from marketplace perspective: multiple payments sent from customer directly to multiple vendors (store owners) Conditions: ● the customer buys from more than one vendor (store) during one transaction ● all stores the customer buys from during this transaction support the same payment method which implements parallel payments
  • 9.
    Payment flows: Chainedpayments payment from one sender split indirectly amongst multiple receivers
  • 10.
    Payment flows: Chainedpayments (cont'd) Scenario & conditions: ● almost the same as for parallel payments ● the only difference - payments from customer are sent indirectly to multiple vendors, with marketplace in-between being the primary receiver Drawbacks: ● possible issues for marketplace owner: ● complaints ● disputes ● higher fees ● tax issues
  • 11.
    Payment flows: Multiplesimple payments multiple payments from one sender directly to multiple receivers
  • 12.
    Payment flows: Multiplesimple payments (cont'd) Scenario: ● from customer perspective: multiple payments for multiple items from multiple vendors (stores) – enter credit card/any other details multiple times ● from marketplace perspective: multiple single payments sent from customer directly to multiple vendors (store owners) Conditions: ● the customer buys from more than one vendor (store) during one transaction ● all stores the customer buys from during this transaction do not support the same payment method which implements chained payments
  • 14.
  • 15.
    Clicky ● Commerce Marketplace module drupal.org/sandbox/maciej.zgadzaj/1950386 github.com/maciejzgadzaj/commerce_marketplace ● CommerceMarketplace blog posts zgadzaj.com/tag/commerce-marketplace ● Commerce Marketplace contribs (DDD sprint!) ● Commerce Marketplace Ogone drupal.org/sandbox/maciej.zgadzaj/commerce_marketplace_ogone github.com/maciejzgadzaj/commerce_marketplace_ogone ● Commerce Marketplace PayPal (parallel support!) drupal.org/sandbox/maciej.zgadzaj/commerce_marketplace_paypal github.com/maciejzgadzaj/commerce_marketplace_paypal BoF: Friday 17:00 - 18:00, room TD.5.20
  • 16.
    I can hasquestionz?
  • 17.