Vipps, MobilePay and Swish payments

Last modified:

Ensure the correct update of the payment status

The customer is supposed to return to the browser after completed purchase in Vipps, MobilePay or Swish. When buying via mobile phone, some customers don’t complete this step. In this case, the order status in WooCommerce is updated to Processing (or Completed) via a callback from the payment service provider (PSP) to WooCommerce.

It’s important that callbacks from the PSP to your store don’t get blocked by security or caching plugins. Make sure that requests to https://yourdomain.com/wc-api/ aren’t blocked. You can read more about callbacks.

Missing tracking data

When the customer doesn’t return to the store after a completed purchase in another app, tracking data reported to Google Analytics, Facebook and other systems will not be reported correctly. This is not something we can solve from the plugin, since it is the customer being redirected to the thank-you page that is the actual trigger for sending tracking data to the external system.

Pending payment or Cancelled orders for successful payments

This issue primarily occurs on mobile devices. When a customer selects Swish (used in this example), MobilePay or Vipps as their payment method, they’re prompted to open the Swish app to authorize the payment, which they then confirm using their BankID app. After the BankID confirmation, the customer is redirected back to the Swish app. Some customers then close the Swish app, ending the purchase journey before returning to the browser where the checkout and thank-you pages are displayed. This results in an incomplete order.

To address this, our WooCommerce plugin has a built-in callback function. When the PSP sends a callback to the store, this function automatically updates the WooCommerce order status.

The issue occurs when the merchant’s store blocks callbacks from the PSP. As a result, the plugin’s callback function is never triggered, which causes the WooCommerce order to remain in Pending payment status. Depending on your WooCommerce Hold stock setting, it can also set the WooCommerce order to Cancelled. Read more in the Pending payment orders and held stock article.

Scheduled actions and WP-Cron not working

If you have made sure callbacks are not blocked by your site and you are still experiencing, for example, pending or canceled orders in WooCommerce for successful payments, the problem may be WP-Cron. WP-Cron is WordPress’s way of handling scheduled tasks.

When scheduled actions and WP-Cron are not working, several critical issues can arise, primarily impacting order management and synchronization between your WooCommerce store and the PSP.

Read more about this in the WP-Cron and pending or cancelled orders article.