Outfalak Checkout for WooCommerce

Description

Outfalak Checkout replaces the cart-then-checkout journey with a single screen. A Buy Now
button beside Add to cart takes the shopper straight to one page that asks for a phone
number, a name, a PIN code and an address, and then charges the card.

The flow

Buy Now → phone (→ optional OTP) → name → PIN code, which fills in city and
state → address → payment method → pay → a real WooCommerce order.

Built on what your store already has

This plugin owns the checkout screen and nothing else. Products, prices, stock, tax,
shipping zones, coupons, orders, emails, invoices, reports and refunds all stay with
WooCommerce, already configured and already tested against your own couriers. Every
purchase creates a real WooCommerce order with real line items, so every report, every
export and every plugin that reads your orders keeps working.

What it adds

  • One page, mobile first. No cart step, no account, no theme header to wander back out through.
  • Buy Now on the product page. It is a second submit button inside WooCommerce’s own add-to-cart form, so the quantity, the variation and whatever a third-party plugin added all arrive with the click — without this plugin reimplementing a variation picker.
  • PIN code autofill. Six digits fill in City and State. No API key, no setup.
  • OTP on the phone number, when you connect a Outfalak account. Off otherwise.
  • Saved addresses for returning shoppers, released only to a browser that has verified an OTP or placed an order with that number — never to anyone who merely types the number in.
  • UPI, cards, net banking and Cash on Delivery through Razorpay, Cashfree or PayU.
  • A COD fee and a prepaid discount, each with its own ceiling.
  • A delivery estimate built from your dispatch cut-off, processing days, ship days and holidays.
  • Abandoned checkouts, listed with the phone number as a WhatsApp link. Asking for the phone first means an abandoned checkout still leaves someone you can talk to.
  • Branding — your store name, logo, colours and corner radius, inlined into the page head so they apply on the first paint.

How the money is kept safe

Prices are never taken from the browser. A Buy Now click carries a product id, a quantity
and the chosen options; every price is resolved from your catalogue and every total is
re-derived server-side immediately before charging.

Duplicate payments are blocked three ways: a per-attempt idempotency key reserved under a
unique index, the gateway’s own unique order reference, and a settlement table keyed by
order id, so whichever of the browser callback, the webhook and the UPI poll arrives first
wins and the rest stop.

A signed success callback is still verified server-side against the gateway, and the
captured amount is compared with the order total before anything is marked paid. Webhooks
are authenticated by signature alone — an unsigned request gets a bare 401 and changes
nothing.

Refunds

Refunds go through WooCommerce’s own order screen. The plugin registers a payment gateway
record — never shown at WooCommerce’s own checkout — so that the refund button on
these orders is the real one, and money actually goes back.

Speed

The checkout ships about 40 KB of JavaScript, one stylesheet and one self-hosted font, all
from your own origin. No framework, no font CDN, no third-party script your blog installed.
It renders as a standalone document rather than a theme template, so a CSS collision cannot
land on the pay button.

Developers

  • outfalakcheckout_order_settled — fires once per order, immediately after it settles.
  • outfalakcheckout_settings — filters the resolved settings map.
  • outfalakcheckout_view_data — filters the data a template renders.
  • outfalakcheckout_api_base — filters the host the Outfalak platform is reached at.

A theme can take the checkout over entirely by dropping
outfalak-checkout-for-woocommerce/checkout.php into its own directory.

High-Performance Order Storage and the cart/checkout blocks are both declared compatible;
orders are read and written only through WooCommerce’s CRUD API.

External services

This plugin talks to outside services. Which ones depends on what you switch on — with
a fresh install and no credentials entered, only the PIN-code lookup below is ever used.

1. India Post PIN code directory — api.postalpincode.in

Used to turn a six-digit PIN code into a city and state while the shopper is filling in the
address. The PIN code alone is sent. Nothing identifies the shopper, the order or your
store. Results are cached, so a PIN already looked up is not sent again. If the service is
unreachable the plugin falls back to an offline prefix map and then to plain typing. This
runs without any configuration.

