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.
Buy Now → phone (→ optional OTP) → name → PIN code, which fills in city and
state → address → payment method → pay → a real WooCommerce order.
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.
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 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.
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.
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.
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