There are several filters and hooks you can use to customize the behaviour of this plugin:
* Filter: ‘woo_vipps_is_available’: Takes a boolean availability argument and the gateway and must return true or false
* Filter: ‘woo_vipps_express_checkout_available’: Takes a boolean availability argument and the gateway and must return true or false.
* Filter: ‘woo_vipps_cart_express_checkout_button’: Receives a complete button text and the URL needed to proceed to the express checkout page.
* 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
* 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
* Filter: ‘woo_vipps_show_express_checkout’ – Takes a boolean, returns whether or not to show the express checkout button
* 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
* 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
* Filter: ‘woo_vipps_spinner’: takes one argument which is a ‘wait’ spinner for certain pages
* 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
* 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’
* 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.
* Filter: ‘woo_vipps_shipping_callback_packages’: Takes the ‘packages’ from the cart used to calculate shipping in the shipping details callback
* 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.
* 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
* 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
* Filter: ‘woo_vipps_captured_statuses’: Returns a list of the statuses for which Vipps MobilePay should try a capture when transitioning to them.
* 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”
* 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).
* 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.
* Filter: ‘woo_vipps_product_supports_express_checkout’: Takes a boolean and a product, returns true if the product can be bought with express checkout
* Filter: ‘woo_vipps_cart_supports_express_checkout’: Takes a boolean and a cart, returns true if the cart can be bought with express checkout
* Filter: ‘woo_vipps_express_checkout_supported_product_types’: Returns a list of product types (as strings) that can be bought with express checkout
* 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’.
* 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.
* Action: ‘woo_vipps_restoring_cart’: Takes an order and a saved cart contents array, ran after the order has failed or is aborted
* Action: ‘woo_vipps_cart_restored’: Runs after the cart has been restored after the order has been aborted of failed
‘ 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.
* 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
* Action: ‘woo_vipps_before_create_express_checkout_order’: Takes the cart to do express checkout for, run before the order is created
* 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.
* 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’
* Action: ‘woo_vipps_before_process_payment’: Takes an order-id, called at the start of process_payment
* Action: ‘woo_vipps_wait_for_payment_page’: Run on the page shown on return from Vipps MobilePay
* Action: ‘woo_vipps_express_checkout_page’: Run on the express checkout page, before redirect to Vipps MobilePay
* 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.
* 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.
* 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.
* 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.
* 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.
* 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
* 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.