Swft Digital
Detects downloadable and virtual products in the cart, skips the shipping step for all-digital orders, and shows download links on the Swft Checkout confirmation screen the moment payment completes.
Swft Digital is free. There is no configuration — it works the second you activate it.
What it does
Section titled “What it does”For carts containing only virtual products (no shipping required), Swft Digital removes the shipping step entirely. The shopper goes details → payment → confirmation with one fewer screen.
For carts containing downloadable products, the confirmation screen surfaces download links immediately. Links also appear in WooCommerce’s order confirmation email per the normal WC behaviour.
Prerequisites
Section titled “Prerequisites”- WordPress 6.0+
- WooCommerce 8.0+
- PHP 7.4+
- Swft Checkout active
- Products marked as Downloadable or Virtual in the WooCommerce product editor
Installation
Section titled “Installation”- Install the Swft Digital plugin from your Swft dashboard’s downloads section.
- Activate it.
- That’s it. Mark your products as Downloadable and/or Virtual in the product editor.
There’s a Swft → Swft Digital admin page that shows how many downloadable products the plugin has detected, but no configuration is needed.
How it works under the hood
Section titled “How it works under the hood”On every checkout session creation, the plugin hooks swft_session_extensions to scan the cart. If every product is virtual, extensions.digital.all_virtual is set to true — Swft Checkout uses this to skip the shipping step. If any product is downloadable, extensions.digital.has_downloads is set, and the checkout knows to expect download URLs on the confirmation screen.
When payment completes and the WooCommerce order is created, the plugin hooks woocommerce_payment_complete, asks WooCommerce for the download URLs for each item in the order, and stores them in the order’s _swft_digital_downloads meta. The Swft API reads that meta when serving the confirmation screen.
Behaviour
Section titled “Behaviour”| Cart contains | Shipping step | Download links |
|---|---|---|
| Only virtual products | Skipped | N/A |
| Only downloadable products (some are virtual, some need shipping) | Shown — shopper still needs to give an address | Shown on confirmation |
| Mix of physical + virtual | Shown | Shown on confirmation |
| Only physical products | Shown | None |
Gotchas
Section titled “Gotchas”- Products must be marked Downloadable in the WooCommerce product editor. The plugin doesn’t auto-detect digital products by SKU or category.
- Download link expiry and access limits are controlled by WooCommerce’s product download settings — Swft Digital just surfaces the links.
- Virtual products that aren’t downloadable (e.g. service bookings) still skip shipping but won’t show download links — they don’t have any.