xpay✦ Commerce
Directory
WooCommerce plugins
Ainbae Receipt Upload for WooCommerce
Ainbae Receipt Upload for WooCommerce
Allow customers to upload bank transfer receipts directly from the WooCommerce order details page.
5.0
(3 ratings)Will this break my store?
What the WordPress.org registry says about keeping Ainbae Receipt Upload for WooCommerce running.
Tested to 7.0.2
Tested against the WordPress branch in use today.17 days ago
7.4
Your host must be running at least this version.6.2
woocommerce
These must be installed and active first.1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Ainbae Receipt Upload for WooCommerce is looked after — not on how many stores run it.
95
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
11 / 15Listing transparency
10 / 10Ratings
5.0
3 ratingsAinbae Receipt Upload for WooCommerce adds a secure upload widget to the customer-facing order detail page. When a customer pays via bank transfer (BACS), they can immediately upload a screenshot or PDF of their payment receipt, no emails, no support tickets, no guesswork.
You get a clean, nonce-protected upload flow. Your customer gets instant confirmation. Your admin team gets a one-click “View Uploaded Receipt” button inside the WooCommerce order panel.
How it works
- Customer places an order and selects Bank Transfer (BACS) as payment method.
- After placing the order, the receipt upload widget appears on the order detail page.
- Customer uploads a JPG, PNG, or PDF (max 5 MB). The file is stored privately, not in the public media library.
- An order note is added automatically, and the admin can view the receipt securely from the order panel.
- Optionally, a WhatsApp button lets customers send their receipt directly to your WhatsApp number.
- Optionally, For stores that want to enforce receipt uploads before order placement, the plugin can be configured to require a receipt upload before the order is created (BACS only).
Features
- Upload receipt from order page
- Drag-and-drop upload with progress bar
- Supports JPG, PNG, PDF
- Admin can view receipts securely
- WhatsApp integration with customisable message templates
- Require receipt before order placement (optional)
- Improved admin receipt detection with automatic metadata recovery
- Customizable UI
Who is this for?
Any WooCommerce store that accepts manual bank transfers and needs a structured, traceable way to collect payment proof from customers. Common use cases include wholesale stores, local businesses, and stores in regions where card payments are less common.
No — by design. The upload widget only appears for orders paid via Bank Transfer (BACS). It will not show for card, PayPal, or other payment methods.
Files are stored in wp-content/uploads/ainbae-receipt-upload-for-woocommerce/, which is outside the normal media library. A deny-all .htaccess file blocks direct browser access on Apache servers.
The .htaccess protection file is Apache-specific and has no effect on Nginx. If your server runs Nginx, you must add a location rule to deny access to the ainbae-receipt-upload-for-woocommerce directory inside uploads. Add this to your Nginx server block:
location ~* /uploads/ainbae-receipt-upload-for-woocommerce/ { deny all; }
Without this rule, uploaded files on Nginx servers may be directly accessible via URL.
JPG, JPEG, PNG, and PDF. Maximum file size is 5 MB. These limits are enforced on both the client (HTML accept attribute) and the server (wp_handle_upload MIME validation).
No. Once a receipt has been uploaded for an order, the upload form is replaced with a confirmation message and any further upload attempts are blocked.
No. Only an admin with manage_woocommerce capability can manage uploaded files.
Open any WooCommerce order that has a receipt. A View Uploaded Receipt button appears in the order data panel. Clicking it opens the file in a new tab via a nonce-authenticated, admin-only endpoint.
No. You can disable it entirely from the settings page under WooCommerce → Upload Receipt.
The plugin checks that the logged-in user’s ID matches the order’s customer ID. For guest orders, it validates the order key from the URL. If neither matches, the upload is rejected with a permission error.
- Make sure the order payment method is Bank Transfer (BACS).
- Make sure the order status is Pending Payment or On Hold — the form does not appear for completed, cancelled, processing, or refunded orders.
- Make sure the customer is viewing their own order (logged in, or using a valid order-key link).
- Check that WooCommerce is active and up to date.
Categories
Plugin details
Tags on WordPress.org
