Shipping to multiple destinations, or multi ship, allows shoppers to send items within an order to different addresses or use a combination of fulfillment methods for the items, such as direct ship, in-store pickup, or gift card (digital) delivery. For example, assume a shopper creates an order with the following items:
- Vacuum cleaner
- Decorative mirror
- Bedding set
If your site has multiple destinations enabled, the shopper could choose to pick up the vacuum cleaner and mop at a local store, ship the decorative mirror to their home address, and ship the bedding set to their child's address as a gift.
This is not the same functionality as having multiple shipments on an order. Sites without multiple destinations enabled (single ship) can still split orders into multiple shipments, such as when order routing rules determine that some items need to be fulfilled by one warehouse while other items need to be fulfilled by a different warehouse.
The difference between single ship and multi ship is the number of fulfillment addresses you can ship items to: single ship allows for only one address, while multi ship allows multiple.
Splitting Orders and Payments
When the shopper selects to ship to multiple addresses, the items are split into different orders based on the fulfillment cases. Each order and its shipments are fulfilled separately and can be individually canceled, reassigned, or have their prices edited.
How Orders Are Split
Sites that support multiple destinations create orders based on shipment groupings. Direct ship items going to the same destination are grouped within their own order, and all in-store pickup and gift card items are grouped into the first order created (which can include direct ship items). For example, take an order where a shopper purchases six items. Items A and B are direct ship items to different destinations, Items C and D are in-store pickup items, and Items E and F are gift cards. In this case, two orders will be created, as follows:
- Item A (direct ship item to Destination A)
- Item C (in-store pickup item bundled into the first order created)
- Item D (in-store pickup item bundled into the first order created)
- Item E (gift card bundled into the first order created)
- Item F (gift card bundled into the first order created)
- Item B (direct ship item to Destination B)
Payment gateways must support multiple capture in order to process split payments. Only PayPal Express and Visa Checkout are supported as third-party payment methods - Pay with Amazon is not supported.
Auto capture is supported alongside multi ship. When both multi ship and auto capture are enabled, the system will re-authorize the credit card payment transaction as needed for the amount of sibling orders that were created for the multi ship case. It will follow the below steps:
- Check all the sibling orders to determine the total amount that needs to be captured
- Check all the sibling orders to determine the total amount to reauthorize
- Capture and update payment status on all child orders
In the case of cancellation, the automatic credit process will determine the total amount to be credited across all sibling orders.
For information about the payment actions and rollup payment statuses that can be made on orders, see the Payment Processing guide.
As with standard orders, you can choose whether to authorize and capture credit cards on order placement or order submit. To select these options:
- Navigate to System > Settings > Payment Types.
- Under the Credit Cards tab, under the Order Processing section, select either Authorize And Capture On Order Placement or Authorize On Order Placement And Capture On Order Shipment.
- Select Save.
You can capture payments from a check across multiple orders, but you can only capture one payment per order from the same check.
You can capture multiple payments from purchase orders per order. However, once you capture payment at the order level, the system will not allow you to capture payment at the checkout level for the checkout containing that order.
If you void a payment for an individual order, the system returns an amount equal to that order's payment to the shopper's purchase order balance.
The system automatically captures store credit payments per order.
If you void a credit card payment for a single order within a checkout, the system performs a no-op void for that order.
If you perform a void at the checkout level, all orders will be voided as a no-op void except for the last order. The last order will be voided normally, which means it will both void the payment and call the payment gateway. The payment gateway then closes the payment authorization for that credit card.
When voiding all orders in a checkout with multiple destinations, the system displays $0 voided for any orders that were no-op voided. This is because the final void on the last order voids the full amount authorized for the payment.
It is very important to consider whether discounts should apply to orders that contain multiple destinations. There is a checkbox when you create discounts (Discount will not apply on multi ship orders in the Discount Limitations section). This checkbox disables the discount on any orders that contain multiple destinations.
Certain discounts should never apply to orders that contain multiple destinations. For example, consider a discount that takes $10 off shipping on orders of $100 or more. On a site that has multi ship enabled, a shopper can purchase three items collectively worth over $100, and then choose to ship each item to a unique address.
If there was only one destination to ship to, this discount would have taken $10 off shipping one time, but because there are three shipments, the discount will take $10 off three times. In this case, you would want to use the checkbox to disable such a discount on orders that contain multiple destinations.
Fraud checks run on each order created after the shopper submits their checkout. For example, if an order with multiple destinations results in three orders generated, fraud checks run on all three orders individually.
Enable Multiple Destinations
This feature can be enabled in your Admin general settings. This feature applies at the site level.
- Go to System > Settings > General.
- Select the site you want to enable multiple destinations for.
- Use the context switcher to view the Storefront settings.
- Enable Ship to Multiple Addresses.
After you enable this feature, shoppers or CSRs can create orders with items shipping to different addresses or using different shipping methods. You can view how the order items are split by viewing the Order details page for the appropriate order:
- Go to Main > Orders.
- View an order (note that one checkout can result in multiple orders, as detailed in the Orders section of this topic).
- Use the context switcher to view the Fulfillment tab. The order items are arranged by Direct Ship Items, In-store Pickup, or Gift Cards, as shown in the following screenshot:
Use the Multi Ship API
To learn about using the API to manage multiple destinations, refer to the Multiple Addresses API Guide.
View Transaction History Across Child Orders
Since a payment may be shared and acted upon from a checkout or one of its child orders, the payment's transaction history includes a From field that indicates where each interaction took place.
For example, the screenshot below shows the transaction history for an order labeled Order 537, which is a child order of Order 536. Since the payment for Order 537 was authorized on Order 536 (at the checkout level), that interaction is included on the transaction history for Order 537.
Using Shared Payments via the API
Capture Payment at the Checkout Level
You can capture, create, and process a payment at the checkout level using the following resources in the API:
Checkouts track interactions between child orders and a payment method using the subpayments field. The subpayments field indicates how much of a payment was applied to a child order.
Limitations on Shared Payments API
- When capturing payment at the checkout level via the API, you must specify the amount to capture. The amount you specify must equal the total amount requested for each outstanding subpayment.
- The system does not currently support creating checkout-level payments after the checkout has been submitted.
- When retrieving an order or checkout resource via the API, its collection of payments will include an AvailableActions field on each payment. The list of available actions for a shared payment may differ based on whether it's within the context of the checkout or one of the orders. For instance, if you capture a shared credit card from one of the orders (also known as an order-level capture), the available actions for the shared payment on that order will show CreditPayment as an available action. If you view the same shared payment from one of the sibling orders, CreditPayment will not be an available action since no funds were captured from that order.