自定义 WooCommerce 订单状态,带有安全文件的客户门户,直接 API 支付网关和签名 webhook。针对 WordPress 7.1 和 WooCommerce 11.2 构建并测试。
AI 翻译
Custom WooCommerce order statuses, a client portal with secure documents, a direct-API payment gateway and signed webhooks. Built and tested against WordPress 7.1 and WooCommerce 11.2.
插件PHP · TypeScriptGitHub @sonhuang869-cpu在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证WooCommerce 服务交付插件:自定义订单状态、直接 API 支付网关、带所有者核对文件的客户门户,以及 HMAC 签名的 webhook。已在 WordPress 7.1 和 WooCommerce 11.2 上测试。
AI 翻译
A WooCommerce service delivery plugin: custom order statuses, a direct-API payment gateway, a client portal with owner-checked documents, and HMAC-signed webhooks. Tested against WordPress 7.1 and WooCommerce 11.2.
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A WooCommerce plugin that turns a product store into a service delivery engine,
written to answer four specific questions from a tender writing agency's brief.
• plugin/casefile/ is the actual WordPress plugin. Zip it, upload it,
activate it.
• The root is a small walkthrough site that explains the four answers with the
real code and real screenshots.查看完整 README ↗A WooCommerce plugin that turns a product store into a service delivery engine, written to answer four specific questions from a tender writing agency's brief.
This repository holds two things:
plugin/casefile/ is the actual WordPress plugin. Zip it, upload it,
activate it.Custom order statuses, registered in code. Five stages that match how a bid
is actually produced: brief received, in drafting, with client for review,
submitted to tender, outcome recorded. Inserted after Processing, present in the
single order dropdown and in bulk actions on both the legacy and the HPOS orders
screens, and kept inside woocommerce_order_is_paid_statuses and the reports
list so the work in progress does not drop out of revenue figures.
A payment gateway called directly over its API. DPO Group, used across
southern Africa and the right fit for BWP. Three calls: createToken to register
the charge, a redirect to DPO's hosted page so card data never touches the
server, and verifyToken on return. The verify step is not optional: a browser
coming back is not proof of payment.
A client portal. Built on WooCommerce's own account endpoints rather than a
second login, so there is one session and one password reset. Each order shows
its stage on a progress rail and carries its own documents. Documents live in a
directory denied by .htaccess and are streamed by PHP only after the order's
owner is confirmed, because an unguessable URL is not access control for a
tender document.
Signed webhooks to an automation tool. Four endpoints, each separately
configurable: order.created, order.status_changed, payment.completed and
document.uploaded. HMAC-SHA256 over the exact bytes sent with the timestamp in
the signed string, queued through WP-Cron so a slow receiver never holds up
checkout, retried with exponential backoff, and the last fifty attempts logged
so a failure is visible rather than silent.
Not by compiling. The plugin was installed into a real site and driven headlessly:
The document list used (array) $order->get_meta( $key ). When the key is unset
get_meta returns an empty string, and casting that gives array('') rather
than an empty array, so the first read fatals on a string. Fixed at the source,
and the reader now drops anything that is not a well-formed document.
cd plugin
zip -r casefile.zip casefile
# then upload, or:
wp plugin install casefile.zip --activate
Settings are under WooCommerce, Casefile. Set the four endpoint URLs and the shared signing secret, and set the same secret in the automation tool.
npm install
npm run dev
This plugin was written for this brief, so it is new work rather than a past project. It is a working reference implementation, not a finished product: the DPO credentials are configuration rather than a tested live merchant account, and intake forms, Elementor pages and SEO are outside it.
Services, clients, prices and documents in the screenshots are representative.