Upon reviewing the code located in src/abstract-wc-gateway-elavon-converge.php, I discovered that the function get_order_for_add_payment_method() generates a new order if the user is logged in. To resolve this issue, I simply commented out lines 434-437 and the software appeared to function properly without that particular function. Keep in mind that this modification may impact payment method storage functionality, but I have deactivated that feature in the settings.
// get_order_for_add_payment_method() assumes there is a logged in user
// if ( is_user_logged_in() ) {
// return $this->get_order_for_add_payment_method();
// }
---> This section is responsible for creating empty orders (class-sv-wc-payment-gateway-direct.ph)
protected function get_order_for_add_payment_method() {
// A fake order is created as all gateway API implementations require an order object for tokenization
$order = new \WC_Order( 0 ); //Creates NEW order!
$order = $this->get_order( $order );
$user = get_userdata( get_current_user_id() );
$properties = [
'currency' => get_woocommerce_currency(), // default to base store currency
'customer_id' => $user->ID,
];
I hope this explanation clarifies things for you.