$vefmb_closed, 'warn_overlap' => ! empty( $_POST['vefmb_warn_overlap'] ), 'online_booking_closed_message' => $vefmb_closed_message, 'currency' => $vefmb_currency, 'package_label' => isset( $_POST['vefmb_package_label'] ) ? mb_substr( sanitize_text_field( wp_unslash( $_POST['vefmb_package_label'] ) ), 0, 40 ) : (string) VEFMB_Settings::get( 'package_label', '' ), 'site_profile' => in_array( isset( $_POST['vefmb_site_profile'] ) ? sanitize_key( wp_unslash( $_POST['vefmb_site_profile'] ) ) : '', array( 'accommodation', 'activities', 'both', 'other' ), true ) ? sanitize_key( wp_unslash( $_POST['vefmb_site_profile'] ) ) : 'other', 'admin_mode' => ( isset( $_POST['vefmb_admin_mode'] ) && 'simple' === sanitize_key( wp_unslash( $_POST['vefmb_admin_mode'] ) ) ) ? 'simple' : 'advanced', 'hold_duration' => $vefmb_hold_duration, 'unpaid_booking_minutes' => $vefmb_unpaid_minutes, 'default_min_notice_hours' => $vefmb_min_notice, 'activity_decision_hours' => $vefmb_decision_hours, 'stripe_mode' => in_array( $_POST['vefmb_stripe_mode'] ?? '', array( 'test', 'live' ), true ) ? sanitize_key( wp_unslash( $_POST['vefmb_stripe_mode'] ) ) : 'test', 'stripe_live_secret_key' => $vefmb_secret( 'stripe_live_secret_key' ), 'stripe_live_publishable_key' => isset( $_POST['vefmb_stripe_live_publishable_key'] ) ? sanitize_text_field( wp_unslash( $_POST['vefmb_stripe_live_publishable_key'] ) ) : '', 'stripe_live_webhook_secret' => $vefmb_secret( 'stripe_live_webhook_secret' ), 'stripe_test_secret_key' => $vefmb_secret( 'stripe_test_secret_key' ), 'stripe_test_publishable_key' => isset( $_POST['vefmb_stripe_test_publishable_key'] ) ? sanitize_text_field( wp_unslash( $_POST['vefmb_stripe_test_publishable_key'] ) ) : '', 'stripe_test_webhook_secret' => $vefmb_secret( 'stripe_test_webhook_secret' ), 'paypal_mode' => in_array( $_POST['vefmb_paypal_mode'] ?? '', array( 'sandbox', 'live' ), true ) ? sanitize_key( wp_unslash( $_POST['vefmb_paypal_mode'] ) ) : 'sandbox', 'paypal_live_client_id' => isset( $_POST['vefmb_paypal_live_client_id'] ) ? sanitize_text_field( wp_unslash( $_POST['vefmb_paypal_live_client_id'] ) ) : '', 'paypal_live_client_secret' => $vefmb_secret( 'paypal_live_client_secret' ), 'paypal_live_webhook_id' => isset( $_POST['vefmb_paypal_live_webhook_id'] ) ? sanitize_text_field( wp_unslash( $_POST['vefmb_paypal_live_webhook_id'] ) ) : '', 'paypal_sandbox_client_id' => isset( $_POST['vefmb_paypal_sandbox_client_id'] ) ? sanitize_text_field( wp_unslash( $_POST['vefmb_paypal_sandbox_client_id'] ) ) : '', 'paypal_sandbox_client_secret' => $vefmb_secret( 'paypal_sandbox_client_secret' ), 'paypal_sandbox_webhook_id' => isset( $_POST['vefmb_paypal_sandbox_webhook_id'] ) ? sanitize_text_field( wp_unslash( $_POST['vefmb_paypal_sandbox_webhook_id'] ) ) : '', ); // The support account never changes where the money goes: the payment settings keep their saved values. if ( VEFMB_Support_Access::is_support_user() ) { foreach ( array_keys( $vefmb_new ) as $vefmb_key ) { if ( 0 === strpos( $vefmb_key, 'stripe_' ) || 0 === strpos( $vefmb_key, 'paypal_' ) ) { $vefmb_new[ $vefmb_key ] = VEFMB_Settings::get( $vefmb_key, '' ); } } } VEFMB_Settings::update( $vefmb_new ); $vefmb_notice = __( 'Settings saved.', 'vefmultibooking' ); } // The support account sees the payment settings but cannot change them; saved secrets are never printed back. $vefmb_pay_locked = VEFMB_Support_Access::is_support_user(); $vefmb_saved_hint = __( '•••••••• saved — leave empty to keep it', 'vefmultibooking' ); $vefmb_settings = VEFMB_Settings::get_all(); $vefmb_currencies = VEFMB_Settings::get_supported_currencies(); ?>

' . esc_html__( 'Configured', 'vefmultibooking' ) . ''; // After a save the page is displayed again: reopen the tab that was in use (the nonce was checked above). // phpcs:ignore WordPress.Security.NonceVerification.Missing -- only decides which tab is open. $vefmb_pay_tab = ( isset( $_POST['vefmb_pay_tab'] ) && 'stripe' === sanitize_key( wp_unslash( $_POST['vefmb_pay_tab'] ) ) ) ? 'stripe' : 'paypal'; ?>

>

' . esc_html( rest_url( 'vefmb/v1/webhooks/paypal' ) ) . '' ); ?>

>

' . esc_html( rest_url( 'vefmb/v1/webhooks/stripe' ) ) . '' ); ?>