> Agent-readable docs index: /llms.txt. Download /docs.zip to grep all markdown files locally.

---
title: "Order placement"
description: "Learn how Rye submits orders to merchants"
---

A single Rye cart can contain products from multiple different stores. When you submit a cart using the [`submitCart`](/api-reference/submitcart) mutation Rye is responsible for splitting the cart into separate orders for each store and managing the lifecycle of each child order.

## Order submission

When you submit an order using [`submitCart`](/api-reference/submitcart), Rye will break up the cart into separate orders for each store and submit each one separately.

The [`Cart`](/api-reference/cart) object exposes a `stores` field which contains a list of stores that the cart contains products from. You can use this to determine which stores will receive orders when you submit the cart.

Here are some scenarios to illustrate this more concretely.

<Tabs>
  <Tab title="Jack's shoes (single-merchant)">
    **Jack** is buying a pair of shoes from his favorite influencer. The influencer runs a Shopify store that has been integrated with Rye via the [Sync API](/sync-api-overview). The shoes cost $50.

    If a developer inspected the `cart`, they would see only a single entry inside `stores`. This indicates that the cart contains products from a single store.

    When Jack submits his cart, Rye debits your Developer Account for $50 and places an order with the influencer's Shopify store. The order will be fulfilled by the influencer, and Jack will receive a single delivery.
  </Tab>

  <Tab title="Jane's birthday (multi-merchant)">
    **Jane** is planning a birthday party for her daughter, and requires some party supplies. She adds a cake and balloons from a Shopify store named "Rye's Party Supplies", and some party hats from Amazon. The goods from Rye's Party Supplies cost a total of $15, and the goods from Amazon cost $5.

    If a developer inspected the cart, they would see two different entries in the `stores` field which indicates that the cart contains products from two different stores.

    When Jane submits her cart, Rye debits your Developer Account twice—$15 for the Shopify store and $5 for Amazon. After this, Rye will place an order with Rye's Party Supplies for $15, and an order with Amazon for $5. Each merchant will fulfil their order separately, and Jane will receive two separate deliveries.
  </Tab>
</Tabs>

## Charges

For each store in the cart, Rye will create a separate charge for each store. Rye's charges will show up in your Developer account once the order is placed with the respective marketplaces.

## Developer

Rye handles routing payments and tracking delivery updates for each order and combines the information into a single [`Checkout`](/api-reference/checkout) resource. Developers are able to inspect the status of individual child orders by querying the `orders` field on a `Checkout`.

Additionally, Rye will also send out webhooks when child orders change their status. This allows developers to integrate with Rye's order lifecycle and keep their own systems in sync with Rye.

Note that because submitting a single cart can involve multiple different merchants, **submitting a cart is an asynchronous operation**. While a `Checkout` object will be immediately returned, it may not mean the underlying orders have successfully been placed. You should always inspect the `orders` field on a `Checkout` to determine the status of each child order.


---

*Powered by [holocron.so](https://holocron.so)*
