Velop GiftNote

Description

Velop GiftNote lets shoppers attach a personal voice, video, or uploaded media message to a WooCommerce order. Merchants can print a QR card from the order admin panel so recipients can scan and view the message.

The plugin stores the Velop message ID on WooCommerce order item metadata and communicates with the Velop API through WordPress AJAX handlers. The Velop API key is stored server-side and is never exposed to the storefront.

External services

Velop GiftNote connects to the Velop service at https://api.velop.media. This service is required to create upload URLs, store uploaded GiftNote media, generate QR viewer links, render recipient pages, report GiftNote usage, and sync message status for the merchant portal.

When a shopper creates a GiftNote, the plugin sends the merchant API key, pending order reference, sender name when provided, media type, MIME type, and file size to Velop. The shopper’s media file is then uploaded to the Velop service using the upload URL returned by the API.

When the upload is confirmed, the plugin sends the Velop message ID, upload path, and duration when available. After checkout, it syncs the final order ID, order number/reference, order status, and billing or shipping name when the GiftNote sender name was left blank. If an order is cancelled, the plugin sends the Velop message ID so the related GiftNote can be cancelled.

Velop terms: https://velop.media/terms

Velop privacy policy: https://velop.media/privacy

Source and build process

The storefront widget JavaScript is bundled in assets/widget.js so the plugin does not load executable code from a third-party CDN by default.

The human-readable source for that generated file is included in the plugin package at source/widget/src, with the related widget build files at source/widget/package.json and source/widget/vite.config.js.

Build process:

  1. Run npm install from the Velop project root.
  2. Run npm --workspace @velop/widget run build to generate the widget bundle.
  3. Run node apps/portal/scripts/package-plugin.js to copy the built widget into assets/widget.js and include the readable widget source in the release ZIP.

Installation

  1. Upload the velop-giftnote folder to /wp-content/plugins/.
  2. Activate Velop GiftNote from the WordPress Plugins page.
  3. Go to WooCommerce > Settings > Velop.
  4. Enter your Velop API key and confirm the API URL.

FAQ

What personal data is sent to Velop?

The plugin sends the pending order reference, sender name when provided, media type, file size, and uploaded media file needed to create the GiftNote. After checkout, it syncs the final WooCommerce order number, order status, and billing or shipping name when the GiftNote sender name was left blank.

Where is the QR code shown?

After checkout, the WooCommerce order admin panel shows the attached GiftNote, QR preview, message type, scan count, and print action.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Velop GiftNote” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Velop GiftNote” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.32

  • Included readable widget source in the WordPress.org release package.
  • Added a dedicated cart nonce for posted GiftNote message IDs.

2.0.31

  • Opened the matching record or upload form immediately when shoppers choose Record Voice, Record Video, or Upload File.

2.0.30

  • Updated the out-of-box product widget teaser text to “Send a Voice or Video Note”.

2.0.29

  • Stabilized product page widget placement by rendering a single current-product widget root and matching teaser text to the saved setting.

2.0.28

  • Removed the GiftNote price from product item meta so the add-on cost only appears in the order totals fee row.

2.0.27

  • Fixed checkout GiftNote removal so the trash icon uses a dedicated AJAX endpoint and refreshes checkout totals in place.

2.0.26

  • Added a setting to customize the product page GiftNote teaser text.

2.0.25

  • Anchored the product GiftNote widget directly above Delivery Information while keeping it below purchase buttons.

2.0.24

  • Placed the product GiftNote widget after the full purchase button container in Elementor and custom product templates.

2.0.23

  • Added a dedicated product widget row so GiftNote no longer competes with custom theme purchase buttons.

2.0.22

  • Forced product page GiftNote placement below visible Buy Now controls to avoid custom theme button-row distortion.

2.0.21

  • Added a default product page placement below Buy Now buttons for custom WooCommerce themes.

2.0.20

  • Improved product page widget placement across custom WooCommerce themes with layout-safe positioning and fallback rendering.

2.0.19

  • Fixed early translation loading notice triggered by product page widget placement registration.

2.0.18

  • Refreshed the GiftNote security token automatically when cached product pages provide a stale nonce.

2.0.17

  • Added a WooCommerce setting for choosing where the GiftNote widget appears on product pages.

2.0.16

  • Added a cart totals fallback row for themes that omit WooCommerce fee rows, keeping GiftNote fees visible on the cart page.

2.0.15

  • Added a cart and checkout trash icon so shoppers can remove an attached GiftNote before payment.
  • Recalculate GiftNote fees immediately after removal.

2.0.14

  • Fixed GiftNote cart fees for stores that enter prices inclusive of tax.
  • Added a GiftNote price tax mode setting so merchants can choose whether the configured customer price includes or excludes tax.
  • Prevented stale pending GiftNote session data from adding an extra cart fee after the cart item already has a GiftNote.

2.0.13

  • Prepared the plugin for WordPress.org submission.
  • Switched the storefront widget to the bundled local asset by default.
  • Removed the custom external update mechanism from the submitted plugin.
  • Removed forced plugin-rendered Velop credits from the order admin panel.
  • Improved Velop service, privacy, terms, and widget source disclosures.

2.0.12

  • Synced final WooCommerce order number, order status, and billing sender name back to Velop after checkout.
  • Kept shopper-entered GiftNote sender names intact while filling blank names from WooCommerce order details.

2.0.11

  • Synced WooCommerce cart GiftNote pricing with the Velop merchant portal when no local store override is set.
  • Reduced merchant status cache time so portal price changes reach stores faster.

2.0.10

  • Removed direct viewer and token access from the WooCommerce order admin panel.
  • Reduced the QR preview size for narrow order side panels.
  • Fixed customer GiftNote price fees for cart flows where the message remains in the WooCommerce session.

2.0.9

  • Added a multi-GiftNote WooCommerce order admin panel.
  • Added plugin coding rules, readme, and changelog files.

2.0.8

  • Improved release metadata wiring.

2.0.7

  • Improved the WooCommerce order admin GiftNote panel UI.

2.0.6

  • Improved downloadable plugin versioning and metadata.