PluginProbe
Pay with Vipps and MobilePay for WooCommerce / 6.2.2
Pay with Vipps and MobilePay for WooCommerce v6.2.2
6.2.3 6.2.2 6.2.1 6.2.0 6.1.10 6.1.9 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1.0 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 6.0.0 5.4.3 5.4.2 5.4.1 5.4.0 All 185 releases
woo-vipps / readme.txt

readme.txt in Pay with Vipps and MobilePay for WooCommerce 6.2.2, at readme.txt

531 lines 34.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 === Pay with Vipps and MobilePay for WooCommerce ===
2 Contributors: wphostingdev, everydayas, iverok, perwilhelmsen, nikolaidev, lassepladsen, marcuz2k2k
3 Author: WP Hosting, Everyday AS
4 Author URI: https://www.wp-hosting.no/
5 Tags: woocommerce, vipps, mobilepay, recurring payments, subscriptions
6 Version: 6.2.2
7 Stable tag: 6.2.2
8 Requires at least: 6.3
9 Tested up to: 7.1.1
10 Requires PHP: 8.0
11 Requires Plugins: woocommerce
12 WC requires at least: 8.0.0
13 WC tested up to: 11.1.1
14 License: MIT
15 License URI: https://choosealicense.com/licenses/mit/
16 Official Vipps MobilePay payment plugin for WooCommerce.
17
18 == Description ==
19 *Official Vipps MobilePay payment plugin for WooCommerce. Let your Norwegian, Danish, and Finnish customers pay with Vipps and MobilePay for an easy, fast, and familiar shopping experience*
20
21 Vipps is used by more than 93 % of Norway's population (4.2 million users).
22
23 MobilePay is used by more than 92 % of Denmark's population (4.4 million users), and approximately 59 % of Finland's population (2.8 million users).
24
25 Vipps and MobilePay are payment methods offered by Vipps MobilePay.
26
27 When you enable this plugin, you will choose between offering either Vipps or MobilePay as a payment method for your customers - hence "Vipps/MobilePay" going forward.
28
29 This is the official plugin for Vipps/MobilePay ePayments (*Vipps Nettbetaling*), Vipps MobilePay Express (*Vipps MobilePay Hurtigkasse*) and Vipps/MobilePay recurring payments. Increase your conversion rate by letting your customers choose Vipps/MobilePay directly in the checkout or even do an Express Checkout (Vipps only) from the cart or a product page directly.
30
31 You can also do important back office tasks such as capture and refund directly from WooCommerce. Easy for your customer and easy for you.
32
33 Read [information from Vipps MobilePay](https://developer.vippsmobilepay.com/docs/plugins/woocommerce/) about the plugin.
34
35 === Vipps/MobilePay ePayment ===
36 When you enable this plugin, your customers will be able to choose Vipps/MobilePay as a payment method in the checkout. There is no need to go via a third party payment method. If your customer choose Vipps/MobilePay, they fill in their name and address and is then asked to enter their phone number in the Vipps/MobilePay dialogue. They then confirms the payment in the Vipps/MobilePay app. Customer info like name and address is sent to the store from Vipps MobilePay.
37
38 == Vipps/MobilePay recurring payments ==
39
40 Vipps/MobilePay recurring payments is perfect for you if you run a web shop with subscription based services or other products that would benefit from subscriptions.
41
42 With Vipps/MobilePay recurring payments you can:
43
44 * Sell recurring products (virtual and physical)
45 * Offer subscription services
46
47 See [How it works](https://developer.vippsmobilepay.com/docs/APIs/recurring-api/how-it-works/) for an overview.
48
49 Recurring payments requires [WooCommerce Subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/) and a Vipps MobilePay MSN with recurring payments added.
50
51 === MobilePay Reservations are currently for 14 days ===
52 When a payment is completed with Vipps MobilePay, the money will be reserved, but only transferred to the merchant when the order is set to "Complete" or the money is captured manually. *For MobilePay, this reservation period is 14 days*, so you will need to ship and fulfill orders before this; or to make an agreement with the customer to capture the money before this period is over. For Vipps, the period is 180 days. For payments made by credit card in Vipps/MobilePay Checkout, the period can again be as short as 7 days.
53 For details, please read the [developer FAQ](https://developer.vippsmobilepay.com/docs/knowledge-base/reserve-and-capture/#reserve-and-capture-faq).
54
55 If the order only contains virtual and downloadable products, the plugin will capture the order automatically and set the order to "Completed" as is the standard WooCommerce rule.
56
57 === Vipps MobilePay Express ===
58 When you enable Vipps MobilePay Express, your customers can choose between the regular checkout or to go directly to Vipps or MobilePay. If they choose Vipps or MobilePay, they just submit their phone number, and the rest of the checkout process is done in the Vipps or MobilePay app.
59
60 Since Vipps MobilePay knows who the customers are, they don’t have to enter all their personal information. The customer just choose the shipping method and accepts the payment. Vipps MobilePay will send all the necessary info back to the store. Easy, fast and secure.
61
62 The express checkout can be done in the following ways:
63
64 * From the cart
65 * From the category pages
66 * From the product page
67 * From shareable links distributed by email, banners, etc.
68 * From QR codes distributed digitally or in print
69
70 Settings for the cart, category and product pages can be found in the WooCommerce settings for the Vipps MobilePay payment gateway.
71
72 Shareable links and QR codes can be generated from the Vipps/MobilePay tab on the product page.
73
74 === Vipps MobilePay Checkout ===
75
76 With Checkout enabled in the plugin, you will get a complete checkout in your web shop, designed and run by Vipps MobilePay.
77 Your customers can pay with Vipps, MobilePay, VISA or MasterCard, and they can also provide their shipping address and choose their preferred shipping method in a simple manner.
78
79 **Checkout – important update**
80
81 Vipps MobilePay has entered into an agreement to sell the Vipps MobilePay Checkout solution to [Kustom](https://www.kustom.co/).
82
83 As part of this transition, *Vipps MobilePay Checkout* will become *Kustom Checkout*. This means the Checkout product you ordered will be delivered and developed by Kustom going forward.
84 If you have questions, you can check our [FAQ](https://vippsmobilepay.com/vippsmobilepay-kustom).
85
86 === How to get started ===
87 * Sign up in the [Vipps MobilePay portal](https://portal.vippsmobilepay.com) and choose your product.
88 * After 1-2 days you will get an email with login details to Vipps MobilePay Business Portal, where you can get the API credentials
89 * Download and install the plugin
90 * Configure the plugin
91
92 === How to install the plugin ===
93 1. Install the plugin using WordPress’ [built-in installer](https://codex.wordpress.org/Managing_Plugins#Installing_Plugins). The plugin can also be installed manually by upload the plugin files to the /wp-content/plugins/ directory.
94 2. Activate the plugin through the 'Plugins' screen in WordPress.
95 3. Go to the WooCommerce Settings page and choose Payment Gateways (Betalinger) and enable Vipps/MobilePay.
96 4. Go the settings page for the Vipps MobilePay plugin and enter your Vipps MobilePay account keys. Your account keys are available in the Vipps Business Portal (detailed info in the section below)
97
98
99 == Installation ==
100 1. Install the plugin using WordPress’ [built-in installer](https://codex.wordpress.org/Managing_Plugins#Installing_Plugins). The plugin can also be installed manually by upload the plugin files to the /wp-content/plugins/ directory.
101 2. Activate the plugin through the 'Plugins' screen in WordPress.
102 3. Go to the WooCommerce Settings page and choose Payment Gateways (Betalinger) and enable Vipps/MobilePay.
103 4. Go the settings page for the Vipps MobilePay plugin and enter your Vipps MobilePay account keys. Your account keys are available in the Vipps MobilePay Business Portal (detailed info in the section below)
104
105 === How to get Vipps MobilePay account keys from Vipps MobilePay Business Portal ===
106 1. Sign in to the Vipps MobilePay Portal at [https://portal.vippsmobilepay.com/](https://portal.vippsmobilepay.com/) using Bank ID
107 2. Select the "Utvikler" ("Developer") tab and choose Production Keys. Here you can find the merchant serial number (6 figures)
108 3. Click on "Show keys" under the API keys column to see “Client ID”, “Client Secret” and “Vipps MobilePay Subscription Key”
109
110 == Screenshots ==
111 1. Enable Vipps/MobilePay as a payment method.
112 2. Enter your Vipps MobilePay account keys and configure the plugin.
113 3. Setup and activate the recurring payment gateway in WooCommerce.
114 4. Configure the plugin settings for recurring payments.
115
116 == Contributing on Github ==
117 This project is hosted on Github at: https://github.com/vippsas/vipps-woocommerce
118
119 == Upgrade Notice ==
120 Version 6.2.2
121 Fix for the wait-for-payment page for certain themes
122 Version 6.2.1
123 Security fix for possible shop-manager level exploit
124 Ensure certain events only happens once
125 Version 6.2.0
126 Replaced the fake-page mechanism with a modern WooCommerce-managed page for these actions
127 Version 6.1.10
128 Don't set Vipps as default payment method if Kustom Checkout is installed
129 Version 6.1.9
130 Minor textual changes
131 Version 6.1.8
132 Minor textual changes
133 Fix: Restrict permissions on capturing recurring orders.
134 Version 6.1.7
135 Compatibility fix for Login With Vipps
136 Version 6.1.6
137 Fix performance issue with order notes with certain configurations of NGINX Helper
138 Fix issue where Checkout orders were cancelled early
139 Version 6.1.5
140 Fix crash in certain situations when checking order status
141 Version 6.1.4
142 Settings wizard now promotes Express.
143 Fix danish and swedish language for badge preview in badge settings
144 Version 6.1.3
145 Fix language issue with danish buttons and badges
146 Version 6.1.2
147 Fix buttons not working in cart and checkout
148 Version 6.1.1
149 Fix warning
150 Version 6.1.0
151 Removed support for beta block-based product editor
152 Changed express checkout buttons to use web components
153 Changed callback/webhook handler to use Async Queue to avoid race conditions
154
155 == Frequently Asked Questions ==
156
157 = In which countries can I use Vipps/MobilePay? =
158 Vipps is currently only available in Norway (93 % user adoption in 2022) and Sweden.
159 MobilePay is currently only available in Denmark and Finland (92 % and 59 % user adoption in 2025, respectively).
160
161 = How can I get help if I have any issues? =
162 For issues with your WooCommerce installation, use the support forum here on wordpress.org. For other issues you should contact Vipps MobilePay.
163
164 = Why are orders put on-hold and not processing or completed? =
165 This was the old default of this plugin until version 2.0. The newer default is now 'processing', but this also means that orders that are 'processing' will have their payment reserved, but not transferred to the merchant. You can still choose the status on-hold in the options screen.
166
167 If you choose on-hold, orders with this status will have the payment reserved, but not yet transferred to the merchant. The money must be 'captured' before they are actually transferred to the merchant. You are normally only allowed to do this at the same time as the order is shipped. You can 'capture' the money explicitly on the order screen; but the money will be captured automatically when the order is set to "Processing" or "Complete".
168
169 If you use the default or choose "processing", the same applies to this status: The order will be reserved, but not captured. You can do the capture manually, or it will automatically happen when the order is set to "Complete". Please note that you should ensure that your workflow is then so that the order is captured just before the package is shipped.
170
171 There is an exception for orders where all items are both virtual and downloadable: These are not considered to need processing and will be captured automatically (and go directly to the 'Complete' status). It is possible to customize this property for your needs using the woocommerce_order_item_needs_processing filter.
172
173 = Can I refund orders or part of orders using Vipps/MobilePay =
174 Yes, you can do refunds, including partial refunds, using the standard WooCommerce mechanism (https://docs.woocommerce.com/document/woocommerce-refunds/). Additionally, if you cancel an order that was already captured, the money will be refunded for the whole order if the order is not too old. For older orders, you must use the refund mechanism explicitly. This is a safety feature.
175 If automatic refund through the Vipps MobilePay API should fail, you will need to refund manually; in this case an error message to this effect will be displayed and the order annotated.
176
177 = What is 'compatibility mode' in the settings? =
178 Some plugins add new features to products or entirely new product types to WooCommerce; which the 'Express Checkout' function may not be able to handle. It can be possible to fix this using hooks and filters, but if you choose this feature, express checkout will be done in a different manner which is very much more likely to work for a given plugin. The cost is that the process will be _slightly_ less smooth.
179
180 = Why is my shipping wrong when using express checkout? =
181 It may be that the shipping method you are using some how does not work when calculated from the Vipps/MobilePay app, where the customer is somewhat anonymous. However, since version 1.4.0 this problem ought to be greatly reduced, so if you still have this problem, report this on the forum and we'll try to fix it.
182
183 If you have shipping methods that add additional information on the 'normal' checkout page they will not be able to provide that information to Express Checkout plugin, since that page is bypassed. You may be able to add those options on a different page; but you may want to remove those options when using Express Checkout.
184
185 Formerly, there was a filter used to work around this, namely 'woo_vipps_shipping_methods'. This still works, but if you use it, it will disable the 'new' shipping method calculation. You may still customize the Express Checkout shipping; the new filter is called 'woo_vipps_shipping_rates'.
186
187 To be sure, you should test your shipping methods in Express Checkout before going live.
188
189 = I'd like to use sequential order numbers at Vipps MobilePay instead of the WooCommerce order-ids using a sequential order number plugin. Does this plugins support that?
190 Yes, though you need to ensure that the order-id's you produce like this are unique for your Vipps MobilePay account, and you currently have to use a filter in your themes' functions.php file. We recommend using a prefix for your order ids, so a filter that will work with sequential order numbers would look like
191
192 `add_filter('woo_vipps_orderid', function ($default, $prefix, $order) {
193 return $prefix . $order->get_order_number();
194 }, 10, 3);`
195
196 = Do I need to have a license for WooCommerce Subscriptions in order to use recurring payments? =
197
198 Yes, you do. Get it
199 [here](https://woocommerce.com/products/woocommerce-subscriptions/).
200
201 = Does the recurring payment part of the plugin work with the WooCommerce Memberships-plugin? =
202
203 [WooCommerce Subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/)
204 and
205 [WooCommerce Memberships](https://woocommerce.com/products/woocommerce-memberships/)
206 are able to work together for access to recurring memberships that unlock content.
207
208 **WooCommerce Subscriptions is required in order to use Vipps/MobilePay recurring payments, but Memberships is not.**
209
210 You can read about how WooCommerce Subscriptions and WooCommerce Memberships work together [here](https://docs.woocommerce.com/document/woocommerce-memberships-subscriptions-integration/).
211
212
213 = When I use recurring payments, why do I have to capture payments for physical products manually? =
214
215 This is because of the Norwegian law. You are not allowed to charge for a physical product before you ship it, without a valid reason to do so.
216
217 You can read about it [here](https://www.forbrukertilsynet.no/english/guidelines/guidelines-the-standard-sales-conditions-consumer-purchases-of-goods-the-internet#chapter-7).
218
219 If you have a valid reason to do so you can use the "Capture payment instantly" option from the "Vipps/MobilePay recurring payments" settings in your product's settings.
220
221 = When I use recurring payments and a renewal happens, why is the order on hold? =
222
223 This is because when an order is charged in Vipps MobilePay it takes 2 days before the payment has been fully captured from the customer's bank account.
224
225 After 2 days it will move to the "Processing" status. You can however change the behaviour of this by using the "Default status to give pending renewals" option in the plugin settings.
226
227 Alternatively you could look into using WooCommerce "Early renewals": [https://docs.woocommerce.com/document/subscriptions/early-renewal/](https://docs.woocommerce.com/document/subscriptions/early-renewal/) if ensuring the status of a charge is fully completed before a specific date is of up-most importance.
228
229 = Firewall ports =
230 Ensure *outgoing* traffic to port 443 is open. This is used to communicate with Vipps MobilePay servers.
231
232 = Does Vipps MobilePay offer a test environment for Vipps MobilePay for WooCommerce? =
233
234 Yes, but you will need a separate account, and you will need to install a special test version of the Vipps/MobilePay app, available trough Testflight. For your test account, the keys will be at https://portal-test.vipps.no; you will configure these in the developer mode settings.
235
236 Contact Vipps MobilePay for access to the test app. This app must be installed on a device that does not have the normal Vipps/MobilePay app installed, or there will be conflicts.
237
238 To use test mode, switch "Developer mode" on. There you can input the test keys from portal-test.vipps.no and turn test mode on and off.
239
240 If this isn't practical for your usage, we recommend that you "test in production" with a small amount, like 2 NOK. Just refund or cancel the purchase as needed.
241
242
243 = What are the requirements? =
244 * WooCommerce 3.3.4 or newer is required
245 * PHP 7.4 or higher is required.
246 * An SSL Certificate is required.
247
248 = Filters and Hooks for customization =
249 There are several filters and hooks you can use to customize the behaviour of this plugin:
250 * Filter: 'woo_vipps_is_available': Takes a boolean availability argument and the gateway and must return true or false
251 * Filter: 'woo_vipps_express_checkout_available': Takes a boolean availability argument and the gateway and must return true or false.
252 * Filter: 'woo_vipps_cart_express_checkout_button': Receives a complete button text and the URL needed to proceed to the express checkout page.
253 * Filter: 'woo_vipps_express_checkout_banner': Receives a message with an express checkout button and an URL for the same, should return a message for the express checkout banner normally shown on the checkout page
254 * Filter: 'woo_vipps_buy_now_button': Takes HTML for the button, and optionally product id, variation id, sku and if the button is to be shown as disabled by default
255 * Filter: 'woo_vipps_show_express_checkout' - Takes a boolean, returns whether or not to show the express checkout button
256 * Filter: 'woo_vipps_show_single_product_buy_now' - Takes a boolean and a product, returns true if the product should show a 'buy now with vipps' button
257 * Filter: 'woo_vipps_show_single_product_buy_now_in_loop' - Like above, but especially for products shown in the loop - catalog pages, archives and so forth
258 * Filter: 'woo_vipps_spinner': takes one argument which is a 'wait' spinner for certain pages
259 * Filter 'woo_vipps_express_checkout_shipping_rates' which replaces the 'woo_vipps_shipping_methods'. It takes a list of shipping methods, and order, and a cart. The format of the shipping methods is an array of 'rate' which is a WC_Shipping_Rate object, 'priority' which is an integer and the sort-order Vipps MobilePay will use to display the alternatives, and 'default', which is a boolean: This will be the default choice
260 * Filter: 'woo_vipps_default_shipping_method' taking the default shipping method ID, a list of the shipping methods available (as a table from method id to WC_Shipping_Rate object) and the order. Return a shipping rate id, like 'local_pickup:5'
261 * Filter: 'woo_vipps_vipps_formatted_shipping_methods'. This will take an array of the methods to be sent to Vipps MobilePay, formatted as required by Vipps MobilePay. This is mostly for debugging.
262 * Filter: 'woo_vipps_shipping_callback_packages': Takes the 'packages' from the cart used to calculate shipping in the shipping details callback
263 * Filter 'woo_vipps_express_checkout_final_shipping_rate': Takes an WC_Shipping_Rate object, the order, and the shipping info from Vipps MobilePay. Must return a WC_Shipping_Rate object which will be added to the order.
264 * Filter: 'woo_vipps_country_to_code': Takes a country code and a country name. Should return a two-letter ISO-3166 country code from a given country name
265 * Filter: 'woo_vipps_show_capture_button': Takes a boolean and an order and returns whether or not to show the capture button in the backend
266 * Filter: 'woo_vipps_captured_statuses': Returns a list of the statuses for which Vipps MobilePay should try a capture when transitioning to them.
267 * Filter: 'woo_vipps_transaction_text': Takes a transaction text and an order object, must return a text to be passed to Vipps MobilePay and displayed to the user along the lines of "Please confirm your order"
268 * Filter: 'woo_vipps_special_page_template': Takes a (complete) template path as returned by locate_template and the ID of the Vipps MobilePay special page, should return a new template path (using locate_template or similar).
269 * Filter: 'woo_vipps_order_failed_redirect': Takes an empty string or an url and an order id. If URL is returned, go there on cancelled or failed orders.
270 * Filter: 'woo_vipps_product_supports_express_checkout': Takes a boolean and a product, returns true if the product can be bought with express checkout
271 * Filter: 'woo_vipps_cart_supports_express_checkout': Takes a boolean and a cart, returns true if the cart can be bought with express checkout
272 * Filter: 'woo_vipps_express_checkout_supported_product_types': Returns a list of product types (as strings) that can be bought with express checkout
273 * Filter: 'woo_vipps_orderid': Takes default Vipps MobilePay orderid, the order prefix, and an order object. Must return an unique (at Vipps MobilePay) order ID with 30 chars or less. Default is the prefix + orderid, e.g. 'Woo364'.
274 * Action: 'woo_vipps_shipping_details_callback_order': Takes an order-id and the corresponding vipps order id. Run at the start of the shipping methods callback.
275 * Action: 'woo_vipps_restoring_cart': Takes an order and a saved cart contents array, ran after the order has failed or is aborted
276 * Action: 'woo_vipps_cart_restored': Runs after the cart has been restored after the order has been aborted of failed
277 ' Action: 'woo_vipps_cart_saved': When redirecting to Vipps MobilePay, the cart is saved so it can be restored in case the order isn't completed. This action is ran after this has happened.
278 * Action: 'woo_vipps_before_redirect_to_vipps': Takes an order-id, called at the end of process_payment right before the redirect to Vipps MobilePay
279 * Action: 'woo_vipps_before_create_express_checkout_order': Takes the cart to do express checkout for, run before the order is created
280 * Filter : 'woo_vipps_create_express_checkout_cart_contents': Takes a cart contents array from which an express checkout order will be created . Should return a like array.
281 * Action: 'woo_vipps_express_checkout_order_created': Takes an order ID, run right after an express checkout order has been created, but before it is processed'
282 * Action: 'woo_vipps_before_process_payment': Takes an order-id, called at the start of process_payment
283 * Action: 'woo_vipps_wait_for_payment_page': Run on the page shown on return from Vipps MobilePay
284 * Action: 'woo_vipps_express_checkout_page': Run on the express checkout page, before redirect to Vipps MobilePay
285 * Action: 'woo_vipps_set_order_shipping_details': Takes an order object, shipping details from Vipps MobilePay and user details from Vipps MobilePay. Runs after shipping details have been added to the order on return from express checkout.
286 * Action: 'woo_vipps_callback': Runs when Vipps MobilePay does the callback on a successful payment, takes Vipps MobilePay data as input. Useful for logging/debugging the callback.
287 * Action: 'woo_vipps_express_checkout_get_order_status': Takes the order status returned by Vipps MobilePay - called when the Vipps MobilePay callback hasn't happened and we need the order status. Useful for logging.
288 * Action: 'woo_vipps_vipps_callback': Is ran when the Vipps MobilePay callback happen, with the decoded and raw POST from Vipps MobilePay. Useful for logging.
289 * Action: 'woo_vipps_shipping_details_callback': Is ran when Vipps MobilePay does the shipping details callback on express checkout. Takes decoded and raw POST from Vipps MobilePay, and the callback args. For debugging.
290 * Action: 'woo_vipps_shipping_details_before_cart_creation': Run after order is updated but before a cart is created to do shipping calculations. Takes an order, The order-id at Vipps MobilePay and the callback arguments from Vipps MobilePay
291 * Filter: 'woo_vipps_transaction_text_shop_id': This is used to identify your shop in the transaction texts sent to Vipps MobilePay (and shown to the user). Default is home_url(), but there is a length limit, so this filter allows you to keep it short.
292
293 = Shortcodes =
294 * [woo_vipps_express_checkout_button] will print the express checkout button if valid
295 * [woo_vipps_express_checkout_banner] will print the express checkout banner normally shown on the checkout page for non-logged-in users
296 * [woo_vipps_buy_now sku=<SKU> id=<productid> variant=<variant id>] prints a "buy now" button given a SKU or an (product or variant) id. Just the SKU is sufficient.
297
298 == Extending the Order Management API integration ==
299 From version 1.10.0, this plugin implements the Vipps MobilePay Order Management API, sending a receipt to the customers' app, and sending the order confirmation link as the Order Confirmation link category. You can, using this api, send over an image and a link for the categories receipt (RECEIPT), ticket (TICKET), shipping (DELIVERY), booking (BOOKING) and a general category (GENERAL).
300
301 For instance, if you have a page or url for tracking shipping, you can add this to the customers' app by extending the 'woo_vipps_add_order_categories' filter like so:
302
303 `add_filter('woo_vipps_add_order_categories', function ($categories, $order, $gateway) {
304 $shippingpagedata = array(
305 'link' => <your shipping URL here>,
306 'image' => <filename or attachment ID of your illustration for shipping here, if required>,
307 'imagesize' => <for attachments, the image size to use>);
308 $categories['DELIVERY'] = $shippingpagedata;
309 return $categories;
310 }, 10, 3);`
311
312 You can similarily send ticket information (with e.g. a QR code) for the TICKET or BOOKING category and so forth.
313
314 = Javascript filters and actions =
315 From version 1.1.13 you can also modify the javascript using the new WP hooks library for javascript:
316 * 'vippsBuySingleProduct' - action which is run whenever a customer tries to buy a single product using express checkout
317 * 'vippsBuySingleProductCompatMode' - filter which should return true or false, if true, the compatibility mode action will be run instead of the standard ajax.
318 * 'vippsBuySingleProductCompatModeAction' - filter which should return a javascript function to run when buying a product and compatibility mode is on. Will normally press the "Buy" button for you.
319 * 'vippsRemoveErrorMessages' - runs when Vipps MobilePay error messages are to be removed.
320 * 'vippsErrorMessage' - runs for every Vipps MobilePay error message added with Javascript. Takes the message as an argument
321 * 'vippsAddErrorMessage' - runs when an error message is about to be added. Takes the message as an argument
322 * 'vippsInit' - runs when a page with a Vipps MobilePay button is initialzed
323 * 'vippsStatusCheckErrorHandler' - A filter that should return function taking a statustext and an error object. It receives the default error handler, and is called when checking the order status with ajax for some reason ends up in an error.
324
325 == Changelog ==
326 = 2026-09-21 version 6.2.2 =
327 Fix for the wait-for-payment page for certain themes
328
329 = 2026-09-18 version 6.2.1 =
330 Security fix for possible shop-manager level exploit
331 Ensure certain events only happens once
332
333 = 2026-09-15 version 6.2.0 =
334 Replaced the fake-page mechanism with a modern WooCommerce-managed page for these actions
335
336 = 2026-09-11 Version 6.1.10 =
337 Don't set Vipps as default payment method if Kustom Checkout is installed
338
339 = 2026-09-10 version 6.1.9 =
340 Minor textual changes
341
342 = 2026-09-03 version 6.1.8 =
343 Minor textual changes
344
345 = 2026-09-01 version 6.1.7 =
346 Compatibility fix for Login with Vipps
347
348 = 2026-08-31 version 6.1.6 =
349 Fix performance issue with order notes with certain configurations of NGINX Helper
350 Remove all usage of eCom v2 and userInfo api
351 Fix issue where Checkout orders were cancelled early
352
353 = 2026-08-20 version 6.1.5 =
354 Fix crash in certain situations when checking order status
355
356 = 2026-08-18 version 6.1.4 =
357 Settings wizard now promotes Express.
358 Fix danish and swedish language for badge preview in badge settings
359
360 = 2026-08-11 version 6.1.3 =
361 Fix language issue with danish buttons and badges
362
363 = 2026-08-07 version 6.1.2 =
364 Fix buttons not working in cart and checkout
365
366 = 2026-08-06 version 6.1.1 =
367 Fix warning in settings for uninitialized sites (Thanks to @absdhiten for reporting)
368
369 = 2026-08-04 version 6.1.0
370 Removed experimental support for beta product editor
371 Changed express checkout buttons to use web components
372 Changed callback/webhook handler to use Async Queue to avoid race conditions
373
374 = 2026-06-24 version 6.0.5 =
375 Fix compatibility when inheriting PayPal gateway order
376
377 = 2026-06-17 version 6.0.4 =
378 Web component are now hosted locally
379
380 = 2026-06-15 version 6.0.3 =
381 Minor fixes in handling refunds
382
383 = 2026-06-08 version 6.0.2 =
384 Make stricter CSS for Express in shortcode checkout
385
386 = 2026-06-03 Version 6.0.1 =
387 Fix small problems with tabs in the settings
388
389 = 2026-06-01 Version 6.0.0 =
390 Support payment with credit or debit card as a separate payment method
391
392 = 2026-05-28 version 5.4.3 =
393 Fix issue with payment of admin-created orders
394
395 = 2026-05-27 version 5.4.2 =
396 Fix redirect to custom settings screen
397
398 = 2026-05-20 version 5.4.1 =
399 Fix new orders showing as captured when they were not
400
401 = 2026-05-11 Version 5.4.0 =
402 Improved handling of refunds. Manual refunds are now only possible when payment has been captured.
403 Improved handling of failed but retryable orders
404
405 = 2026-05-06 Version 5.3.4 =
406 Notice added about the sale of Checkout to Kustom
407
408 = 2026-05-04 Version 5.3.3 =
409 Fix express heckout for woo versions less than 9.2.0
410 Vipps Checkout now in legacy mode and available only for existing installs
411
412 = 2026-03-26 Version 5.3.2 =
413 Improve express checkout banner on legacy checkout screens
414 Add new setting for retryable orders
415
416 = 2026-03-23 Version 5.3.1 =
417 Fix CSS issue with on-site messaging badges on small screens
418 Ensure Express orders are always "cancelled", never "failed".
419
420 = 2026-03-23 Version 5.3.0 =
421 Aborted Vipps MobilePay orders are now "failed" instead of "cancelled" and can be retried as a new Vipps MobilePay session
422 Error that occasionally sent the user to the homepage instead of Checkout fixed
423
424 = 2026-03-11 Version 5.2.2 =
425 Fix CSS issues in the standard Checkout
426
427 = 2026-03-09 Version 5.2.1 =
428 Fix: Only show the recurring Checkout when there's a recurring product in your shopping cart.
429
430 = 2026-03-02 Version 5.2.0 =
431 Bump required versions of php, WP and Woo to reasonably modern versions
432 Fixed all blocks to be compatible with the new iframe based block editor
433 Ensure Pickup Locations are editable if any are defined since these are available in Express and Checkout
434 Make the new interactivity based minicart work correctly with Checkout
435
436 = 2026-02-23 version 5.1.6 =
437 Fix customer prefill in Checkout
438 Add block to support new interactivity-API based minicart for Express Checkout
439 Handle swedish and finnish phone numbers correctly when canonicalizing
440 Support Tutor LMS in Express and Checkout
441 All blocks updated to version 3
442 Show Express Checkout button in cart if the settings say so, even with Vipps Checkout active
443 Suppress permission warnings
444
445 = 2026-02-11 version 5.1.5 =
446 Suppress REST warning about permission callback
447
448 = 2026-02-04 version 5.1.4 =
449 Fix translations
450 Fix customer prefill in checkout when customer is known
451
452 = 2026-02-04 version 5.1.3 =
453 Fix: javascript crash in backend
454
455 = 2026-02-03 version 5.1.2 =
456 Allow the Buy Now block to be inserted in all contexts, providing a button to buy an arbitrary product via Express on any page
457 Minor improvements for compatibility for translation plugins
458 Improve error-handling when a shipping method has been paid for in Vipps MobilePay Express, but cannot be added to the Woo order
459
460 = 2026-01-19 version 5.1.1 =
461 Fix link to the settings-page for the login app
462 Fix rendering of Buy-Now block in Product Collections block
463 Improve user interface of Buy-Now block
464 Style improvements for the express checkout block
465 Improve logging for shipping for express checkout
466
467 = 2026-01-06 version 5.1.0 =
468 Fix errors preventing order completion in certain situations using Checkout and Klarna Payments
469 New option in settings/advanced to modify phone numbers in Express or Checkout so that they either get an added "+" or the country prefix is removed
470 New, more space-efficient buttons and a new button configurator interface
471
472 = 2025-12-16 version 5.0.14 =
473 Fixed fatal typo in express checkout
474 = 2025-12-16 version 5.0.13 =
475 Fix: language in Checkout when using multilang plugins.
476 Fix: encoding issue in Express checkout.
477 Fix: manual Woo refund triggering Vipps MobilePay refund when the entire remaining amount is refunded
478
479 = 2025-11-24 version 5.0.12 =
480 Added new filter for adding options to Express Checkout, 'woo_vipps_modify_express_checkout_rate'. This for adding options like delivery times etc to your custom shipping methods and rates
481
482 = 2025-11-17 version 5.0.11 =
483 Added filters for selecting "user language" when necesssary
484 Improved handling of chosen shipping method for Checkout
485 Improving Mailchimp integration when using Express Checkout
486
487 = 2025-11-10 version 5.0.10 =
488 Fixed expiry of checkout sessions when WooCommerce times out an order
489 Added support for TranslatePress to "get customer language"
490 Changed headers for Express Checkout orders in the API to allow for better logging
491
492 = 2025-10-27 version 5.0.9 =
493 Fixed incompatibility notice in the checkout block
494
495 = 2025-10-20 version 5.0.8 =
496 Fix for Checkout Posti shipping method crash.
497 Fix a bug where a log line did not show order id correctly.
498
499 = 2025-10-13 version 5.0.7 =
500 New feature for deleting all settings when deactivating plugin (under settings/advanced).
501 Changed loading of certain web component scripts to async.
502 Fix more logging print bugs
503
504 = 2025-10-10 version 5.0.6 =
505 Fix a bug in a rare logging print
506
507 = 2025-09-30 version 5.0.5 =
508 Handle edge-case for rounding of shipping prices in checkout and express
509
510 = 2025-09-30 version 5.0.4 =
511 Make express checkout provide addresses for virtual orders again (if requested)
512
513 = 2025-09-22 version 5.0.3 =
514 Properly handle shipping when coupons are added
515 Fix spurious error logs when express checkout orders are cancelled.
516
517 = 2025-09-15 version 5.0.2 =
518 Fix Checkout widgets on mobile
519 Fix phone numbers being stripped when using external payment methods
520
521 = 2025-09-01 version 5.0.1 =
522 Fix buttons for Express for finland
523
524 = 2025-09-01 version 5.0.0 =
525 Fix for session handling for shipping in Express checkout
526 Now supports New Express Checkout, including support for pickup locations
527
528 = 2018.06 version 1.0 =
529 Changelog trunated -- see payment/changelog.txt for the full log
530
531