PluginProbe
Pay with Vipps and MobilePay for WooCommerce / 6.2.1
Pay with Vipps and MobilePay for WooCommerce v6.2.1
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 5.3.4 trunk All 183 releases
woo-vipps / readme.txt

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

526 lines 34.5 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.1
7 Stable tag: 6.2.1
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.0
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.1
121 Security fix for possible shop-manager level exploit
122 Ensure certain events only happens once
123 Version 6.2.0
124 Replaced the fake-page mechanism with a modern WooCommerce-managed page for these actions
125 Version 6.1.10
126 Don't set Vipps as default payment method if Kustom Checkout is installed
127 Version 6.1.9
128 Minor textual changes
129 Version 6.1.8
130 Minor textual changes
131 Fix: Restrict permissions on capturing recurring orders.
132 Version 6.1.7
133 Compatibility fix for Login With Vipps
134 Version 6.1.6
135 Fix performance issue with order notes with certain configurations of NGINX Helper
136 Fix issue where Checkout orders were cancelled early
137 Version 6.1.5
138 Fix crash in certain situations when checking order status
139 Version 6.1.4
140 Settings wizard now promotes Express.
141 Fix danish and swedish language for badge preview in badge settings
142 Version 6.1.3
143 Fix language issue with danish buttons and badges
144 Version 6.1.2
145 Fix buttons not working in cart and checkout
146 Version 6.1.1
147 Fix warning
148 Version 6.1.0
149 Removed support for beta block-based product editor
150 Changed express checkout buttons to use web components
151 Changed callback/webhook handler to use Async Queue to avoid race conditions
152
153 == Frequently Asked Questions ==
154
155 = In which countries can I use Vipps/MobilePay? =
156 Vipps is currently only available in Norway (93 % user adoption in 2022) and Sweden.
157 MobilePay is currently only available in Denmark and Finland (92 % and 59 % user adoption in 2025, respectively).
158
159 = How can I get help if I have any issues? =
160 For issues with your WooCommerce installation, use the support forum here on wordpress.org. For other issues you should contact Vipps MobilePay.
161
162 = Why are orders put on-hold and not processing or completed? =
163 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.
164
165 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".
166
167 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.
168
169 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.
170
171 = Can I refund orders or part of orders using Vipps/MobilePay =
172 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.
173 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.
174
175 = What is 'compatibility mode' in the settings? =
176 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.
177
178 = Why is my shipping wrong when using express checkout? =
179 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.
180
181 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.
182
183 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'.
184
185 To be sure, you should test your shipping methods in Express Checkout before going live.
186
187 = 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?
188 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
189
190 `add_filter('woo_vipps_orderid', function ($default, $prefix, $order) {
191 return $prefix . $order->get_order_number();
192 }, 10, 3);`
193
194 = Do I need to have a license for WooCommerce Subscriptions in order to use recurring payments? =
195
196 Yes, you do. Get it
197 [here](https://woocommerce.com/products/woocommerce-subscriptions/).
198
199 = Does the recurring payment part of the plugin work with the WooCommerce Memberships-plugin? =
200
201 [WooCommerce Subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/)
202 and
203 [WooCommerce Memberships](https://woocommerce.com/products/woocommerce-memberships/)
204 are able to work together for access to recurring memberships that unlock content.
205
206 **WooCommerce Subscriptions is required in order to use Vipps/MobilePay recurring payments, but Memberships is not.**
207
208 You can read about how WooCommerce Subscriptions and WooCommerce Memberships work together [here](https://docs.woocommerce.com/document/woocommerce-memberships-subscriptions-integration/).
209
210
211 = When I use recurring payments, why do I have to capture payments for physical products manually? =
212
213 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.
214
215 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).
216
217 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.
218
219 = When I use recurring payments and a renewal happens, why is the order on hold? =
220
221 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.
222
223 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.
224
225 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.
226
227 = Firewall ports =
228 Ensure *outgoing* traffic to port 443 is open. This is used to communicate with Vipps MobilePay servers.
229
230 = Does Vipps MobilePay offer a test environment for Vipps MobilePay for WooCommerce? =
231
232 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.
233
234 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.
235
236 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.
237
238 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.
239
240
241 = What are the requirements? =
242 * WooCommerce 3.3.4 or newer is required
243 * PHP 7.4 or higher is required.
244 * An SSL Certificate is required.
245
246 = Filters and Hooks for customization =
247 There are several filters and hooks you can use to customize the behaviour of this plugin:
248 * Filter: 'woo_vipps_is_available': Takes a boolean availability argument and the gateway and must return true or false
249 * Filter: 'woo_vipps_express_checkout_available': Takes a boolean availability argument and the gateway and must return true or false.
250 * Filter: 'woo_vipps_cart_express_checkout_button': Receives a complete button text and the URL needed to proceed to the express checkout page.
251 * 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
252 * 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
253 * Filter: 'woo_vipps_show_express_checkout' - Takes a boolean, returns whether or not to show the express checkout button
254 * 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
255 * 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
256 * Filter: 'woo_vipps_spinner': takes one argument which is a 'wait' spinner for certain pages
257 * 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
258 * 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'
259 * 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.
260 * Filter: 'woo_vipps_shipping_callback_packages': Takes the 'packages' from the cart used to calculate shipping in the shipping details callback
261 * 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.
262 * 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
263 * 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
264 * Filter: 'woo_vipps_captured_statuses': Returns a list of the statuses for which Vipps MobilePay should try a capture when transitioning to them.
265 * 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"
266 * 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).
267 * 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.
268 * Filter: 'woo_vipps_product_supports_express_checkout': Takes a boolean and a product, returns true if the product can be bought with express checkout
269 * Filter: 'woo_vipps_cart_supports_express_checkout': Takes a boolean and a cart, returns true if the cart can be bought with express checkout
270 * Filter: 'woo_vipps_express_checkout_supported_product_types': Returns a list of product types (as strings) that can be bought with express checkout
271 * 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'.
272 * 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.
273 * Action: 'woo_vipps_restoring_cart': Takes an order and a saved cart contents array, ran after the order has failed or is aborted
274 * Action: 'woo_vipps_cart_restored': Runs after the cart has been restored after the order has been aborted of failed
275 ' 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.
276 * 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
277 * Action: 'woo_vipps_before_create_express_checkout_order': Takes the cart to do express checkout for, run before the order is created
278 * 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.
279 * 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'
280 * Action: 'woo_vipps_before_process_payment': Takes an order-id, called at the start of process_payment
281 * Action: 'woo_vipps_wait_for_payment_page': Run on the page shown on return from Vipps MobilePay
282 * Action: 'woo_vipps_express_checkout_page': Run on the express checkout page, before redirect to Vipps MobilePay
283 * 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.
284 * 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.
285 * 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.
286 * 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.
287 * 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.
288 * 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
289 * 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.
290
291 = Shortcodes =
292 * [woo_vipps_express_checkout_button] will print the express checkout button if valid
293 * [woo_vipps_express_checkout_banner] will print the express checkout banner normally shown on the checkout page for non-logged-in users
294 * [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.
295
296 == Extending the Order Management API integration ==
297 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).
298
299 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:
300
301 `add_filter('woo_vipps_add_order_categories', function ($categories, $order, $gateway) {
302 $shippingpagedata = array(
303 'link' => <your shipping URL here>,
304 'image' => <filename or attachment ID of your illustration for shipping here, if required>,
305 'imagesize' => <for attachments, the image size to use>);
306 $categories['DELIVERY'] = $shippingpagedata;
307 return $categories;
308 }, 10, 3);`
309
310 You can similarily send ticket information (with e.g. a QR code) for the TICKET or BOOKING category and so forth.
311
312 = Javascript filters and actions =
313 From version 1.1.13 you can also modify the javascript using the new WP hooks library for javascript:
314 * 'vippsBuySingleProduct' - action which is run whenever a customer tries to buy a single product using express checkout
315 * 'vippsBuySingleProductCompatMode' - filter which should return true or false, if true, the compatibility mode action will be run instead of the standard ajax.
316 * '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.
317 * 'vippsRemoveErrorMessages' - runs when Vipps MobilePay error messages are to be removed.
318 * 'vippsErrorMessage' - runs for every Vipps MobilePay error message added with Javascript. Takes the message as an argument
319 * 'vippsAddErrorMessage' - runs when an error message is about to be added. Takes the message as an argument
320 * 'vippsInit' - runs when a page with a Vipps MobilePay button is initialzed
321 * '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.
322
323 == Changelog ==
324 = 2026-09-18 version 6.2.1 =
325 Security fix for possible shop-manager level exploit
326 Ensure certain events only happens once
327
328 = 2026-09-15 version 6.2.0 =
329 Replaced the fake-page mechanism with a modern WooCommerce-managed page for these actions
330
331 = 2026-09-11 Version 6.1.10 =
332 Don't set Vipps as default payment method if Kustom Checkout is installed
333
334 = 2026-09-10 version 6.1.9 =
335 Minor textual changes
336
337 = 2026-09-03 version 6.1.8 =
338 Minor textual changes
339
340 = 2026-09-01 version 6.1.7 =
341 Compatibility fix for Login with Vipps
342
343 = 2026-08-31 version 6.1.6 =
344 Fix performance issue with order notes with certain configurations of NGINX Helper
345 Remove all usage of eCom v2 and userInfo api
346 Fix issue where Checkout orders were cancelled early
347
348 = 2026-08-20 version 6.1.5 =
349 Fix crash in certain situations when checking order status
350
351 = 2026-08-18 version 6.1.4 =
352 Settings wizard now promotes Express.
353 Fix danish and swedish language for badge preview in badge settings
354
355 = 2026-08-11 version 6.1.3 =
356 Fix language issue with danish buttons and badges
357
358 = 2026-08-07 version 6.1.2 =
359 Fix buttons not working in cart and checkout
360
361 = 2026-08-06 version 6.1.1 =
362 Fix warning in settings for uninitialized sites (Thanks to @absdhiten for reporting)
363
364 = 2026-08-04 version 6.1.0
365 Removed experimental support for beta product editor
366 Changed express checkout buttons to use web components
367 Changed callback/webhook handler to use Async Queue to avoid race conditions
368
369 = 2026-06-24 version 6.0.5 =
370 Fix compatibility when inheriting PayPal gateway order
371
372 = 2026-06-17 version 6.0.4 =
373 Web component are now hosted locally
374
375 = 2026-06-15 version 6.0.3 =
376 Minor fixes in handling refunds
377
378 = 2026-06-08 version 6.0.2 =
379 Make stricter CSS for Express in shortcode checkout
380
381 = 2026-06-03 Version 6.0.1 =
382 Fix small problems with tabs in the settings
383
384 = 2026-06-01 Version 6.0.0 =
385 Support payment with credit or debit card as a separate payment method
386
387 = 2026-05-28 version 5.4.3 =
388 Fix issue with payment of admin-created orders
389
390 = 2026-05-27 version 5.4.2 =
391 Fix redirect to custom settings screen
392
393 = 2026-05-20 version 5.4.1 =
394 Fix new orders showing as captured when they were not
395
396 = 2026-05-11 Version 5.4.0 =
397 Improved handling of refunds. Manual refunds are now only possible when payment has been captured.
398 Improved handling of failed but retryable orders
399
400 = 2026-05-06 Version 5.3.4 =
401 Notice added about the sale of Checkout to Kustom
402
403 = 2026-05-04 Version 5.3.3 =
404 Fix express heckout for woo versions less than 9.2.0
405 Vipps Checkout now in legacy mode and available only for existing installs
406
407 = 2026-03-26 Version 5.3.2 =
408 Improve express checkout banner on legacy checkout screens
409 Add new setting for retryable orders
410
411 = 2026-03-23 Version 5.3.1 =
412 Fix CSS issue with on-site messaging badges on small screens
413 Ensure Express orders are always "cancelled", never "failed".
414
415 = 2026-03-23 Version 5.3.0 =
416 Aborted Vipps MobilePay orders are now "failed" instead of "cancelled" and can be retried as a new Vipps MobilePay session
417 Error that occasionally sent the user to the homepage instead of Checkout fixed
418
419 = 2026-03-11 Version 5.2.2 =
420 Fix CSS issues in the standard Checkout
421
422 = 2026-03-09 Version 5.2.1 =
423 Fix: Only show the recurring Checkout when there's a recurring product in your shopping cart.
424
425 = 2026-03-02 Version 5.2.0 =
426 Bump required versions of php, WP and Woo to reasonably modern versions
427 Fixed all blocks to be compatible with the new iframe based block editor
428 Ensure Pickup Locations are editable if any are defined since these are available in Express and Checkout
429 Make the new interactivity based minicart work correctly with Checkout
430
431 = 2026-02-23 version 5.1.6 =
432 Fix customer prefill in Checkout
433 Add block to support new interactivity-API based minicart for Express Checkout
434 Handle swedish and finnish phone numbers correctly when canonicalizing
435 Support Tutor LMS in Express and Checkout
436 All blocks updated to version 3
437 Show Express Checkout button in cart if the settings say so, even with Vipps Checkout active
438 Suppress permission warnings
439
440 = 2026-02-11 version 5.1.5 =
441 Suppress REST warning about permission callback
442
443 = 2026-02-04 version 5.1.4 =
444 Fix translations
445 Fix customer prefill in checkout when customer is known
446
447 = 2026-02-04 version 5.1.3 =
448 Fix: javascript crash in backend
449
450 = 2026-02-03 version 5.1.2 =
451 Allow the Buy Now block to be inserted in all contexts, providing a button to buy an arbitrary product via Express on any page
452 Minor improvements for compatibility for translation plugins
453 Improve error-handling when a shipping method has been paid for in Vipps MobilePay Express, but cannot be added to the Woo order
454
455 = 2026-01-19 version 5.1.1 =
456 Fix link to the settings-page for the login app
457 Fix rendering of Buy-Now block in Product Collections block
458 Improve user interface of Buy-Now block
459 Style improvements for the express checkout block
460 Improve logging for shipping for express checkout
461
462 = 2026-01-06 version 5.1.0 =
463 Fix errors preventing order completion in certain situations using Checkout and Klarna Payments
464 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
465 New, more space-efficient buttons and a new button configurator interface
466
467 = 2025-12-16 version 5.0.14 =
468 Fixed fatal typo in express checkout
469 = 2025-12-16 version 5.0.13 =
470 Fix: language in Checkout when using multilang plugins.
471 Fix: encoding issue in Express checkout.
472 Fix: manual Woo refund triggering Vipps MobilePay refund when the entire remaining amount is refunded
473
474 = 2025-11-24 version 5.0.12 =
475 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
476
477 = 2025-11-17 version 5.0.11 =
478 Added filters for selecting "user language" when necesssary
479 Improved handling of chosen shipping method for Checkout
480 Improving Mailchimp integration when using Express Checkout
481
482 = 2025-11-10 version 5.0.10 =
483 Fixed expiry of checkout sessions when WooCommerce times out an order
484 Added support for TranslatePress to "get customer language"
485 Changed headers for Express Checkout orders in the API to allow for better logging
486
487 = 2025-10-27 version 5.0.9 =
488 Fixed incompatibility notice in the checkout block
489
490 = 2025-10-20 version 5.0.8 =
491 Fix for Checkout Posti shipping method crash.
492 Fix a bug where a log line did not show order id correctly.
493
494 = 2025-10-13 version 5.0.7 =
495 New feature for deleting all settings when deactivating plugin (under settings/advanced).
496 Changed loading of certain web component scripts to async.
497 Fix more logging print bugs
498
499 = 2025-10-10 version 5.0.6 =
500 Fix a bug in a rare logging print
501
502 = 2025-09-30 version 5.0.5 =
503 Handle edge-case for rounding of shipping prices in checkout and express
504
505 = 2025-09-30 version 5.0.4 =
506 Make express checkout provide addresses for virtual orders again (if requested)
507
508 = 2025-09-22 version 5.0.3 =
509 Properly handle shipping when coupons are added
510 Fix spurious error logs when express checkout orders are cancelled.
511
512 = 2025-09-15 version 5.0.2 =
513 Fix Checkout widgets on mobile
514 Fix phone numbers being stripped when using external payment methods
515
516 = 2025-09-01 version 5.0.1 =
517 Fix buttons for Express for finland
518
519 = 2025-09-01 version 5.0.0 =
520 Fix for session handling for shipping in Express checkout
521 Now supports New Express Checkout, including support for pickup locations
522
523 = 2018.06 version 1.0 =
524 Changelog trunated -- see payment/changelog.txt for the full log
525
526