自訂 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.