Checkout
How the customer checkout flow works — cart, address, shipping, payment, and confirmation.
The checkout is the final step where customers complete their purchase. Workfile uses a streamlined multi-step checkout designed to minimize abandonment and maximize conversions.
Checkout steps
The checkout flow has four steps:
| Step | What happens |
|---|---|
| 1. Information | Customer enters shipping and billing address |
| 2. Shipping | Customer selects a shipping method and rate |
| 3. Payment | Customer chooses payment method and completes payment |
| 4. Confirmation | Order is created, confirmation shown |
The checkout is a single-page experience — all steps are on one page with a progress indicator at the top. Customers can go back to previous steps without losing their data.
Cart page
Before checkout, customers manage their cart at /cart:
- View all items with images, names, variants, and prices
- Adjust quantities (+ / −)
- Remove individual items
- Clear the entire cart
- See subtotal
- Click Checkout to proceed
The cart is stored client-side — it persists across page refreshes but clears after a successful order.
Step 1: Information
Customers enter their delivery details:
| Field | Required | Example |
|---|---|---|
| Full name | Yes | Rahul Mehta |
| Yes | rahul@example.com | |
| Phone | Yes | +91 99887 76655 |
| Address line 1 | Yes | 42, MG Road, Koramangala |
| Address line 2 | No | Near Forum Mall |
| City | Yes | Bengaluru |
| State | Yes | Karnataka |
| Pincode | Yes | 560034 |
| Country | Yes | India |
| Landmark | No | Opposite SBI Bank |
Saved addresses
Logged-in customers see their saved addresses and can select one with a single click — no need to re-type. They can also add a new address during checkout.
Billing address
By default, the billing address is the same as shipping. Customers can toggle "Use a different billing address" to enter separate billing details.
Customer notes
An optional notes field lets customers add delivery instructions (e.g., "Please gift wrap" or "Deliver after 5 PM"). These appear on the order detail page in your dashboard.
Step 2: Shipping
After entering their address, customers see available shipping options:
| Info shown | Example |
|---|---|
| Courier name | Delhivery Surface |
| Estimated delivery | 3-5 business days |
| Shipping cost | ₹99 |
Customers select their preferred option. The shipping cost is added to the order total.
Shipping rates are calculated by your connected shipping app (e.g., Shiprocket) based on the customer's pincode, package weight, and dimensions. If no shipping app is configured, this step shows a flat rate or is skipped for digital/service orders.
When shipping is skipped
The shipping step is automatically skipped when:
- All items are digital products (delivered via download)
- All items are services (delivered in person or online)
- The order is pickup-only
Step 3: Payment
Customers choose how to pay:
| Method | Description |
|---|---|
| Online payment | UPI, cards, wallets, net banking via Razorpay |
| Cash on Delivery | Pay when the order arrives |
Online payment flow
When the customer clicks Pay Now:
- Razorpay's secure checkout opens (modal overlay)
- Customer selects UPI, card, wallet, or net banking
- Completes payment through their bank/app
- Returns to your store with payment confirmed
COD (Cash on Delivery)
If COD is enabled and the order meets your COD rules (min/max amount), customers can select it. A COD fee may be added (configurable in your Razorpay app settings).
Coupons
Customers can apply a coupon code in the order summary sidebar. The discount is calculated and shown immediately:
- Percentage discounts show the amount saved
- Fixed discounts subtract from the total
- Free shipping coupons remove the shipping cost
- Invalid or expired codes show a clear error message
Online payment discount
If you've configured an online payment discount (e.g., "₹50 off for online payment"), it's shown as an incentive to pay online instead of COD.
Online payment discounts are one of the most effective ways to reduce COD orders. Even a small ₹30-50 discount significantly shifts customers toward prepaid orders — which means fewer returns and faster cash flow.
Step 4: Confirmation
After successful payment (or COD selection):
- The order is created in your dashboard
- The customer sees a confirmation page with:
- Order number
- "Thank you" message
- Summary of what was ordered
- A confirmation email is sent to the customer
- The cart is cleared
Order summary sidebar
Throughout checkout, a sidebar shows:
| Line | Example |
|---|---|
| Items (with images) | Banarasi Silk Saree × 1 |
| Subtotal | ₹2,499.00 |
| Discount (if coupon applied) | −₹250.00 |
| Shipping | ₹99.00 |
| Tax (GST) | ₹404.82 |
| COD fee (if applicable) | ₹50.00 |
| Online discount (if applicable) | −₹50.00 |
| Total | ₹2,752.82 |
Guest checkout vs account checkout
| Feature | Guest | Logged in |
|---|---|---|
| Place order | ✓ | ✓ |
| Saved addresses | ✗ | ✓ (one-click selection) |
| Order tracking | Via email link | Full account dashboard |
| Faster repeat orders | ✗ | ✓ |
Guest checkout captures all customer details on the order itself. You can still see their name, email, phone, and address in the order detail page — they just don't have an account to track orders themselves.
Checkout for services
When a customer books a service, the checkout flow is slightly different:
- Select date and time (instead of shipping address)
- Fill intake form (if linked to the service)
- Pay deposit or full amount (via Razorpay)
- Confirmation with booking details
See Services & Bookings and Bookings for the full booking flow.
Configuring checkout behavior
Checkout behavior is controlled by several settings:
| Setting | Where to configure |
|---|---|
| Payment methods | Apps → Razorpay |
| COD rules (min/max/fee) | Apps → Razorpay → COD settings |
| Online payment discount | Apps → Razorpay → Discounts |
| Shipping rates | Shipping |
| Coupons | Coupons |
| Tax rates | Store Settings → Tax |