This is a secondary question as I thought my previously answered question was resolved.
Here is my use case:

Customer (office) buys physical products.  We collect the
information on the mobile app and then the server creates a Stripe
Customer and a PaymentIntent.  This succeeds, as evidenced by
Stripe portal
When the payment is finalized, my web hook event captures the “charge.succeeded”
event and it is my understanding that now that I have a
paymentMethod I can set it up pay automatically with the confirm and
redirect-url.  However, no attempt by me has been successful.
I then create a subscriber, and I want to use the above customer payment
method to manage the subscription payment.  The payment for this
shows as incomplete, and I have to manually confirm it.

Here is how I am handling the server side:

Create payment Intent:

Stripe.apiKey = API_SECRET_KEY;
long totalCharge = calcTotalCharge(purchaseRequest.getRequestedProducts());
PaymentIntentCreateParams paymentIntentCreateParams = PaymentIntentCreateParams.builder()
                .setCustomer(customer.getId())
                .setAmount(totalCharge)
                .setCurrency("usd")
                .setDescription(OFFICE_PURCHASE)
                .setSetupFutureUsage(SetupFutureUsage.OFF_SESSION)
                .setAutomaticPaymentMethods(PaymentIntentCreateParams.AutomaticPaymentMethods.builder()
                                .setEnabled(true)
                                .build())
                .build();

PaymentIntent paymentIntent = PaymentIntent.create(paymentIntentCreateParams);
SetupIntentCreateParams setupIntentParms =
                SetupIntentCreateParams.builder()
                                       .setCustomer(customer.getId())
                                       .addPaymentMethodType("card")
                                       .build();                                     

SetupIntent setupIntent = SetupIntent.create(setupIntentParms);

This all appears to be correct.  I use the paymentIntento with the Stripe Elements to complete the order.  I I cannot set the confirm or auto payment because I don’t have the payment method at this point.

Webhook event - this throws an exception: java.lang.RuntimeException: com.stripe.exception.InvalidRequestException: Received unknown parameters: enabled, returnUrl, confirm; code: parameter_unknown; request-id: req_My6nCQVFVNbsSgtry

try {
  PaymentIntent paymentIntent = PaymentIntent.retrieve(charge.getPaymentIntent());
  Map<String, Object> automaticPaymentMethods = new HashMap<>();
  automaticPaymentMethods.put("enabled", true);
  automaticPaymentMethods.put("confirm", true);
  automaticPaymentMethods.put("returnUrl", "https://cnn.com”); <== this is just for Stripe   requirement, it does nothing
  logger.info("webhook updating paymentIntent.automatic payment method as {} ", paymentIntent);
} catch (StripeException e) {
throw new RuntimeException(e);
}

So where I appear to be stuck is how do I set the customer paymentMethod to be applied as confirm automatically since the subscriber will not have the ability to confirm the payment.  I also was uncertain about a custom URL scheme or an universal link, despite the links you provided.
Update to answer responses:
Webhook does this when customer payment is received:
(I am no longer trying to set the automaticPaymentMethods)
 PaymentIntent paymentIntent = PaymentIntent.retrieve(charge.getPaymentIntent());
paymentIntent.getAutomaticPaymentMethods().setEnabled(true);

 String paymentMethod = charge.getPaymentMethod();
 String customerId = charge.getCustomer();
 Long chargeAmount = charge.getAmountCaptured();
 // now we can update the pending order with the paymentMethod
 try {
   Customer customer = Customer.retrieve(customerId);
   customer.update(CustomerUpdateParams.builder()
   .setInvoiceSettings(InvoiceSettings.builder()
   .setDefaultPaymentMethod(paymentMethod)
   .build())
   .build());
  } catch (StripeException se) {
    logger.error("unable to customer {} the paymentMethod {}", customerId, paymentMethod);
 }


Stripe Customer paymentMethod applied to its subscribers
In order to create Subscriptions with customer's attached payment method, you need to set it as default payment method for the customer. Specifically on customer.invoice_settings.default_payment_method parameter
Once you do that, the subscription should charge the default payment method on creation.
For your second question, I don't fully understand what you're trying to do exactly. Automatic Payment Methods parameter on a PaymentIntent only supports enabled property. So not sure why you're trying to set confirm and returnUrl there. Are you following a guide for this?