Website policies, including terms of use and privacy: https://www.indiapost.gov.in/website-policy

2. Razorpay — api.razorpay.com, and checkout.razorpay.com in the shopper’s browser

Used only when you enter Razorpay credentials and make Razorpay the active gateway. To
create the payment, verify it, read its status and issue refunds, the plugin sends the order
amount and currency, your order number, and the shopper’s name, email address and phone
number. The browser additionally loads Razorpay’s own checkout script to display the payment
sheet.

Terms of use: https://razorpay.com/terms/
Privacy policy: https://razorpay.com/privacy/

3. Cashfree Payments — api.cashfree.com, sandbox.cashfree.com, and sdk.cashfree.com in the shopper’s browser

Used only when you enter Cashfree credentials and make Cashfree the active gateway. The
plugin sends the order amount and currency, your order number, and the shopper’s name, email
address and phone number, and reads the payment’s status back. The browser additionally
loads Cashfree’s own SDK to display the payment sheet.

Terms of use: https://www.cashfree.com/tnc/
Privacy policy: https://www.cashfree.com/privacypolicy/

4. PayU India — secure.payu.in, info.payu.in, and their test.payu.in sandbox

Used only when you enter PayU credentials and make PayU the active gateway. The shopper’s
browser is form-POSTed to PayU with the order amount, your transaction id, a product
description, and the shopper’s first name, email address and phone number; the plugin then
verifies the result server-to-server.

Terms of use: https://payu.in/online-pa-tncs
Privacy policy: https://payu.in/privacy-policy

5. Outfalak platform — outfalakcheckout.com

Optional, and used only after you connect a Outfalak account under WooCommerce → Outfalak
Checkout → WhatsApp
. It delivers WhatsApp messages — OTP codes, order placed,
order confirmed and abandoned-checkout reminders — from Outfalak’s own WhatsApp Business
number, billed to your wallet there. Connecting sends your site URL and site name. Sending a
message sends the recipient’s phone number and the values that message needs, such as the OTP
code or the order number. An hourly request pulls your account settings and wallet balance
back.

Until you connect an account nothing is sent to this service, and OTP codes and notifications
are written to WooCommerce → Status → Logs instead.

Terms of use: https://outfalakcheckout.com/legal/terms
Privacy policy: https://outfalakcheckout.com/legal/privacy

Screenshots

Installation

  1. Install and activate WooCommerce first. This plugin will not run without it.
  2. Upload the plugin through Plugins → Add New → Upload Plugin, or install it from the plugin directory, and activate it.
  3. Go to WooCommerce → Outfalak Checkout and enter your payment gateway credentials. Each gateway has its own Save & test button, and the test makes a real authenticated call.
  4. Open any product on the storefront. Buy Now now sits beside Add to cart.

You can skip step 3 while you are trying it out. With no credentials entered, the checkout opens a simulated payment sheet on a development site, so the whole funnel — including the failure path — can be walked before any paperwork is done.

FAQ

Does it replace the WooCommerce checkout page?

No. WooCommerce’s own cart and checkout stay exactly where they are and keep working. This
plugin adds a second, faster route from the product page. Shoppers who use the cart are
unaffected.

Are the orders real WooCommerce orders?

Yes — a real order with real line items, created through WooCommerce’s own API. Your
emails, invoices, reports, exports, packing-slip plugins and refunds all read the same object
they always did.

Which payment gateways are supported?

Razorpay, Cashfree and PayU for online payments, plus Cash on Delivery. One online gateway is
active at a time; credentials for the others stay saved, so switching back is instant.

Do I need a Outfalak account?

No. The checkout, PIN-code autofill, saved addresses, payments, COD, the delivery estimate
and the abandoned-checkout list all work without one. A Outfalak account is needed only to send
WhatsApp messages — OTP codes and order notifications. Without one, those are written to
the WooCommerce log instead.

Can a shopper look up someone else’s address by typing their phone number?

