F2M Pay for WooCommerce

Plugin Banner

F2M Pay for WooCommerce

by f2mpay

Download
Description

F2M Pay for WooCommerce is a comprehensive payment gateway plugin that enables your WooCommerce store to accept cryptocurrency payments. This plugin goes beyond basic payment processing by offering advanced features including profit sharing, automated refund management, and support for multiple signature methods.

Key Features

  • Multiple Cryptocurrency Support – Accept payments in various cryptocurrencies supported by F2M Pay
  • Advanced Profit Sharing – Automatically split payments between multiple parties (merchant, TSP, distributor)
  • Smart Refund Orchestration – State machine-based refund processing with automatic commission clawback
  • Multi-Signature Methods – Supports HMAC-SHA256, HMAC-SHA512, and RSA signature algorithms
  • Channel Partner Support – Built-in support for channel partner/sub-merchant configurations
  • Express Checkout – Quick checkout buttons on product and cart pages
  • HPOS Compatible – Full support for WooCommerce High-Performance Order Storage
  • Centralized Management – Optional centralized database for multi-store management
  • Comprehensive Logging – Detailed transaction, webhook, and refund logs for debugging
  • Secure Credential Storage – AES-256-CBC encryption for sensitive API credentials

Payment Flow

  1. Customer selects F2M Pay at checkout
  2. Order is created and customer is redirected to F2M Pay checkout
  3. Customer completes payment using their F2M account
  4. Webhook confirms payment and order is automatically completed
  5. If profit sharing is enabled, commissions are automatically distributed
  6. Refunds trigger automatic commission clawback and customer refund

Requirements

  • WordPress 6.0 or higher
  • WooCommerce 7.0 or higher
  • PHP 7.4 or higher
  • MySQL 5.7 or higher
  • SSL certificate (HTTPS required)
  • F2M account with API credentials

Documentation & Support

For documentation and support, please visit F2M Labs or contact us at contact@f2mlabs.com.

Security

This plugin implements multiple security measures:

  • AES-256-CBC encryption for API credentials
  • Prepared statements for all database queries
  • Input sanitization and output escaping
  • Nonce verification for AJAX requests
  • Capability checks for admin functions
  • HTTPS requirement for webhooks
  • Signature verification for payment webhooks
  • Security headers on API endpoints

If you discover a security vulnerability, please email security@f2mlabs.com

External Services

This plugin connects to external third-party services to process payments. By using this plugin, you agree to the terms and privacy policies of these services.

F2M Pay API

This plugin sends data to the F2M Pay API (the payment gateway API) to create and process cryptocurrency payments.

Data sent:
* Order number and amount
* Currency and fiat currency
* Merchant ID and API credentials (server-to-server only)

When data is sent:
* When a customer initiates a payment at checkout
* When querying payment or refund status
* When processing refunds

Centralized Management API (Optional)

If configured by the store administrator, this plugin can optionally connect to a centralized management API to synchronize transaction data across multiple stores. This feature is disabled by default and requires the administrator to explicitly configure the API endpoint and key in the plugin settings.

Data sent (when enabled):
* Transaction records (order ID, amount, currency, status)
* Webhook logs
* Refund records
* Store URL and Merchant ID

Data NOT sent:
* F2M API Secret (never transmitted)
* Customer personal information
* Payment card or wallet details

This feature can be fully disabled by leaving the “Central API Endpoint” and “Central API Key” fields empty in the plugin settings.

DPT Pay API

This plugin supports DPT Pay as an alternative cryptocurrency payment gateway.

Data sent:
* Order number and amount
* Currency
* Merchant ID (server-to-server only)

When data is sent:
* When a customer selects DPT Pay at checkout
* When querying payment status
* When processing refunds

Privacy Policy

This plugin:

  • Stores transaction data (order amounts, trade numbers, statuses) in your WordPress database
  • Sends order information (order number, amount, currency) to F2M Pay API for payment processing
  • Optionally sends transaction and webhook data to a centralized management API if explicitly configured by the administrator
  • Does not send customer personal data (name, email, address) to any third party
  • Does not store or transmit F2M API Secrets to any external service
  • Complies with GDPR requirements for data handling

For more information, see our Privacy Policy

Credits

Developed by F2M Labs
https://www.f2mlabs.com

License

This plugin is licensed under GPLv3 or later.
https://www.gnu.org/licenses/gpl-3.0.html

Automatic Installation

  1. Log in to your WordPress admin panel
  2. Navigate to Plugins > Add New
  3. Search for “F2M Pay for WooCommerce”
  4. Click “Install Now” and then “Activate”

Manual Installation

  1. Download the plugin ZIP file
  2. Extract the ZIP file
  3. Upload the f2m-pay-woocommerce folder to /wp-content/plugins/
  4. Activate the plugin through the ‘Plugins’ menu in WordPress

Configuration

  1. Navigate to WooCommerce > F2M Pay
  2. Click on “Merchant Config” tab
  3. Enter your F2M API credentials:
    • Merchant ID
    • API Key
    • API Secret
    • Select signature method (HMAC-SHA512 recommended)
  4. Configure webhook URL in your F2M dashboard
  5. Go to “Settings” tab and enable F2M Pay
  6. Test the payment flow with a small transaction

