Title: Fabrick Payment Orchestra
Author: Fabrick Support
Published: <strong>October 20, 2026</strong>
Last modified: October 20, 2026

---

Search plugins

![](https://ps.w.org/fabrick-payment-orchestra/assets/banner-772x250.png?rev=3756767)

![](https://ps.w.org/fabrick-payment-orchestra/assets/icon-256x256.png?rev=3756767)

# Fabrick Payment Orchestra

 By [Fabrick Support](https://profiles.wordpress.org/easynolo/)

[Download](https://downloads.wordpress.org/plugin/fabrick-payment-orchestra.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/fabrick-payment-orchestra/#description)
 * [Reviews](https://wordpress.org/plugins/fabrick-payment-orchestra/#reviews)
 *  [Installation](https://wordpress.org/plugins/fabrick-payment-orchestra/#installation)
 * [Development](https://wordpress.org/plugins/fabrick-payment-orchestra/#developers)

 [Support](https://wordpress.org/support/plugin/fabrick-payment-orchestra/)

## Description

[Fabrick](https://www.fabrick.com/en-gb/) offers solutions to meet and anticipate
all needs in the field of payment acceptance, on all physical and digital channels.
The offer consists of a single platform to accept payments through physical and 
digital gateways such as POS, Ecommerce solutions, Banking-as-a-Service (BaaS) and
omnichannel solutions in continuous evolution to meet market changes.

With [Fabrick Payment Orchestra](https://www.fabrick.com/en-gb/product/payment-orchestration/),
you can:

 * Accept payments from all major credit cards
 * Accept payments from different alternative payments like PayPal, Apple Pay, Google
   Pay and many others – and manage them from the same dashboard
 * Be compliant with PCI-DSS specifications, so that you don’t need to store your
   customers’ credit card numbers
 * Count on 3DS2.X support

#### WooCommerce Blocks Compatibility

The plugin is fully compatible with WooCommerce Blocks checkout. All payment methods
are supported in both classic checkout and blocks checkout modes. There is no need
to disable WooCommerce Blocks checkout.

#### Requirements

 * WooCommerce 9.0 or newer, WordPress 6.4 or newer, and PHP 8.0 or newer
 * Fabrick account with Payment Orchestra, Web Components, and REST APIs enabled
 * Credentials: Shop Login and API Key (sandbox or production)
 * HTTPS on the store domain (recommended / required in production)
 * For Apple Pay / Google Pay: domain prerequisites and activation on the Fabrick
   side (see the official documentation)

#### Available Payment Methods

Available payment methods depend on the services activated on your Fabrick account.

 * Alipay
 * Amazon Pay
 * Apple Pay
 * AppPago
 * BANCOMAT Pay
 * Bancontact
 * EPS
 * Fabrick Pay by Bank
 * Google Pay
 * Klarna
 * Konbini
 * Multibanco
 * MyBank
 * iDEAL
 * PayPal
 * Paysafecard
 * Przelewy24
 * Satispay
 * UnionPay
 * WeChat Pay

#### Benefits

 * Accept credit card payments directly on your store
 * Accept payments with a variety of alternative methods to increase conversion 
   by allowing customers to pay in their own preferred way
 * Reduce fraud risk with Fabrick’s risk-based 3-D Secure authentication (RBA)

#### Security

 * No credit card data is saved on your servers during the payment process
 * All major credit card brands are supported (Visa, Mastercard, American Express)
 * 3DS2.X support

#### Support

You can contact our support team writing at [plugin@fabrick.com](https://wordpress.org/plugins/fabrick-payment-orchestra/plugin@fabrick.com?output_format=md).

This plugin is developed and maintained for Fabrick by Neting srl (WordPress.org
account netingweb).

The complete plugin installation guide is available in the [Fabrick documentation](https://docs.fabrick.com/docs/paymentHubAndOrchestra/ecommerce/integrationMethods/plugin/woocommerce/).

### External services

This plugin connects to the **Fabrick Payment Orchestra** platform (Fabrick S.p.
A.) to process payments. This connection is required for the core functionality 
of the plugin: without it, no payment can be created, verified, or refunded.

#### 1. Orchestra REST API

 * **Endpoints:** `https://sandbox.gestpay.net` (sandbox) and `https://ecomms2s.
   sella.it` (live).
 * **What it is used for:** creating payment sessions, verifying payment outcomes(`
   payment/detail`), processing refunds and cancellations, retrieving the payment
   methods enabled on your terminal, and deleting saved-card tokens.
 * **When data is sent:** when a payment is created or verified, a refund or cancellation
   is sent, the method list is refreshed, a saved card is deleted, or the merchant
   runs a connection test.
 * **What data is sent:** your shop login and API key (authentication); order amount
   and currency; a shop transaction reference; callback URLs; the payment language
   code; WooCommerce, plugin, and WordPress versions. For 3-D Secure the request
   also includes the buyer name, email, and billing and shipping address. For some
   alternative methods, such as Klarna, it also includes order lines. When tokenization
   or subscriptions are enabled, it includes payment token references and recurring
   transaction identifiers. Full card numbers (PAN) and CVV never pass through or
   reach your server.

#### 2. Orchestra checkout WebComponent

 * **Endpoints:** `https://sandbox-web.axerve.com` (sandbox) and `https://web.axerve.
   com` (live).
 * **What it is used for:** the `fbk-elements.js` script is loaded in the customer’s
   browser when they open the order pay page and renders the `<fbk-checkout>` payment
   form (cards and alternative payment methods). The customer enters the card number
   and the security code in that component; those values are transmitted to Fabrick
   only.
 * **Why it is loaded externally:** card data is entered directly into the Fabrick-
   hosted component and is transmitted to Fabrick only, keeping your server out 
   of PCI scope (SAQ-A). Loading this script from Fabrick’s servers is a requirement
   of the payment service and cannot be bundled with the plugin.

#### 3. Apple Pay domain association (optional)

When enabling Apple Pay in production, a domain association file provided by Fabrick(
served from `https://web.fabrick.com`) must be hosted on your domain under `/.well-
known/`. This is only relevant if you activate Apple Pay on your terminal.

#### Service provider

The service is provided by **Fabrick S.p.A.**, Piazza Gaudenzio Sella 1, 13900 Biella,
Italy.

 * Privacy policy (payment service users): [fabrick.com/en-gb/privacy/privacy-policy-payment-services/](https://www.fabrick.com/en-gb/privacy/privacy-policy-payment-services/)
 * Privacy policy hub: [fabrick.com/en-gb/privacy/](https://www.fabrick.com/en-gb/privacy/)
 * Service documentation: [docs.fabrick.com](https://docs.fabrick.com/docs/paymentHubAndOrchestra/ecommerce/integrationMethods/plugin/woocommerce/)

If you publish a privacy policy on your store (recommended for GDPR compliance),
you should mention that payment data is processed by Fabrick S.p.A. as payment service
provider.

### Actions and filters

Developer hooks use the `fabrick_orch_*` prefix and are a **stable public API** (
additive changes only). Register them from a custom plugin with `add_action()` /`
add_filter()`.

**Rules of thumb**

 * Prefer `fabrick_orch_payment_completed` / `_failed` / `_pending` for business
   logic — they run **after** verified `payment/detail`.
 * `fabrick_orch_callback_received` is raw ingress (not yet verified); do not treat
   it as “paid”.
 * Filters must keep the expected return type (`array`, `string`, `bool`, …). Do
   not strip required Orchestra fields (`shopLogin`, `responseURLs`, amounts, binding
   IDs).
 * Hooks must not bypass nonces, capabilities, token ownership (anti-IDOR), or `
   payment/detail` verification.
 * Legacy GestPay aliases receive REST-oriented data (arrays), not SOAP `SimpleXMLElement`.

**Example — note on verified payment**

    ```
    add_action( 'fabrick_orch_payment_completed', function( $order, $payment_detail, $source ) { $order->add_order_note( 'Fabrick payment verified (' . $source . ').' ); }, 10, 3 );
    ```

**Example — filter create payload**

    ```
    add_filter( 'fabrick_orch_create_payment_request', function( $payload, $order, $context ) { /* enrich $payload; return array */ return $payload; }, 10, 3 );
    ```

**Example — ecommerce EC transDetails (one-shot)**

    ```
    add_filter( 'fabrick_orch_ecommerce_trans_details', function( $details, $order ) { return $details; }, 10, 2 );
    ```

#### Actions — payment lifecycle (callback)

 * `fabrick_orch_callback_received( string $source, array $params, WC_Order|null
   $order )` — callback received (buyer or S2S); **not** yet verified.
 * `fabrick_orch_before_callback_processing( WC_Order $order, string $source, array
   $params )` — before `payment/detail` drives order status.
 * `fabrick_orch_after_callback_processing( WC_Order $order, string $source, array
   $payment_detail )` — after callback processing completes.
 * `fabrick_orch_payment_completed( WC_Order $order, array $payment_detail, string
   $source )` — payment confirmed completed.
 * `fabrick_orch_payment_failed( WC_Order $order, array $payment_detail, string 
   $source )` — payment failed.
 * `fabrick_orch_payment_pending( WC_Order $order, array $payment_detail, string
   $source )` — payment pending (e.g. async APM).
 * `fabrick_orch_process_payment_error( Throwable $error, WC_Order|null $order, 
   array $context )` — checkout, callback, or Pay By Link error.
 * $source is one of: `s2s`, `buyer_ok`, `buyer_ko`, `recovery`, `admin`, `checkout`,`
   subscription`, `legacy`.

#### Actions — checkout, admin, refunds, tokens, subscriptions, Pay By Link

 * `fabrick_orch_payment_fields( string $gateway_id )` — before payment fields /
   WebComponent render on the pay page.
 * `fabrick_orch_gateway_settings_before_cards( object $gateway )` — gateway settings
   screen extension point.
 * `fabrick_orch_connection_test_result( bool $success, array $result, array $context)`—
   after AJAX connection test.
 * `fabrick_orch_shop_login_changed( string $environment, string $shop_login, string
   $previous )` — shop login credential changed.
 * `fabrick_orch_before_refund( WC_Order $order, float|null $amount, array $context)`—
   before refund API call.
 * `fabrick_orch_refund_success( WC_Order $order, array $response, float|null $amount)`—
   refund succeeded.
 * `fabrick_orch_refund_failed( WC_Order $order, array $response, Throwable|null
   $error )` — refund failed.
 * `fabrick_orch_before_cancel( WC_Order $order, array $context )` — before void/
   cancel API call.
 * `fabrick_orch_cancel_success( WC_Order $order, array $response )` — void/cancel
   succeeded.
 * `fabrick_orch_cancel_failed( WC_Order $order, array $response, Throwable|null
   $error )` — void/cancel failed.
 * `fabrick_orch_payment_token_created( WC_Payment_Token $token, WC_Order $order,
   array $detail )` — new saved card token persisted.
 * `fabrick_orch_payment_token_updated( WC_Payment_Token $token, WC_Order $order,
   array $detail )` — existing token updated.
 * `fabrick_orch_payment_token_deleted( WC_Payment_Token $token )` — token removed
   locally (before WC delete).
 * `fabrick_orch_remote_token_deleted( WC_Payment_Token $token, array $payload )`—
   token deleted remotely on Orchestra (`DELETE shop/token`).
 * `fabrick_orch_oneclick_submitted( array $submitted, WC_Order $order, WC_Payment_Token
   $token )` — OneClick submit completed.
 * `fabrick_orch_legacy_token_migrated( WC_Payment_Token $token, int $user_id, array
   $card )` — legacy GestPay token migrated (only if migration is enabled).
 * `fabrick_orch_subscription_renewal_success( WC_Order $renewal_order, array $payment_detail,
   object|null $subscription )` — WCS renewal succeeded.
 * `fabrick_orch_subscription_renewal_failed( WC_Order $renewal_order, string $message,
   object|null $subscription )` — WCS renewal failed.
 * `fabrick_orch_pay_by_link_generated( WC_Order $order, string $redirect_url, string
   $payment_id )` — Pay By Link session created.
 * `fabrick_orch_pay_by_link_email_sent( WC_Order $order, string $recipient )` —
   Pay By Link email sent to buyer.
 * `gestpay_on_renewal_payment_failure( … )` — **deprecated** alias of `fabrick_orch_subscription_renewal_failed`.

#### Filters — payment/create & API

 * `fabrick_orch_alter_order_id( string $shop_transaction_id, WC_Order $order, array
   $context )` — external shop transaction ID sent to Orchestra.
 * `fabrick_orch_order_details( array $details, WC_Order $order )` — OrderDetails
   block (Klarna / APM).
 * `fabrick_orch_ecommerce_trans_details( array $details, WC_Order $order )` — ecommerce`
   transDetails` (`type=EC`) for one-shot create; subscription First replaces this
   with MIT `01F`.
 * `fabrick_orch_create_payment_request( array $payload, WC_Order $order, array 
   $context )` — checkout `payment/create` body (includes first-level CMS metadata:`
   CMS_Type`, `CMS_Version`, `Module_Version`, `WP_Version`).
 * `fabrick_orch_pay_by_link_create_request( array $payload, WC_Order $order )` —
   Pay By Link `payment/create` body (same CMS metadata).
 * `fabrick_orch_payment_language_id( string $language_id, WC_Order $order, array
   $context )` — `languageId` sent in checkout and Pay By Link `payment/create` (`'
   1'` Italian, `'2'` English, `'3'` Spanish, `'4'` French, `'5'` German; return`''`
   to omit it). `$context`: `source`, `locale`.
 * `fabrick_orch_available_payment_methods( array $methods, WC_Order|null $order,
   array $context )` — `paymentType` codes included in create.
 * `fabrick_orch_api_request_params( array $params, string $endpoint, string $method,
   WC_Order|null $order )` — Orchestra REST request body/query.
 * `fabrick_orch_api_request_headers( array $headers, string $endpoint, string $
   method, array $params, WC_Order|null $order )` — REST headers.
 * `fabrick_orch_api_request_response( array|WP_Error $response, string $method,
   string $url, string $endpoint )` — raw HTTP response.

#### Filters — callback, checkout UI, Blocks

 * `fabrick_orch_revert_order_id( string $order_id, array $callback_params, string
   $source )` — map callback reference back to WooCommerce order ID.
 * `fabrick_orch_process_callback_async( bool $async, WC_Order $order, string $source,
   array $params )` — defer callback to Action Scheduler.
 * `fabrick_orch_callback_deferred_delay( int $seconds, … )` — delay when callback
   is deferred.
 * `fabrick_orch_buyer_ok_retry_attempts( int $attempts )` — buyer return retry 
   count.
 * `fabrick_orch_buyer_ok_retry_delay_seconds( int $seconds )` — delay between buyer
   return retries.
 * `fabrick_orch_webcomponent_attributes( array $attributes, WC_Order $order, array
   $context )` — `<fbk-checkout>` HTML attributes.
 * `fabrick_orch_checkout_script_params( array $params, WC_Order $order )` — pay-
   page JavaScript bootstrap.
 * `fabrick_orch_pay_page_script_config( array $config, WC_Order $order )` — pay-
   page UX script config.
 * `fabrick_orch_blocks_payment_method_data( array $data, object $gateway )` — WooCommerce
   Blocks payment method data.
 * `fabrick_orch_is_blocks_checkout_supported( bool $supported )` — whether Blocks
   integration is active.

#### Filters — refunds, tokens, subscriptions, settings, logging

 * `fabrick_orch_refund_request( array $payload, WC_Order $order, float|null $amount,
   string $reason )` — refund API payload.
 * `fabrick_orch_cancel_request( array $payload, WC_Order $order )` — void/cancel
   API payload.
 * `fabrick_orch_oneclick_submit_body( array $body, WC_Order $order, string $orchestra_token)`—
   OneClick `payment/submit` body.
 * `fabrick_orch_saved_card_display_label( string $label, WC_Payment_Token $card)`—
   My Account saved card label.
 * `fabrick_orch_legacy_token_migration_enabled( bool $enabled )` — opt-in legacy
   token import (default `false`).
 * `fabrick_orch_mit_payment_request( array $payload, WC_Order $renewal_order, WC_Payment_Token
   $token )` — MIT renewal create payload (includes CMS metadata).
 * `fabrick_orch_mit_authentication_amount( float $amount, WC_Order $order, string
   $recurring_total )` — First authentication amount (default recurring × 1.25).
 * `fabrick_orch_mit_recurring_frequency( int $days, WC_Order $order )` — days between
   recurring charges.
 * `fabrick_orch_settings_fields( array $fields, object $gateway )` — gateway settings
   fields.
 * `fabrick_orch_shop_methods( array $methods, string $environment, bool $from_cache)`—
   terminal methods catalog entries.
 * `fabrick_orch_shop_methods_cache_ttl( int $seconds, string $environment )` — 
   catalog cache TTL.
 * `fabrick_orch_methods_refresh_diff( object $diff, string $environment )` — diff
   after methods refresh.
 * `fabrick_orch_methods_reconciliation_notice( bool $show, array $missing_types)`—
   admin notice for missing methods.
 * `fabrick_orch_method_logo_url( string $url, string $code, string $label )` — 
   payment method logo URL in settings.
 * `fabrick_orch_logging_enabled( bool $enabled, string $level, string $message,
   array $context )` — enable/disable plugin logging.
 * `fabrick_orch_log_context( array $context, string $level, string $message )` —
   mask or enrich log context.
 * `fabrick_orch_mask_log_value( string $masked, string $key, mixed $value )` — 
   mask a single log value.
 * `fabrick_orch_debug_enabled( bool $enabled )` — force debug mode on/off.
 * `fabrick_orch_debug_log_max( int $max )` — admin debug log buffer size (`0` disables
   the buffer).
 * `gestpay_revert_order_id( mixed $order_id )` — **deprecated** alias of `fabrick_orch_revert_order_id`(
   order ID resolution only).

## Screenshots

[⌊Secure order pay page — the Fabrick component with card, wallets, and alternative
payment methods.⌉⌊Secure order pay page — the Fabrick component with card, wallets,
and alternative payment methods.⌉[

Secure order pay page — the Fabrick component with card, wallets, and alternative
payment methods.

[⌊Card payment inside the Fabrick component — card data is entered in the component,
never on your server.⌉⌊Card payment inside the Fabrick component — card data is 
entered in the component, never on your server.⌉[

Card payment inside the Fabrick component — card data is entered in the component,
never on your server.

[⌊WooCommerce Blocks checkout — Fabrick Payment Orchestra with the option to save
the card for future purchases.⌉⌊WooCommerce Blocks checkout — Fabrick Payment Orchestra
with the option to save the card for future purchases.⌉[

WooCommerce Blocks checkout — Fabrick Payment Orchestra with the option to save 
the card for future purchases.

[⌊Setup wizard — welcome and requirements check.⌉⌊Setup wizard — welcome and requirements
check.⌉[

Setup wizard — welcome and requirements check.

[⌊Setup wizard — connect your Fabrick account with Shop Login and API Key.⌉⌊Setup
wizard — connect your Fabrick account with Shop Login and API Key.⌉[

Setup wizard — connect your Fabrick account with Shop Login and API Key.

[⌊Setup wizard — choose the payment methods to offer.⌉⌊Setup wizard — choose the
payment methods to offer.⌉[

Setup wizard — choose the payment methods to offer.

[⌊Setup wizard — choose the sandbox or live environment.⌉⌊Setup wizard — choose 
the sandbox or live environment.⌉[

Setup wizard — choose the sandbox or live environment.

[⌊Setup wizard — review and finish.⌉⌊Setup wizard — review and finish.⌉[

Setup wizard — review and finish.

[⌊Gateway settings — environment, credentials, connection test, and checkout display.⌉⌊
Gateway settings — environment, credentials, connection test, and checkout display
.⌉[

Gateway settings — environment, credentials, connection test, and checkout display.

## Installation

 1.  Install and activate WooCommerce 9.0 or newer.
 2.  On a staging site, upload the plugin zip via **Plugins  Add New  Upload Plugin**,
     or copy the `fabrick-payment-orchestra` folder to `wp-content/plugins/`.
 3.  Activate **Fabrick Payment Orchestra**. This does not replace Axerve / GestPay
     for WooCommerce.
 4.  Open **WooCommerce  Settings  Payments  Fabrick Payment Orchestra**, or complete
     the setup wizard on first activation.
 5.  Enter your **Shop Login** and **API Key** from the Fabrick backoffice (Security
     section).
 6.  Choose **Sandbox** or **Live**, then enable the payment methods you need.
 7.  For live payments, serve the store over HTTPS.
 8.  Before going live, turn off the old GestPay gateway if it is still active.
 9.  For subscriptions on this plugin: install WooCommerce Subscriptions and enable**
     tokenization** in gateway settings. If the store already has subscriptions or 
     saved cards on the old plugin, contact support before migrating.

## FAQ

### Why is a payment method missing at checkout?

The checkout lists only methods enabled on your Fabrick account and turned on in
this plugin’s settings. Ask Fabrick to activate a method, then refresh the method
list in the gateway settings.

### Where does the customer enter the card details?

After the customer places the order, WooCommerce opens the order pay page of your
store. The customer enters the card number and the security code in the Fabrick 
payment component on that page. When the card issuer requires 3-D Secure, authentication
continues on Fabrick’s page. Alternative methods continue on the provider’s site.

### Can I migrate from Axerve / GestPay for WooCommerce?

This is a separate plugin: installing it does not update Axerve / GestPay for WooCommerce.
Test it on a staging site first. Contact support before you migrate a store with
active subscriptions or saved cards from the old plugin.

### Can I use this plugin together with Axerve / GestPay for WooCommerce?

Yes. They are separate plugins and can both be active. Turn off the old gateway 
before you take live payments with this one, so customers see a single Fabrick method
at checkout.

### How do I switch from sandbox to live?

In the gateway settings, select Live and enter the live Shop Login and API Key. 
Sandbox and live credentials are stored separately. Live payments require HTTPS.

### Why is the order still pending if the customer closed the page?

Closing the page does not tell the store whether the payment succeeded. The order
stays unpaid until Fabrick confirms the result. If the customer approved the payment
and the confirmation is delayed, do not ask them to pay again: check the order after
the notification arrives.

### Is an SSL certificate required?

Yes for **live** payments. Your checkout and callback URLs must be served over HTTPS.
Sandbox testing can use HTTP on local development sites with a tunnel (e.g. ngrok)
for callbacks.

### Is WooCommerce Blocks supported?

Yes. You do not need to turn Blocks off. After the customer places the order, WooCommerce
opens the order pay page with the Fabrick payment component, as in the classic checkout.

### Is HPOS (High-Performance Order Storage) supported?

Yes. The plugin declares compatibility with WooCommerce custom order tables.

### Do I need WooCommerce Subscriptions?

Only for subscription products and renewals. Standard one-off payments work without
it.

### Can I send a payment link instead of checkout?

Yes. From the order admin screen, use **Send Fabrick payment link** on eligible 
pending or on-hold orders. The buyer receives an email with a hosted payment page
URL. Resending generates a new link and invalidates previous ones.

### Where are developer hooks documented?

Public `fabrick_orch_*` actions and filters are listed in **Actions and filters**
below (with parameters and examples). The repository also ships `docs/developer-
hooks-guide.md` (usage) and `docs/hooks-and-filters-spec.md` (design / legacy map)—
those files are not included in the WordPress.org zip.

### Where is the source code of the compiled JavaScript?

The Blocks checkout script in `build/` is compiled from `assets/blocks/`, which 
ships with the plugin together with `package.json` and `webpack.config.js`. To rebuild
it, run `npm install` and `npm run build` in the plugin folder (uses `@wordpress/
scripts`). All other JavaScript and CSS files are not minified.

### How do I extend the gateway with code?

Create a small custom plugin (preferred) or must-use plugin and register with `add_action`/`
add_filter` on the `fabrick_orch_*` hooks. Load after WooCommerce is available (`
plugins_loaded` priority 11+ or `woocommerce_init`). Prefer lifecycle actions such
as `fabrick_orch_payment_completed` (after verified `payment/detail`) over raw `
fabrick_orch_callback_received`.

### In which language is the payment form shown?

The Fabrick payment component follows the customer’s browser language. The plugin
also sends the store language to Fabrick as `languageId` (Italian, English, Spanish,
French or German; English for any other language) when creating the payment. With
WPML, the order language is used for payment links. Whether Fabrick uses that code
for buyer emails or the Pay By Link page depends on the Orchestra account; ask Fabrick
if you need a confirmed behaviour. Developers can change or omit `languageId` with
the `fabrick_orch_payment_language_id` filter.

### Does debug logging include personal data?

Only when the merchant enables gateway debug logging. Create-request logs include
technical fields (amount, currency, CMS versions, presence flags) without billing
address or email from `OrderDetails` / `transDetails`. Disable debug on production
stores when not troubleshooting.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Fabrick Payment Orchestra” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Fabrick Support ](https://profiles.wordpress.org/easynolo/)
 *   [ Neting ](https://profiles.wordpress.org/netingweb/)

[Translate “Fabrick Payment Orchestra” into your language.](https://translate.wordpress.org/projects/wp-plugins/fabrick-payment-orchestra)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/fabrick-payment-orchestra/),
check out the [SVN repository](https://plugins.svn.wordpress.org/fabrick-payment-orchestra/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/fabrick-payment-orchestra/)
by [RSS](https://plugins.trac.wordpress.org/log/fabrick-payment-orchestra/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * **Feature:** first public release on WordPress.org. New plugin (separate from
   Axerve / GestPay for WooCommerce); see the FAQ before migrating.
 * **Feature:** checkout and Pay By Link send `languageId` from the store language(
   WPML order language for payment links). Filter: `fabrick_orch_payment_language_id`.
   The payment form texts still follow the buyer browser language.
 * **Feature:** export the recent debug log as CSV or Markdown from the gateway 
   Debug card (capability- and nonce-protected).
 * **Feature:** gateway settings show the installed plugin version in the account
   card header.
 * **Update:** production package includes Blocks checkout source (`assets/blocks/`,`
   package.json`, `webpack.config.js`) so the compiled script can be rebuilt; FAQ
   explains how.
 * **Update:** payment method label no longer shows a favicon icon; sandbox uses
   a clear “Test mode” badge.
 * **Update:** plugin Author is Fabrick S.p.A.; Neting develops and maintains the
   plugin for Fabrick (WordPress.org account netingweb).
 * **Update:** order-pay CDN loader and My Account hide-add-payment-method CSS use
   WordPress enqueue APIs (no raw script/style tags).
 * **Update:** production zip no longer ships compiled translation files (`.po` /`.
   mo` / `.json`); community translations load from translate.wordpress.org.
 * **Fix:** classic checkout payment box uses a white background (aligned with Blocks).
 * **Fix:** order pay page replaces a dead Orchestra session after a WebComponent
   error instead of retrying a cancelled payment (`1143`).
 * **Security:** debug `payment/create` logs no longer store buyer personal data
   from `OrderDetails` / `transDetails` (technical flags only).
 * **Security:** if `payment/detail` is unavailable when checking a stored session
   at checkout, the plugin starts a new payment session instead of reusing an unverified
   one.
 * **Fix:** setup wizard parent menu uses `options.php` to avoid a `strip_tags()`
   deprecation on PHP 8.1+.

#### 0.2.11

 * **Fixed:** the WooCommerce core spinner no longer overlaps the Fabrick loading
   indicator on the order pay page (generic `.woocommerce .loader` rule matched 
   a container rendered by the payment component).

#### 0.2.10

 * **Added:** deleting a saved Fabrick card in My Account also deletes the token
   on Orchestra (`DELETE shop/token/{shopLogin}/{token}`). Remote failures are logged
   and do not undo the local deletion.
 * **Added:** deletion is blocked when the card is used by an active or on-hold 
   WooCommerce Subscription (customer must change the subscription payment method
   first).
 * **Added:** developer action `fabrick_orch_remote_token_deleted`.

#### 0.2.9

 * **Fixed:** when debug logging is enabled, `payment/create` logs now include CMS
   metadata (`CMS_Type`, `CMS_Version`, `Module_Version`, `WP_Version`) alongside`
   OrderDetails` and `transDetails`.

#### 0.2.8

 * **Added:** first-level CMS metadata on every `payment/create` request (`CMS_Type`,`
   CMS_Version`, `Module_Version`, `WP_Version`) for checkout, Pay By Link, and 
   MIT renewal. WordPress version uses `wp_get_wp_version()` for accurate reporting.

#### 0.2.7

 * **Changed:** MyBank (`MYBANK`) can be enabled or disabled like other payment 
   methods and is included in `paymentType[]` when selected in gateway settings.

#### 0.2.6

 * **Added:** Orchestra callback `Status=XX` (async/pending APM) is accepted and
   verified via `payment/detail`; orders move to `on-hold` when the outcome is pending;
   buyer return shows a pending confirmation notice.
 * **Fixed:** WooCommerce Subscriptions scheduled renewals — gateway declares `subscription_suspension`
   and `subscription_reactivation` support (required for renewal cron).

#### 0.2.5

 * **Changed:** live shop methods catalog shows only methods with `paymentPage=visible`(
   hidden terminal methods excluded from admin toggles).
 * **Changed:** payment-methods AJAX refresh updates the list HTML in place; cache
   schema v2 invalidates pre-filter snapshots.

#### 0.2.4

 * **Added:** when debug logging is enabled, `payment/create` logs include `OrderDetails`
   and `transDetails` (plus `has_*` / `transDetails_type` flags) for payload verification.

#### 0.2.3

 * **Added:** ecommerce `transDetails` (`type=EC`) on checkout and Pay By Link `
   payment/create` for 3DS2 buyer data (filter `fabrick_orch_ecommerce_trans_details`).
   Subscription First still uses MIT `01F`.

#### 0.2.2

 * **Fixed:** buyer return redirects use verified `payment/detail` and bind payment
   identifiers to the processed order (avoids thank-you for an unrelated paid order;
   Status=OK unverified shows a neutral “do not pay again” notice).
 * **Fixed:** OneClick immediate submit failures and pre-submit skips now emit clear
   technical logs with stable reason codes.

#### 0.2.1

 * **Added:** `OrderDetails` on checkout and Pay By Link `payment/create` so Klarna
   can appear in `<fbk-checkout>` (filter `fabrick_orch_order_details`).
 * **Fixed:** inactive terminal payment types are removed from `paymentType[]` before
   create, logged, and pruned from saved settings (avoids HTTP 400 / `1403`).

#### 0.2.0

 * **Added:** Pay By Link (Hosted Payment Page) — admin order action **Send Fabrick
   payment link** for pending/on-hold orders paid with Fabrick Payment Orchestra.
 * **Added:** Buyer email with hosted payment URL (Italian and English templates
   via `wp_mail`).
 * **Added:** Order meta `_fabrick_pbl_*` for link URL, payment ID, sent time, and
   48-hour expiry.
 * **Added:** Developer hooks `fabrick_orch_pay_by_link_create_request`, `fabrick_orch_pay_by_link_generated`,`
   fabrick_orch_pay_by_link_email_sent`.
 * **Changed:** Each admin send regenerates the Pay By Link session; previous payment
   links are invalidated (best-effort cancel of the prior Orchestra session).

#### 0.1.1

 * **Fixed:** dist zip now packages the plain slug folder (`fabrick-payment-orchestra/`)
   instead of a versioned folder, resolving Plugin Check `TextDomainMismatch` false
   positives.
 * **Fixed:** My Account saved-card label used the `woocommerce` text domain instead
   of the plugin’s own.
 * **Fixed:** removed the discouraged manual translation loader; translations now
   load automatically via the `Domain Path` header.
 * **Fixed:** dist artifact keeps `composer.json` (dependency manifest) instead 
   of stripping it.
 * **Fixed:** Short Description and `Tested up to` header updated for WordPress.
   org compliance.

#### 0.1.0

 * **Added:** Fabrick Payment Orchestra gateway — REST `payment/create`, `<fbk-checkout
   >` pay page, buyer + S2S callbacks.
 * **Added:** WooCommerce Blocks payment method; classic checkout support.
 * **Added:** Tokenization, saved cards, OneClick off-session payments.
 * **Added:** WooCommerce Subscriptions MIT (`01F` / `01N`) with authentication 
   amount headroom.
 * **Added:** Admin refunds and void/cancel; HPOS compatibility; onboarding wizard.
 * **Added:** Italian and English translations; public `fabrick_orch_*` developer
   hooks.
 * **Added:** Deprecated legacy hook aliases for GestPay migration (`gestpay_revert_order_id`,`
   gestpay_on_renewal_payment_failure`).

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [credit card](https://wordpress.org/plugins/tags/credit-card/)[fabrick](https://wordpress.org/plugins/tags/fabrick/)
   [payment gateway](https://wordpress.org/plugins/tags/payment-gateway/)[subscriptions](https://wordpress.org/plugins/tags/subscriptions/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/fabrick-payment-orchestra/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/fabrick-payment-orchestra/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fabrick-payment-orchestra/reviews/)

## Contributors

 *   [ Fabrick Support ](https://profiles.wordpress.org/easynolo/)
 *   [ Neting ](https://profiles.wordpress.org/netingweb/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fabrick-payment-orchestra/)