No. Saved details are released only to a browser that has verified an OTP for that number or
has placed an order with it. Typing a number is not proof, and the endpoint that records a
number is never the one that grants trust.

Where do shipping rates come from?

From WooCommerce, under WooCommerce → Settings → Shipping → Zones. The
plugin does not keep a second set.

Does it work with High-Performance Order Storage?

Yes. Compatibility is declared and orders are read and written only through WooCommerce’s
CRUD API, so both storage engines work.

What happens on a site with plain permalinks?

Every one of the plugin’s URLs falls back to its query-string form automatically, so a webhook
URL already saved in a gateway dashboard keeps working.

Can my theme restyle the checkout?

It can replace it. Drop outfalak-checkout-for-woocommerce/checkout.php into your theme
directory and that template is used instead.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Outfalak Checkout for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.6.2

  • Updates for this build come from the WordPress.org plugin directory.
  • Renamed the plugin, on both the display name and the slug, to Outfalak Checkout for WooCommerce (outfalak-checkout-for-woocommerce), so its own listing name no longer reads as similar to another company’s checkout product, and so ownership of the listing is unambiguous. This plugin remains a client of the Outfalak Checkout platform, which is unaffected by this rename.

1.6.1

  • Renamed the plugin, on both the display name and the slug, to Kuick Checkout for WooCommerce (kuick-checkout-for-woocommerce), so its own listing name no longer reads as similar to another company’s checkout product. This plugin remains a client of the Outfalak Checkout platform, which is unaffected by this rename.
  • “Powered by Outfalak Checkout” on the customer-facing checkout is now off by default; a merchant switches it on rather than having it shown automatically.
  • An icon helper’s extra HTML attributes are now escaped per attribute instead of concatenated as a raw string; every current caller already passed only fixed literals, so this changes nothing rendered, only how it is built.

1.6.0

  • Renamed the plugin directory and entry file from outfalak-checkout-for-woocommerce to kuick-checkout-for-woocommerce.
  • A site already running an earlier version keeps its existing folder and file name through this update: the update checker renames the new release to match what is already installed, the same protection that carried the 1.1.x → 1.3.0 rename, now extended to also cover the entry file.
  • A fresh install from this version on gets the new folder and file name; nothing about upgrading an old one forces a switch.

1.5.0

  • Updates for this build come from the WordPress.org plugin directory.
  • Two fields on the settings screen are now escaped where WordPress’s coding standard can see it. Both were already safe — only the annotation sat on the wrong line.
  • Tested against WordPress 7.1 and WooCommerce 11.

1.4.1

  • The Recharge wallet button on the Notifications tab reaches the wallet again. It still pointed at the old admin, which now redirects, so the button left merchants on a sign-in page instead of the top-up screen.
  • Corrected the WordPress version this plugin is tested against. The header carried WooCommerce’s number, which is not a WordPress version at all.

1.4.0

  • Updates come from outfalakcheckout.com again. 1.3.0 handed them to WordPress.org, where this plugin is not listed, which left an installed site with no way to hear about a fix.
  • Updating from 1.1.x keeps the plugin’s existing folder name, so the site does not deactivate it mid-upgrade.

1.3.0

  • Renamed to Outfalak Checkout for WooCommerce for the plugin directory listing.
  • Updates now come from WordPress.org; the plugin’s own update checker has been removed.
  • The Outfalak platform host moved from the Update URI header to the OUTFALAK_API_BASE constant and the new outfalakcheckout_api_base filter.
  • Removed an unused analytics script left over from an earlier port.

1.2.1

  • Delivery estimate honours dispatch cut-off, processing days, ship days and holidays.
  • Abandoned checkouts screen.
  • Prepaid discount and COD fee, each with its own ceiling.

1.2.0

  • Cashfree and PayU alongside Razorpay, with the UPI Seamless intent flow.
  • Refunds from the WooCommerce order screen.

1.1.0

  • Saved addresses for returning shoppers, gated on a verified OTP or a previous order.
  • PIN code to city and state.

1.0.0

  • First release.