For detailed setup instructions, see the Installation Guide included with the plugin.

  1. Payment Providers - F2M Pay active in WooCommerce payment settings

    Payment Providers - F2M Pay active in WooCommerce payment settings

  2. Gateway Settings - API Key, Secret, and Test Mode configuration

    Gateway Settings - API Key, Secret, and Test Mode configuration

  3. Checkout Page - Pay with Crypto option at checkout

    Checkout Page - Pay with Crypto option at checkout

  4. Payment Page - Choose network (Solana, Ethereum, Polygon)

    Payment Page - Choose network (Solana, Ethereum, Polygon)

  5. Payment Details - QR code, wallet address, and Connect Wallet option

    Payment Details - QR code, wallet address, and Connect Wallet option

Do I need a F2M account?

Yes, you need a F2M account to use this plugin. You can apply at https://pay.f2m.dev

Which cryptocurrencies are supported?

F2M Pay supports all cryptocurrencies available in your F2M account, including BTC, ETH, USDT, BUSD, BNB, and many others.

Is SSL required?

Yes, SSL (HTTPS) is required for webhook functionality and secure payment processing.

How do refunds work?

Refunds are processed through an intelligent state machine that:
1. Claws back commissions from profit sharing recipients (if applicable)
2. Processes the refund through F2M Pay
3. Updates the WooCommerce order status
4. Provides detailed logging of each step

Can I use this for multiple stores?

Yes, the plugin includes centralized database support for managing multiple stores from a single API endpoint.

What signature methods are supported?

The plugin supports:
* HMAC-SHA512 (recommended)
* HMAC-SHA256
* RSA with certificate-based signing

Is this plugin compatible with WooCommerce Blocks?

Yes, the plugin includes full support for WooCommerce Checkout Blocks.

Where can I find my webhook URL?

Navigate to WooCommerce > F2M Pay > Integration tab to find your webhook URLs.

3.1.0 – 2026-07-13

  • Security: Webhook signature verification now rejects requests when webhook_secret is not configured
  • Security: SSL verification enabled for test mode loopback requests (with WP_DEBUG fallback)
  • Security: All webhook JSON payloads sanitized after json_decode via map_deep
  • Security: SVG output wrapped with wp_kses() using custom allowed tags
  • Improved: All inline CSS/JS extracted to separate enqueued files (14 instances)
  • Improved: All script/style handles prefixed with f2m-bpay-
  • Improved: JS variable escaping with esc_js() and esc_url() in templates
  • Improved: $_GET parameters sanitized with sanitize_key() instead of bare isset()
  • Fixed: wp_localize_script variable name mismatch (binancePayExpress f2mBpayExpress)
  • Fixed: Translation file names updated to match new text domain
  • Fixed: Removed hardcoded test domain (kongfuearpods)
  • Fixed: Removed error_reporting() override
  • Fixed: Removed “powered by F2M” from customer-facing gateway description
  • Updated: Tested up to WordPress 7.0
  • Updated: Added Requires Plugins: woocommerce header
  • Updated: Added WC requires/tested headers to readme.txt
  • Updated: Contributors updated to f2mpay, f2mlabs
  • Updated: All f2mlabs.com links verified and corrected

3.0.0 – 2026-07-08

  • Breaking: Plugin files renamed from binance-* to f2m-* (legacy stub included for compatibility)
  • Breaking: Text Domain changed to f2m-pay-for-woocommerce
  • Improved: Removed all error_log() calls, replaced with WC Logger
  • Improved: All user-visible Binance branding replaced with F2M Pay
  • Fixed: Unprepared SQL queries now use $wpdb->prepare()
  • Fixed: Removed reference to non-existent class-binance-api.php
  • Added: LICENSE file

2.4.1 – 2026-07-08

  • Improved: Replaced plugin-level “F2M Pay” branding with “F2M Pay” in order notes and debug logs
  • Improved: Updated readme.txt plugin title to “F2M Pay for WooCommerce”

2.4.0 – 2026-07-08

  • New: WooCommerce Block Checkout support for DPT Pay gateway
  • Improved: Block Checkout script dependency declarations (blocks.asset.php)
  • Improved: Defensive checks in blocks.js for missing global objects
  • Improved: Payment method icons in Block Checkout display
  • Fixed: String ‘1’ value handling in Block gateway enabled check

2.3.3 – 2026-07-05

  • Improved: Auto-send webhookUrl when creating payment orders
  • Improved: i18n support for gateway method description

2.3.2 – 2026-07-01

  • Improved: i18n support for test payment page — all user-facing text now uses WordPress translation functions
  • Improved: i18n support for test payment handler — error messages and order notes now translatable
  • Updated: Chinese (zh_CN) translation files with all new strings

2.0.0 – 2026-01-05

  • New: Advanced profit sharing with automatic commission distribution
  • New: Refund state machine with intelligent orchestration
  • New: Commission clawback on refunds
  • New: Multi-signature support (HMAC-SHA256, HMAC-SHA512, RSA)
  • New: Channel partner/sub-merchant support
  • New: Express checkout buttons
  • New: Centralized database for multi-store management
  • New: Comprehensive admin interface with tabs
  • New: WooCommerce Blocks integration
  • Improved: Security with AES-256-CBC credential encryption
  • Improved: HPOS compatibility
  • Improved: Webhook handling and logging
  • Improved: Error handling and logging
  • Fixed: SSL verification in API calls
  • Fixed: Input sanitization and output escaping
  • Fixed: Database query security

1.0.0 – 2025-12-01

  • Initial release
  • Basic F2M Pay integration
  • Simple payment processing
  • Basic refund support
Back to top