Missing paymentIntentID on Payment Pages with Contribution ID in the URL
We have a basic Contribution Page that works fine (both in test mode and live mode) when going just straight to the page, like so:
https://example.org/civicrm/contribute/transact?reset=1&id=1
However, when we go to the same page and include the Contribution ID and, optionally, the contact checksum, we receive the "Unable to complete payment! Missing paymentIntentID." error when we try to submit payment. And it does not send us back to the same payment page, but to whatever Civi admin page we were last on (so it can give the error message, I presume). A sample payment page url with params:
https://example.org/civicrm/contribute/transact?reset=1&id=1&ccid=345&cid=2&cs=xxxx
This happens both in test mode (action=preview) and live mode. I have disabled every extension except for Stripe and "Payment Shared" (which seems to be a dependency for Stripe, I can't disable it). I have also removed any references to custom templates or PHP files, so nothing should be overwriting the contribution page. Again, without the ccid or cs params being passed, it works great. It's just when we pass parameters so that donors can pay a specific invoice/contribution is when we get the Stripe error.
I do not see any console log errors; this is the error I see in the Civi error logs:
Dec 23 12:57:55 [debug] paymentIntentID not found. $params: Civi\Payment\PropertyBag Object
(
[props:protected] => Array
(
[default] => Array
(
[qfKey] => CRMContributeControllerContribution32i7koj5uow0sksoww408swo4o8cwsgs8wco0gck0gwwco4g0w_4025
[entryURL] => https://xxx.org/civicrm/contribute/transact?reset=1&id=1&ccid=345&cid=2&cs=xxx&action=preview
[hidden_processor] => 1
[email] => paul@xxx.org
[total_amount] => 3.00
[payment_processor_id] => 2
[priceSetId] => 8
[MAX_FILE_SIZE] => 209715200
[ip_address] => xxx
[amount] => 3
[tax_amount] => 0.00
[currency] => USD
[is_pay_later] => 0
[invoiceID] => f1dc72cb2976acc300749c57443663ec
[contributionID] => 345
[description] => Invoice and Service Fee Payment
[skipLineItem] => 0
[line_item] => Array
(
[8] => Array
(
[345] => Array
(
[qty] => 3
[label] => General Donation
[unit_price] => 1.00
[line_total] => 3.00
[price_field_id] => 12
[participant_count] => 0
[price_field_value_id] => 22
[field_title] => General Donation
[html_type] => Text
[description] =>
[entity_id] => 345
[entity_table] => civicrm_contribution
[contribution_id] => 345
[financial_type_id] => 5
[financial_type] => Services Fee
[membership_type_id] =>
[membership_num_terms] =>
[tax_amount] => 0
[price_set_id] => 8
[tax_rate] =>
[subTotal] => 3
[id] => 345
)
)
)
[financialTypeID] => 5
[financial_type_id] => 5
[contributionType_name] => Services Fee
[financialType_name] => Services Fee
[contactID] => 2
[payment_instrument_id] => 1
[item_name] => Online Contribution: Invoice and Service Fee Payment
[isRecur] =>
[error_url] => /civicrm/contribute/transact?reset=1&id=1&ccid=345&cid=2&cs=xxx&action=preview&_qf_Main_display=1&qfKey=CRMContributeControllerContribution32i7koj5uow0sksoww408swo4o8cwsgs8wco0gck0gwwco4g0w_4025
[paymentIntentID] =>
)
)
[suppressLegacyWarnings:protected] => 1
[lastWarning] =>
)