Question: Stripe Customer paymentMethod applied to its subscribers

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);
 }



Answer:
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?