[
'title' => __( 'Enable/Disable', 'woo-vipps' ),
'label' => __( 'Enable Vipps/MobilePay Recurring Payments', 'woo-vipps' ),
'type' => 'checkbox',
'description' => '',
'default' => 'no',
],
'title_brand' => [
'type' => 'title',
'title' => __( 'Brand settings', 'woo-vipps' ),
],
'brand' => [
'title' => __( 'Brand', 'woo-vipps' ),
'type' => 'select',
'description' => __( 'Controls the payment flow brand (Vipps or MobilePay).', 'woo-vipps' ),
'default' => '', // We set this in the init_form_fields function
'options' => [
WC_Vipps_Recurring_Helper::BRAND_VIPPS => __( 'Vipps', 'woo-vipps' ),
WC_Vipps_Recurring_Helper::BRAND_MOBILEPAY => __( 'MobilePay', 'woo-vipps' )
]
],
'auto_capture_mobilepay' => [
'type' => 'checkbox',
'title' => __( 'Automatically capture payments made with MobilePay', 'woo-vipps' ),
'label' => __( 'Automatically capture payments made with MobilePay', 'woo-vipps' ),
'description' => __( 'If this option is checked we will start automatically capturing MobilePay payments. This prevents reservations from being cancelled after 7 days.', 'woo-vipps' ),
'default' => 'no',
],
'description' => [
'title' => __( 'Description', 'woo-vipps' ),
'type' => 'text',
'description' => __( 'This controls the description which the user sees during checkout. {brand} is substituted with either Vipps or MobilePay.', 'woo-vipps' ),
// translators: {brand}: brand title (Vipps or MobilePay)
'default' => __( 'Pay with {brand}.', 'woo-vipps' ),
],
// todo: remove the checkout settings in a future release.
'title_checkout' => [
'type' => 'title',
'title' => __( 'Checkout settings', 'woo-vipps' ),
'description' => __( 'Vipps MobilePay Checkout replaces the normal WooCommerce checkout with an easier and more seamless checkout that allows you to pay with Vipps MobilePay (and soon also a credit card). Your customers will be able to provide their billing/shipping details directly from the Vipps MobilePay app.
Important! Checkout for recurring payments only supports static shipping at the moment.', 'woo-vipps' ),
],
'checkout_enabled' => [
'title' => __( 'Enable/Disable', 'woo-vipps' ),
'label' => __( 'Enable Vipps/MobilePay Checkout', 'woo-vipps' ),
'type' => 'checkbox',
'default' => 'no',
],
'checkout_cleanup_abandoned_orders' => [
'title' => __( 'Cleanup changed/abandoned orders', 'woo-vipps' ),
'label' => __( 'Cleanup changed/abandoned orders', 'woo-vipps' ),
'description' => __( 'Automatically clean up Checkout orders where the order was abandoned, or the specification changed (runs every hour).', 'woo-vipps' ),
'type' => 'checkbox',
'default' => 'no',
],
'title_api' => [
'type' => 'title',
'title' => __( 'API settings', 'woo-vipps' ),
'description' => __( 'These settings control the connection between your store and Vipps MobilePay.', 'woo-vipps' ),
],
'merchant_serial_number' => [
'title' => __( 'Merchant Serial Number (MSN)', 'woo-vipps' ),
'type' => 'text',
'description' => __( 'Get your Merchant Serial Number your Vipps/MobilePay developer portal.', 'woo-vipps' ),
'default' => '',
'desc_tip' => true,
],
'client_id' => [
'title' => __( 'client_id', 'woo-vipps' ),
'type' => 'text',
'description' => __( 'Get your API keys from your Vipps/MobilePay developer portal.', 'woo-vipps' ),
'default' => '',
'desc_tip' => true,
],
'secret_key' => [
'title' => __( 'client_secret', 'woo-vipps' ),
'type' => 'password',
'description' => __( 'Get your API keys from your Vipps/MobilePay developer portal.', 'woo-vipps' ),
'default' => '',
'desc_tip' => true,
],
'subscription_key' => [
'title' => __( 'Ocp-Apim-Subscription-Key', 'woo-vipps' ),
'type' => 'password',
'description' => __( 'Get your API keys from your Vipps/MobilePay developer portal.', 'woo-vipps' ),
'default' => '',
'desc_tip' => true,
],
'title_orders' => [
'type' => 'title',
'title' => __( 'Order settings', 'woo-vipps' ),
'description' => __( 'Orders, renewals and status settings.', 'woo-vipps' ),
],
'order_prefix' => [
'type' => 'text',
'title' => __( 'OrderId prefix', 'woo-vipps' ),
'label' => __( 'OrderId prefix', 'woo-vipps' ),
'description' => __( 'An alphanumeric text string to use as a prefix on checkout orders from your shop, to avoid duplicate order ids.', 'woo-vipps' ),
'default' => ''
],
'continue_shopping_link_page' => [
'type' => 'page_dropdown',
'title' => __( '"Continue shopping" link', 'woo-vipps' ),
'description' => __( 'The page to redirect customers to when they click "Continue shopping" after a cancelled payment.', 'woo-vipps' ),
'show_option_none' => __( '[Default] Shop or homepage', 'woo-vipps' )
],
'default_reserved_charge_status' => [
'type' => 'select',
'title' => __( 'Default status to give orders with a reserved charge', 'woo-vipps' ),
'description' => __( 'The status to give orders when the charge is reserved in Vipps/MobilePay (i.e. tangible goods). Notice: This option only counts for newly signed agreements by the customer. Use the setting below to set the default status for renewal orders.', 'woo-vipps' ),
'default' => 'wc-on-hold',
'options' => array_filter( wc_get_order_statuses(), static function ( $key ) {
return in_array( $key, [ 'wc-processing', 'wc-on-hold' ] );
}, ARRAY_FILTER_USE_KEY )
],
'default_renewal_status' => [
'type' => 'select',
'title' => __( 'Default status to give pending renewal orders', 'woo-vipps' ),
'description' => __( 'When a renewal order happens we have to wait a few days for the money to be drawn from the customer. This settings controls the status to give these renewal orders before the charge completes.', 'woo-vipps' ),
'default' => 'wc-processing',
'options' => array_filter( wc_get_order_statuses(), static function ( $key ) {
return in_array( $key, [ 'wc-processing', 'wc-on-hold' ] );
}, ARRAY_FILTER_USE_KEY )
],
'transition_renewals_to_completed' => [
'type' => 'checkbox',
'title' => __( 'Transition order status for renewals to "completed"', 'woo-vipps' ),
'label' => __( 'Transition order status for renewals to "completed"', 'woo-vipps' ),
'description' => __( 'This option will make sure order statuses always transition to "completed" when the renewal charge is completed in Vipps/MobilePay.', 'woo-vipps' ),
'default' => 'no',
],
'title_cron' => [
'type' => 'title',
'title' => __( 'Cron settings', 'woo-vipps' ),
'description' => __( 'We use webhooks in most instances, but they are not guaranteed to be reliable. In those cases we rely on cron.', 'woo-vipps' ),
],
'check_charges_amount' => [
'type' => 'number',
'title' => __( 'Amount of charges to check per status check', 'woo-vipps' ),
'description' => __( 'The amount of charges to check the status for in wp-cron per scheduled event. It is recommended to keep this between 5 and 100. The higher the value, the more performance issues you may run into.', 'woo-vipps' ),
'default' => 10,
],
'check_charges_sort_order' => [
'type' => 'select',
'title' => __( 'Status checking sort order for charges', 'woo-vipps' ),
'description' => __( 'The sort order we use when checking charges in wp-cron. Random sort order is the best for most use cases. Oldest first may be useful if you use synchronized renewals.', 'woo-vipps' ),
'default' => 'rand',
'options' => [
'rand' => __( 'Random', 'woo-vipps' ),
'asc' => __( 'Oldest first', 'woo-vipps' ),
'desc' => __( 'Newest first', 'woo-vipps' )
]
],
'title_developer' => [
'type' => 'title',
'title' => __( 'Developer settings', 'woo-vipps' ),
'description' => __( 'Developer, test, and debugging options.', 'woo-vipps' ),
],
'logging' => [
'title' => __( 'Logging', 'woo-vipps' ),
'label' => __( 'Log debug messages', 'woo-vipps' ),
'type' => 'checkbox',
'description' => __( 'Save debug messages to the WooCommerce System Status log.', 'woo-vipps' ),
'default' => 'yes',
],
'test_mode' => [
'title' => __( 'Test mode', 'woo-vipps' ),
'label' => __( 'Enable test mode', 'woo-vipps' ),
'type' => 'checkbox',
'description' => __( 'Enabling this will route all API requests to the Vipps MobilePay test API.', 'woo-vipps' ),
'default' => 'no',
'disabled' => WC_VIPPS_RECURRING_TEST_MODE,
'desc_tip' => WC_VIPPS_RECURRING_TEST_MODE ? __( 'This value is being overriden by WC_VIPPS_RECURRING_TEST_MODE.', 'woo-vipps' ) : null,
],
]
);