Title: Prodaxis Print Quote
Author: prodaxis
Published: <strong>15 Luglio 2026</strong>
Last modified: 27 Luglio 2026

---

Ricerca i plugin

![](https://s.w.org/plugins/geopattern-icon/prodaxis-print-quote.svg)

# Prodaxis Print Quote

 Di [prodaxis](https://profiles.wordpress.org/prodaxis/)

[Scarica](https://downloads.wordpress.org/plugin/prodaxis-print-quote.1.15.0.zip)

 * [Dettagli](https://it.wordpress.org/plugins/prodaxis-print-quote/#description)
 * [Recensioni](https://it.wordpress.org/plugins/prodaxis-print-quote/#reviews)
 *  [Installazione](https://it.wordpress.org/plugins/prodaxis-print-quote/#installation)
 * [Sviluppo](https://it.wordpress.org/plugins/prodaxis-print-quote/#developers)

 [Supporto](https://wordpress.org/support/plugin/prodaxis-print-quote/)

## Descrizione

This plugin authenticates against the Prodaxis API gateway with a per-company API
key
 and exposes the `[prodaxis_print_quote]` shortcode, which lets a visitor upload
an STL model, choose a material, color and template, and get an estimated print 
price, time and filament length.

Because the gateway derives the company from the API key, one WordPress site
 quotes
against exactly one company’s print options: whichever key you configure under Settings-
> Print Quote.

#### How it works

 1. Every request to the gateway is sent server-side with an `X-API-Key` header
     carrying
    the configured key. The gateway resolves the key to its company and scopes the 
    response accordingly.
 2. It calls GET /print/options to read the company’s materials, colors and
     templates.
 3. The result is cached (configurable lifetime) and used to populate the quote
     tool’s
    material, color and template controls.

The API key never reaches the browser — all requests happen on the WordPress
 server.

### External service

This plugin is an interface to the Prodaxis API gateway, a third-party
 service 
that holds your company’s 3D-print materials and performs the price calculations.
The plugin has no use without access to that service, and no data is sent anywhere
until you configure the gateway URL and an API key under Settings -> Print Quote.

Once configured, when a visitor requests a quote the plugin sends the following

to the gateway URL you configured, server-side (never from the visitor’s browser):

 * the uploaded STL model,
 * the selected material, color and template,
 * your company API key, as the `X-API-Key` request header.

The gateway returns the estimated price, print time and filament length. The
 uploaded
model and selections are transmitted to your configured gateway solely to produce
the quote.

When a visitor places an order, the plugin additionally sends their order
 details(
name, optional company, email, phone, shipping address or pickup locker code, the
chosen delivery method and quantities) to the same gateway, server-side, to create
the order and start the payment. Payment is collected by Stripe (https://stripe.
com/): the visitor’s browser is redirected to a Stripe-hosted checkout page operated
on the merchant’s Stripe account. No card data ever touches this plugin or your 
WordPress site. See Stripe’s Privacy Policy: https://stripe.com/privacy

 * Service provider: Prodaxis — https://prodaxis.io/
 * Terms of Service: https://www.prodaxis.io/legal/terms
 * Privacy Policy: https://www.prodaxis.io/legal/privacy

#### InPost Geowidget (optional)

If you paste an InPost Geowidget token under Settings -> Print Quote, the quote

widget also offers a map-based Paczkomat (parcel locker) picker. In that case the
visitor’s browser loads InPost’s official Geowidget v5 assets from InPost’s CDN:

 * https://geowidget.inpost.pl/inpost-geowidget.js
 * https://geowidget.inpost.pl/inpost-geowidget.css

These assets are loaded only when all of the following hold: the page contains
 
the `[prodaxis_print_quote]` shortcode, you have configured a Geowidget token, and
the shop offers a parcel-locker delivery method. The map itself initializes only
after the visitor clicks the “Choose a Paczkomat on the map” button; it then talks
to InPost’s services to display pickup points, sending your Geowidget token (a browser-
safe credential generated in the InPost Parcel Manager, https://manager.paczkomaty.
pl) with those requests. If no token is configured, no InPost resource is ever requested
and visitors type the locker code manually.

 * Service provider: InPost — https://inpost.pl/
 * Privacy Policy: https://inpost.pl/polityka-prywatnosci

### Shortcode

    ```
    [prodaxis_print_quote]
    ```

Renders an interactive quote-and-order tool. On wide containers it shows a
 split
configurator (persistent 3D preview and live quote on the left, options on the right);
on narrow containers (mobile, sidebars) it collapses into a guided card. A visitor:

 1. Uploads an STL model.
 2. Picks a material, then a color and quality template available for that
     material(
    the controls are built from the same /print/options catalog). The price is calculated
    automatically as soon as everything is selected, and recalculated whenever an option
    changes.
 3. Continues through a three-step flow (Configure -> Your details -> Payment)
     and
    either pays immediately via Stripe Checkout or places the order for payment by 
    invoice, depending on the selected payment mode. When the shop offers delivery 
    methods (courier, parcel locker or personal pickup), the visitor picks one on the
    details step; locker deliveries ask for the locker code instead of a shipping address(
    with an optional map-based Paczkomat picker when an InPost Geowidget token is configured),
    and the delivery charge (with any free-delivery threshold) is added to the order
    total.

The browser never talks to the gateway directly. The file and selections are
 sent
to WordPress (admin-ajax), which proxies them server-side using the same cached 
service-account token:

 * POST /slicer/upload – uploads the STL and returns its print reference.
 * POST /print/calculate/async – starts the calculation and returns immediately
   
   with a calculationId (status IN_PROGRESS); slicing runs in the background.
 * GET /calculation/{id} – polled until the status becomes COMPLETED (with
    the 
   price, print time and filament length) or FAILED.

Because slicing is asynchronous, the widget shows a “calculating” state and
 polls
every couple of seconds, giving up after about three minutes.

Changing the material and recalculating reuses the already-uploaded file;
 choosing
a different file re-uploads. Requests are protected with a WordPress nonce.

Optional attributes:

 * `accent` – hex accent color for the widget (default `#0f4c81`)
 * `template_style` – `cards` (default) or `compact` template selector
 * `powered_by` – brand shown in the footer line; omitted hides it

Example: `[prodaxis_print_quote accent="#0f9d6b" template_style="compact"]`

### Notes

 * The WordPress server must be able to reach the API gateway URL. `localhost`
    
   works only when WordPress runs on the same machine as the gateway; inside a Docker
   container use `http://host.docker.internal:8086` instead, since localhost there
   points at the container, not the host.
 * The API key is stored in the WordPress options table and sent as the
    X-API-Key
   header. It is scoped to one company and limited to the print read/quote operations
   the widget needs; if it leaks, regenerate it in the company dashboard (which 
   immediately invalidates the old one).
 * STL upload size is bounded by two limits: PHP’s `upload_max_filesize` /
    post_max_size
   on the WordPress server (raise these for large models) and the gateway’s authoritative
   per-company limit, which is enforced server-side.

### Third-party libraries

The print-quote widget’s 3D preview is powered by Three.js (r185 / 0.185.0),
 bundled
locally under `assets/js/vendor/` so the widget needs no external requests:

 * three.module.min.js, STLLoader.js, OrbitControls.js — Three.js r185, MIT
    license,
   Copyright Three.js Authors. Source: https://github.com/mrdoob/three.js/tree/r185

These are loaded as ES modules: the viewer script imports the bundled build and

its STLLoader / OrbitControls addons directly. The MIT license is GPL-compatible.
Apart from the optional InPost Geowidget described above (which loads only when 
you configure its token), no other external scripts or services are loaded in the
browser.

## Installazione

 1. Copy the `prodaxis-print-quote` folder into `wp-content/plugins/`.
 2. Activate “Prodaxis Print Quote” in Plugins.
 3. Go to Settings -> Print Quote and set:
 4.  * API Gateway base URL (e.g. http://host.docker.internal:8086 when WordPress
        
       runs in Docker; the gateway is on the host, not inside the container)
     * API key (generate it in your company dashboard under Settings -> API; it is
       
       shown in full only once, so copy it then)
     * Cache lifetime in seconds (default 300)
     * SSL verification (disable only for local self-signed certificates)
     * Language: Site default, English or Polish (Site default follows the
        WordPress
       site language)
 5. Add `[prodaxis_print_quote]` to any page or post.

## Recensioni

Non ci sono recensioni per questo plugin.

## Contributi e sviluppo

“Prodaxis Print Quote” è un software open source. Le persone che hanno contribuito
allo sviluppo di questo plugin sono indicate di seguito.

Collaboratori

 *   [ prodaxis ](https://profiles.wordpress.org/prodaxis/)

[Traduci “Prodaxis Print Quote” nella tua lingua.](https://translate.wordpress.org/projects/wp-plugins/prodaxis-print-quote)

### Ti interessa lo sviluppo?

[Esplora il codice](https://plugins.trac.wordpress.org/browser/prodaxis-print-quote/)
segui il [repository SVN](https://plugins.svn.wordpress.org/prodaxis-print-quote/),
segui il [log delle modifiche](https://plugins.trac.wordpress.org/log/prodaxis-print-quote/)
tramite [RSS](https://plugins.trac.wordpress.org/log/prodaxis-print-quote/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.15.0

 * Delivery method names are now rendered by the plugin instead of coming from
    
   the backend: the delivery-options endpoint no longer returns a label, and the
   widget maps each method type (InPost Paczkomat, InPost Kurier, DPD, DHL, GLS,
   Poczta Polska, Personal pickup) to a translatable display name — the bundled 
   Polish translation shows “Odbiór osobisty” for personal pickup. Unknown method
   types fall back to the raw type identifier.

#### 1.14.1

 * Delivery methods now show carrier logos: each delivery option row displays
    the
   carrier’s logo (InPost, DPD, DHL, GLS, Poczta Polska) next to its label, from
   SVGs bundled with the plugin. Personal pickup and unknown methods keep the plain
   row, and a logo that fails to load falls back to it too.

#### 1.14.0

 * New optional “InPost Geowidget token” setting under Settings -> Print Quote:
   
   paste the browser-safe token generated in the InPost Parcel Manager (https://
   manager.paczkomaty.pl) to enable a map-based Paczkomat picker.
 * With a token configured, locker deliveries show a “Choose a Paczkomat on the
   
   map” button next to the locker-code field. It opens the official InPost Geowidget
   v5 in a modal (closable with Esc); picking a point fills the code automatically
   and shows the point’s address, while the field stays editable as before.
 * The Geowidget script and stylesheet are loaded from InPost’s CDN only on
    pages
   with the shortcode, only when a token is configured and the shop offers a parcel-
   locker delivery method — and the map initializes only when the visitor opens 
   it. Without a token nothing changes and no InPost resources load (see the External
   service section).

#### 1.13.0

 * Delivery method selection: when the shop enables delivery options in the
    Prodaxis
   dashboard (GET /order/delivery-options), the details step shows a required “Delivery”
   choice above the address — courier, parcel locker (Paczkomat) or personal pickup—
   with each method’s price and its free-delivery threshold (“Free from …”, shown
   as Free once the order qualifies).
 * Locker deliveries replace the shipping address with a required locker-code
    field(
   with a link to the InPost locker finder); personal pickup needs neither. Courier
   orders keep the current address requirements.
 * The order summary and cart rail show a delivery line and a grand total, and
    
   the amount charged via Stripe is the gateway’s order total, which includes the
   server-computed delivery charge. The selected option is always re-validated server-
   side.
 * Shops without delivery options are unaffected: the widget looks and behaves
    
   exactly as before.

#### 1.12.1

 * Browser and password-manager autofill (Chrome, NordPass, etc.) now recognizes
   
   the checkout details fields: inputs live inside a real form element and carry
   name/id attributes alongside the standard autocomplete tokens.
 * Pressing Enter in the details form continues to the payment step.

#### 1.12.0

 * Orders can now contain several prints. After a price comes back, “Continue”
    
   becomes “Add to order”: each configured model is added as an order line with 
   its own quantity, editable and removable (with undo) before submitting.
 * Wide layout shows the order list in the left rail under the current print’s
    
   quote; narrow layout gets a collapsible order summary under the price row.
 * The payment review lists every order line; Stripe checkout charges the order
   
   total. Each line’s price is still re-fetched server-side by calculation id.

#### 1.11.0

 * SLS (powder) materials from the gateway catalog are now listed and quotable:
   
   the widget understands the `{fdm, sla, sls}` options shape, tags SLS materials
   with their method, and sends `methodType=SLS` on calculate.
 * Material usage for SLS quotes is shown in grams.

#### 1.10.0

 * Support the new method-aware catalog: the widget now understands the
    gateway’s`{
   fdm, sla}` options shape and lists SLA (resin) materials next to FDM ones, each
   tagged with its print method. The old flat FDM-only shape is still accepted.
 * Quotes for SLA materials are calculated as SLA: the selected material’s
    print
   method is sent with the calculation request.
 * Material usage in the quote respects the print method: meters of filament
    for
   FDM, milliliters of resin for SLA.

#### 1.9.1

 * Order submissions now carry an idempotency key, so a double click or a
    retried
   request can no longer create duplicate orders (and duplicate confirmation emails)
   for the same quote.

#### 1.9.0

 * New Language setting under Settings -> Print Quote: Site default, English or
   
   Polish. Site default follows the WordPress site language; English and Polish 
   force that language for the quote widget and all plugin messages regardless of
   the site locale.
 * Ship a full Polish (pl_PL) translation, bundled under `languages/` (with a
    POT
   template for further translations).
 * The example form placeholders (name, email, company, street) are now
    translatable
   too.

#### 1.8.2

 * Fixed the widget visibly jumping on every option click or file upload: the
    entrance
   animation now plays only when moving between steps, and the price readout keeps
   a stable height while switching between idle, calculating, price and error states.

#### 1.8.1

 * The payment mode is now resolved with a single gateway call
    (`GET /payment/mode`)
   instead of separate provider and Stripe-account lookups; the effective now/later
   decision is made server-side by the Prodaxis payment service.

#### 1.8.0

 * The payment flow is now dictated by the shop’s payment provider configured in
   
   the Prodaxis dashboard (Manual/Email or Stripe) — the interim visitor-facing 
   payment-mode toggle has been removed.
 * The widget shows Stripe checkout only when the shop selected Stripe and its
    
   connected account can accept charges; otherwise orders are placed without payment
   and the shop arranges payment with the customer by email.
 * The configured mode is enforced server-side on the checkout endpoint and
    cached
   alongside the catalog (flushed when settings are saved).

#### 1.7.0

 * Redesign the widget after the Prodaxis QuoteFlow design: a split configurator
   
   on wide containers (persistent 3D preview + live quote panel) that collapses 
   into a guided stepper card on mobile, with a three-step flow (Configure -> Your
   details -> Payment) and a success screen.
 * The price is now calculated automatically as soon as the model and all
    options
   are selected, and recalculated when an option changes (the uploaded file is reused;
   superseded calculations are discarded).
 * New “Pay on invoice” mode: creates the order without starting a payment and
    
   confirms that an invoice will follow. An interim toggle switches between Stripe
   checkout and invoice mode until the account-mode API is available.
 * Default accent color changed to Prodaxis blue (#0f4c81).

#### 1.6.0

 * New: visitors can order and pay for a calculated print. After a quote, an
    “Order&
   pay” step collects contact and shipping details, creates the order through the
   gateway and redirects to a Stripe-hosted checkout page.
 * The charged amount is always re-read from the gateway by calculation
    reference
   server-side; the browser never dictates the price.
 * Returning from payment shows a confirmation (or cancellation) notice on the
    
   quote page.

#### 1.5.1

 * Rename all PHP functions, classes, constants, the stored option, transients,
   
   the nonce and AJAX actions, and script handles to use the unique `prodprqu_` 
   prefix, avoiding collisions with other plugins. Re-enter the API key under Settings-
   > Print Quote after updating.
 * Update the bundled Three.js library from r128 to r185 and load the 3D preview
   
   as an ES module (the modern build is ESM-only).
 * Document the external Prodaxis API gateway service, the data sent to
    it, and
   links to its Terms of Service and Privacy Policy.

#### 1.5.0

 * Authenticate with a per-company API key (sent as the `X-API-Key` header)
    instead
   of a service-account e-mail and password. Removes the server-side login step 
   and token caching. Configure the key under Settings -> Print Quote; generate 
   it in your company dashboard (Settings -> API).

#### 1.4.0

 * Remove the `[company_print_catalog]` catalog shortcode and its assets. The
    plugin
   now focuses solely on the `[prodaxis_print_quote]` tool. The print options are
   still fetched from /print/options to populate the quote controls.

#### 1.3.0

 * Add an interactive 3D preview of the uploaded STL above the upload step
    (Three.
   js, bundled locally): the model auto-rotates, can be orbited and zoomed, and 
   is tinted live by the selected color. Degrades to a small “3D preview unavailable”
   notice where WebGL or Three.js is missing.

#### 1.2.0

 * Redesign the `[prodaxis_print_quote]` widget: a single card with a drag-and-drop
   
   upload zone, a custom material picker, color swatches, quality-template cards
   and an animated price result. New optional shortcode attributes `accent`, template_style
   and `powered_by`.

#### 1.1.1

 * Fix: the quote widget now embeds its configuration inline in the shortcode
    markup,
   so the material list populates reliably regardless of how the theme or page builder
   prints scripts.

#### 1.1.0

 * Add the `[prodaxis_print_quote]` shortcode: upload an STL, pick a material,
    
   color and template, and get an asynchronous price calculation. Files and selections
   are proxied server-side (POST /slicer/upload, POST /print/calculate/async) and
   the result is polled (GET /calculation/{id}) until it completes or fails. Requests
   are protected with a WordPress nonce.

#### 1.0.0

 * Initial release: shortcode, admin settings, server-side auth with token and
    
   catalog caching, material/color/template cards with expandable details.

## Meta

 *  Versione **1.15.0**
 *  Ultimo aggiornamento **1 settimana fa**
 *  Installazioni attive **Meno di 10**
 *  Versione WordPress ** 5.8 o superiore **
 *  Testato fino alla versione **7.0.2**
 *  Versione PHP ** 7.4 o superiore **
 *  Lingua
 * [English (US)](https://wordpress.org/plugins/prodaxis-print-quote/)
 * Tag
 * [3D printing](https://it.wordpress.org/plugins/tags/3d-printing/)[catalog](https://it.wordpress.org/plugins/tags/catalog/)
   [materials](https://it.wordpress.org/plugins/tags/materials/)[shortcode](https://it.wordpress.org/plugins/tags/shortcode/)
 *  [Visualizzazione avanzata](https://it.wordpress.org/plugins/prodaxis-print-quote/advanced/)

## Valutazioni

Non sono state ancora inviate recensioni.

[Your review](https://wordpress.org/support/plugin/prodaxis-print-quote/reviews/#new-post)

[Vedi tutte le recensioni](https://wordpress.org/support/plugin/prodaxis-print-quote/reviews/)

## Collaboratori

 *   [ prodaxis ](https://profiles.wordpress.org/prodaxis/)

## Supporto

Hai qualcosa da dire? Ti serve aiuto?

 [Chiedi nel forum di supporto](https://wordpress.org/support/plugin/prodaxis-print-quote/)