🗺️ Shipping zone
A region you deliver to, like "Delhi NCR" or "Rest of India."
Part 3 of 3. Payment gateways, shipping, SMS and WhatsApp notifications, and coupons that bring customers back.
A payment gateway is the secure bridge between your customer's bank and your bank account.
WooCommerce includes simple offline options, and you add a gateway plugin for online payments. For an Indian store, that usually means UPI, cards and net banking through a gateway such as Razorpay.
| Option | How it works | Good for |
|---|---|---|
| Cash on delivery | Built in. Customer pays the courier | Customers who don't trust online payment yet |
| Direct bank transfer | Built in. Customer transfers money manually | Small or B2B orders |
| Gateway plugin (Razorpay and similar) | Customer pays by UPI, card or net banking on the checkout | Most online stores |
The card machine or QR code at a shop counter. You don't handle anyone's bank details yourself. The gateway handles the money safely and tells your shop, "Payment received."
Cash on delivery has a catch. Some COD orders get refused at the door, and you pay for shipping both ways. Many shops offer it but encourage online payment with a small discount.
Razorpay has an official WooCommerce plugin. Other gateways (Cashfree, PayU and so on) follow the same pattern: account, keys, plugin, test.
Sign up at razorpay.com. You can explore in Test Mode straight away. Going live needs business details and KYC approval, which can take a few days.
In the Razorpay dashboard, switch to Test Mode and open Account & Settings → API Keys. Click "Generate Key." You get a Key ID and a Key Secret.
In WordPress, go to Plugins → Add New, search "Razorpay for WooCommerce" (by Razorpay), then Install and Activate.
Go to WooCommerce → Settings → Payments, find Razorpay, and click "Manage" or "Set up."
Tick Enable, give it a friendly title like "UPI / Cards / Net Banking," then paste the Key ID and Key Secret. Save changes.
Add a product to the cart and go to checkout. Pay using Razorpay's test card or UPI details (listed in their docs). Check the order appears in WooCommerce → Orders as Processing.
Once Razorpay approves your account, generate Live keys in Live Mode, replace the test keys in the plugin, and save.
In WooCommerce → Settings → Payments, toggle "Cash on delivery" on, set its title and instructions, and save.
Keep your Key Secret private. Never post it in a chat, a screenshot or a public page. If it leaks, regenerate it straight away. Also follow any webhook instructions the plugin shows, since they help orders update correctly.
Shipping in WooCommerce works in zones: you choose where you deliver, then how much it costs there.
A region you deliver to, like "Delhi NCR" or "Rest of India."
The rule for that zone: Flat rate, Free shipping, or Local pickup.
Go to WooCommerce → Settings → Shipping, then click "Add zone."
Call it "Delhi NCR," then choose the states or PIN codes it covers. Click "Add shipping method."
Choose "Flat rate," then set the cost, for example ₹50. Everyone in that zone pays the same.
Add the "Free shipping" method, open its settings, and choose "A minimum order amount." Enter ₹999, for example. This nudges customers to add one more item.
Add "Rest of India" with a higher flat rate. Zones are matched from top to bottom, so put the most specific one first.
Enter different addresses at checkout and confirm the right rate appears each time.
Using a courier aggregator? Services like Shiprocket offer WooCommerce plugins that sync orders, compare courier rates and print labels. Start with flat rate and zones, then add one once orders grow.
A coupon is a code customers type at checkout to get a discount. It's one of the simplest ways to bring people back.
| Discount type | What it does |
|---|---|
| Percentage discount | Takes a % off the cart, like 10% off |
| Fixed cart discount | Takes a fixed amount off the whole cart, like ₹200 off |
| Fixed product discount | Takes a fixed amount off specific products only |
Go to Marketing → Coupons (under WooCommerce in some versions) and click "Add coupon."
Choose something easy to type, like WELCOME10. Add a short description for yourself.
In the General tab, pick the discount type and enter the amount. Tick "Allow free shipping" if the coupon should also remove shipping.
Choose an end date so the offer doesn't run forever by accident.
In the Usage restriction tab, set a minimum spend (for example ₹499). Tick "Individual use only" so it can't combine with other coupons, and consider excluding sale items.
In the Usage limits tab, set how many times the coupon can be used in total, and a limit of 1 use per user for welcome codes.
Click "Publish," add a product to your cart, and apply the code at checkout to see the discount.
Do the maths first. A 20% coupon on a product with a 15% margin means you lose money on every sale. Check the numbers with your client before launching a discount.
Customers hate silence after paying. A quick message at each stage builds trust and cuts "where is my order?" calls.
Each of these stages is an order status in WooCommerce. A notification plugin watches for a status change and sends a message. WooCommerce already emails; SMS and WhatsApp are extras.
| SMS | |||
|---|---|---|---|
| Built into WooCommerce? | Yes | No, needs a provider and plugin | No, needs the WhatsApp Cloud API and plugin |
| Setup effort | Low | Medium (India requires DLT registration) | Medium to high (Meta account and template approval) |
| Read rate | Often ignored | Good | Very good in India |
| Cost | Free | Per-message fee | Per-message fee from Meta, plus the plugin or provider |
Always get permission. Add a checkout checkbox like "Send me order updates on WhatsApp/SMS." Messaging people who haven't agreed can get your number blocked, and it may break privacy rules.
An SMS provider gives you an API key, a plugin uses that key to send texts when an order changes status.
In India, businesses sending transactional SMS must register on a DLT platform. You register your business, a sender ID (the name shown instead of a number), and every message template. Providers such as MSG91 or Fast2SMS guide you through this. Rules and fees change, so check your provider's current instructions.
Pick one that supports Indian transactional SMS and has a WooCommerce plugin or a ready API. Compare per-SMS cost.
Register your business, sender ID and message templates, with your provider's help. Approval can take a few days.
For example: Hi {name}, your order #{order_id} has been shipped. Track it here: {link}. Variables in braces are filled automatically.
Use your provider's own WooCommerce plugin, or a well-reviewed SMS notification plugin that supports your provider. Check its reviews and last update date first.
Paste the provider's API key (auth key), sender ID and DLT template IDs into the plugin's settings.
Choose which template goes with "Processing," "Shipped" (or "Completed"), and "Cancelled."
Place an order with your own number, change its status in WooCommerce → Orders, and check the SMS arrives.
The WhatsApp Cloud API is Meta's official way for a store to send automatic messages from its own business number.
This is different from the WhatsApp button in Phase Three, which only starts a chat. The API sends messages automatically, but with strict rules. Automated messages to customers must use pre-approved templates, and customers must have opted in.
Create a Meta Business account and a developer account at developers.facebook.com. Create an app and add the "WhatsApp" product to it.
Register the number customers will see. It generally needs to be a number not already in use on regular WhatsApp. Check Meta's current rules before choosing.
Note the Phone Number ID, the WhatsApp Business Account ID, and an access token. For a store, create a permanent token (via a system user) rather than the temporary test token.
In WhatsApp Manager, write templates for order confirmed, shipped and delivered. Use the "Utility" category for order updates, with variables for name and order number. Meta reviews them, usually quickly.
Choose one that connects to the Cloud API (for example, WooCommerce's own "Order Notifications on WhatsApp" extension, or a service from an Indian provider such as Wati, Interakt or AiSensy). Compare pricing and reviews.
Enter the Phone Number ID, account ID and token in the plugin settings, then select your approved templates.
Make sure checkout has a clear "Send me order updates on WhatsApp" box. Many plugins add this for you.
Place a test order, change its status, and confirm the right template arrives on your phone.
It isn't free. Meta charges for template messages, and plugin or provider fees are extra. Pricing and rules change often, so check Meta's current pricing page and keep your client informed.
Outside a conversation, only templates work. You can't send free-form promotional messages to anyone who hasn't recently messaged you. Keep every automatic message useful: a status update, never spam.
Place real orders on your own store before any customer does.
In a private window, add a product to the cart, apply a coupon, and check out with a delivery address.
Confirm the right shipping rate and GST show up before payment.
Use the gateway's test mode, then confirm the order shows as Processing in WooCommerce → Orders.
Confirm the customer gets the order email and the SMS or WhatsApp update, and that you get the new-order email.
Mark it Completed, and check the "shipped" or "delivered" message is sent.
Place a cash-on-delivery order, and practice a refund from the order screen so you know how it works.
Switch the payment gateway to live keys, delete your test orders, and click "Launch your store" on the WooCommerce Home screen.
Don't forget the policy pages. Before launch, make sure your store has pages for shipping, refund & returns, and privacy, and link them in the footer you built in Phase Two.