InPost Pay - Woocommerce (Widget 2.0) [ENG]
Introduction
Technical documentation of the InPost Pay plugin for Woocommerce with Widget 2.0 support.
The plugin adds functionality to Woocommerce store that allows to place orders through the InPost app by:
Adding an array in the database,
Adding the "Create basket with InPost Pay" button on the product card,
Adding the "Buy with InPost Pay" button on the basket page,
Adding the "Buy with InPost Pay" button on the order page,
Actions performed on standard hooks,
Adding a field on the order page,
Adding an administration section,
Providing access to REST API,
Attaching a JS file served from webserver and a file served from an external resource to the page.
Plugin: 10.02.2026 - 2.0.5.3
Changelog
On this page:
- 1 Introduction
- 2 Changelog
- 3 Requirements
- 4 Installation / Update
- 5 Test Configuration
- 6 Production Configuration
- 7 Promoted products
- 8 Suggested products
- 9 Unavailable Products and Categories
- 10 Logistics plugin
- 11 Support for Digital Products and Electronic Deliveries
- 12 Full configuration
- 12.1 API settings
- 12.2 Environment
- 12.3 Show widget
- 12.4 Client ID
- 12.5 Client Secret
- 12.6 POS ID
- 12.7 Merchant ID
- 12.8 Enable payments consistent with the signed agreement with the bank
- 12.9 Enable cash on delivery in accordance with the signed agreement with InPost
- 12.10 Select payment methods available in the app
- 12.11 Virtual payment method
- 12.12 Order status for an order paid through InPost Pay
- 12.13 Order status names
- 12.14 Maximum number of suggested products
- 12.15 Custom Thank You Page (optional)
- 12.16 Settings for transferred descriptions
- 12.17 Refresh page after adding product to cart
- 12.18 Response format
- 12.19 Additional WooCommerce actions for orders and basket
- 13 Consents
- 13.1 Description of available options:
- 13.1.1 Consent address
- 13.2 Link ID
- 13.3 Link label
- 13.4 Descriptions visible in the app
- 13.5 Whether required
- 13.1 Description of available options:
- 14 InPost Pay coupons
- 15 Transport costs
- 16 Button appearance
- 16.1 Background
- 16.2 Variant
- 16.3 Rounding
- 16.4 Widget size
- 16.5 Display
- 16.6 Location
- 16.7 Position
- 16.8 Margin
- 17 Marketing
- 18 Support
- 19 Advertising analytics (GA4, Meta Ads, Google Ads)
- 20 Support for custom order numbers (aliases)
- 21 InPost Pay Shipping Filter
- 22 Display in a non-standard location
- 23 Programmable actions
- 24 Adding an InPost Pay widget using Gutenberg blocks
- 25 Adding an InPost Pay widget using Elementor
- 26 Uninstallation
Requirements
In order to function properly, the plugin requires:
Woocommerce version not older than 7.0.0
PHP version not older than 7.4
Installation / Update
Follow the steps below to install the plugin:
Download the zipped Woocommerce plugin from the InPost website and do not unzip it
Log in to the administration section of your store
From the menu on the left, select "Plugins" and then "Add new"
At the top of the page, select "Upload plugin to server" then "Select file" and locate the zipped plugin file downloaded in step 1
Click "Install”
In the next window, click "Enable plugin"
Follow the above steps to update the plugin. When updating the plugin, the settings will not be deleted.
Test Configuration
In this section, we describe the abbreviated configuration process needed to test the functioning of integration with InPost Pay. For the initial configuration, go to the administration section of the store and click "InPost Pay" in the menu on the left. Once clicked, a form that allows you to configure the plugin will be displayed. Fill in the fields according to the list below:
Select the environment and display options
a. Set the environment to "Sandbox" - this way you will test the shopping process on a test environment.
b. Set show widget to "Testers" - this way the widget will be visible only to the people who are supposed to see it. Setting another option will display the widget, either operational or non-operational, to all visitors of your store. To display the widget in a web browser, type the address of your store with ?showIzi=true added at the end Example: https://mystore.pl?showIzi=trueFill in the API access credentials you received from InPost in the fields
a. Client ID
b. Client Secret
Fill in the POS ID field according to the value you received from InPost
Fill in the Merchant ID field according to the value received from InPost
Enable payment option
Select the order status that will be assigned to orders paid through InPost Pay and to cash on delivery orders.
Check whether the order status glossary is consistent with what you actually present in your communications to customers. This section is used for stores that have an unusual shopping process. This section will be different in different stores because it represents the statuses in your store.
Enter how many suggested products you want to present in the InPost app. A detailed description of how this mechanism works is described in the Suggested Products section.
Add consents that will be required in your store. You can find a detailed description of each option in the Full Configuration section
Specify which base shipping methods are supported by the shopping process of your store.
Combine shipping by Courier with automated shipping. When you select a shipping method from the drop-down list, the same availability and pricing rules for the selected method will apply to shipping by Courier in the InPost app.
You can skip this part in the basic configuration. It defines the prices of additional shipping options for the Courier option. See the Full Configuration section for a complete description.
Combine shipping by APM with automated shipping. When you select a shipping method from the drop-down list, the same availability and pricing rules for the selected method will apply to shipping by APM in the InPost app.
You can skip this part in the basic configuration. It defines the prices of additional shipping options for the APM option - Weekend Delivery and Cash on Delivery, as well as the days and hours between which these options will be available to your customers. For a full description, see Full configuration.
You can skip this part in the basic configuration. It determines whether the availability of shipping methods should be additionally checked for products in the shopping basket based on the detailed settings of the InPost logistics plugin. Leave this option disabled if you are not using the official InPost logistics plugin.
Specify where the widget should be available on your site. You can display it on the product card and in the shopping basket. For each display location, you can specify to which side the InPost Pay button will be aligned. For each location you can separately choose whether the background on the page is light or dark to ensure correct display of texts. For each location you can separately choose the display variant. The button can be black or yellow. The whole thing is configured in the "Button Appearance" tab.
Production Configuration
After the correct test configuration and making sure that the integration in the Sandbox environment works, you should make InPost Pay available to all users.
Go to the module list and click "Configure" next to the InPost Pay module. Once clicked, a form that allows you to configure the plugin will be displayed.
Change the configuration according to the list below:
Select the environment and display options a. Set the environment to "Production" - this way, production payments will be made when placing orders b. Set show widget to "Everyone" - this way the widget will be visible to all customers of the store.
Fill in the Client ID, Client Secret, POS ID and Merchant ID fields with values taken from the merchant panel. Full instructions for generating API access credentials for a production environment can be found here.
Promoted products
Functionality withdrawn from the InPost Pay service.
Suggested products
When you shop with InPost Pay, the InPost app suggests products to add to your basket according to WooCommerce's built-in Related Products system.
How to display suggested products in the app?
In order to display suggested products, you need to complete the Related Products section in the WooCommerce product configuration.
For this purpose:
Go to edit the product in your store.
In the Product Data panel, select the "Related Products" section.
Fill in the "pu-sell" or "cross-sell" section - products from both sections will be visible in the app.
Why do I see suggested products on the website and not in the app?
It is possible that your store presents related products in a non-standard way. This happens, for example, because of how your template or one of the installed plugins works. If your store presents suggested products and you do not see them in the InPost App, make sure that Related Products are configured according to the instructions in the paragraph above.
Unavailable Products and Categories
What are Unavailable Products and Unavailable Categories?
The excluded products functionality in InPost Pay is a new tab in the plugin, available from the admin panel. It allows you to exclude selected products or categories in order to limit their delivery availability in the InPost Pay mobile app.
How to exclude products?
Excluding products means disabling specific delivery methods for them.
To exclude products in the InPost Pay mobile app, follow these steps:
Go to InPost Pay → Unavailable Products in the WooCommerce admin panel.
Click the Select products button.
In the newly opened window, select a product category — after expanding the category, you will see the available products.
Tick the delivery methods for a given product that you want to exclude in the app and click Save.
You can edit the delivery exclusions for a product by deselecting them in the Unavailable products list.
Removing exclusions for all delivery methods means that the product will also be removed from the Unavailable products list.
How to exclude categories?
Excluding categories means disabling specific delivery methods for all products assigned to that category.
To exclude entire categories in the InPost Pay mobile app, follow these steps:
Go to InPost Pay → Unavailable Categories in the WooCommerce admin panel.
You will see a paginated list of categories.
Tick the delivery methods for the given category that you want to exclude in the app.
The changes are saved automatically.
Logistics plugin
InPost provides a dedicated plugin to integrate with InPost for WooCommerce customers. This plugin allows for a fully automated shopping process that assigns a tracking number and sends it to your customers via the InPost app in the InPost Pay shopping process.
Download the plugin from: https://wordpress.org/plugins/inpost-for-woocommerce/
Documentation: [PL] WooCommerce
How to send a parcel if I have the InPost logistics plugin?
The shipping method, address and APM ID will automatically be transferred to the logistics plugin. You do not need to know the customer's data. You need to send the parcel according to the instructions provided by the plugin.
How to send a parcel if I do not have the InPost logistics plugin?
The page of the order placed through InPost Pay contains information about the shipping method and the APM number in the form of a box. Copy that information and follow your standard parcel dispatch process.
Support for Digital Products and Electronic Deliveries
The plugin supports handling digital products and orders containing downloadable items
Virtual products:
For orders containing virtual products (e.g., codes, online access), no physical delivery method is generated. The merchant must handle the delivery manually (e.g., by sending the code/license to the customer’s email address, visible in the order details on the right side of the WooCommerce admin panel).Downloadable products:
If the order includes downloadable products, the files will be automatically sent to the email address provided by the customer as the digital delivery address.Mixed orders:
In the case of mixed orders (physical + digital products), the plugin will automatically detect the presence of digital products and adjust the order processing accordingly.
Full configuration
The configuration is divided into sections that allow you to customize the plugin's operation to suit your store's needs.
After installing the plugin, you will see a new "InPost Pay" menu on the left side of the admin section. Once clicked, a form that allows you to configure the plugin will be displayed.
API settings
In this section you set the access credentials to the system, the types of supported payment methods and the information exchanged between InPost Pay and the store.
You will get the access credentials to the sandbox environment by writing an e-mail to integracjapay@inpost.pl or by filling out the contact form in the For Business options and the Sandbox tab.
You will receive production data after signing the contract for the InPost Pay service and generate it through the Merchant panel according to the instructions.
Description of available options:
Environment
What is its purpose: | How to configure it: |
|---|---|
It determines whether the store sends data to the test or production environment | When you are testing the integration, set the Sandbox environment. If testing was successful and you want to enable the ability to make purchases through InPost Pay, set the Production environment. |
Show widget
What is its purpose: | How to configure it: |
|---|---|
During testing, we do not want the InPost Pay widget to be displayed to all customers. Regardless of what environment you set, you can temporarily hide the widget and only show it to selected people. To display the widget in tester-only mode, go to the store's home page and add ?showIzi=true to the end of the url For example: https://outofthebox.pl?showIzi=true | When you are configuring the integration, select Testers. In order to show the widget to everyone after configuration testing has been successfully completed, select Everyone. |
Client ID
What is its purpose: | How to configure it: |
|---|---|
API access detail that allows the plugin to work. | According to the data received from InPost. |
Client Secret
What is its purpose: | How to configure it: |
|---|---|
API access detail that allows the plugin to work. | According to the data received from InPost. |
POS ID
What is its purpose: | How to configure it: |
|---|---|
API access detail | According to the data received from InPost. |