contribution fails when percentage field is enabled
After upgrading to the Civi and extension versions as listed below, contributions fail when the % field is configured and enabled in the price set.
- CiviCRM 5.69.2
- Stripe Payment Processor 6.10.2
- Payment Shared 1.2.20
- Percentage Price Set Field 1.5.2
- Joomla 4.4.2
On the website (Civi contribution page) the user gets the following error message:
Stripe An error occurred while processing the payment
In Stripe I see the following:
Request parameters
{
"description": "Donate to Evergreen 8831X92675 #d973750916e515f092192009b6d48213",
"statement_descriptor_suffix": "8831X92675 D",
"statement_descriptor": "8831X92675 Donate to E",
"amount": "10350",
"customer": "cus_KbTE...."
}
Response body
{
"error": {
"code": "payment_intent_unexpected_state",
"doc_url": "https://stripe.com/docs/error-codes/payment-intent-unexpected-state",
"message": "This PaymentIntent's amount could not be updated because it has a status of requires_capture. You may only update the amount of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action.",
"param": "amount",
"payment_intent": {
"id": "pi_3ObWZNLHe2ijJmBv1UzhEZ47",
"object": "payment_intent",
"amount": 10386,
"amount_capturable": 10386,
"amount_details": {
"tip": {
}
},
"amount_received": 0,
"application": null,
"application_fee_amount": null,
"automatic_payment_methods": null,
"canceled_at": null,
"cancellation_reason": null,
"capture_method": "manual",
"client_secret": "pi_3O**********************_******_*********************sk8p",
"confirmation_method": "manual",
"created": 1705964781,
"currency": "usd",
"customer": null,
"description": null,
"invoice": null,
"last_payment_error": null,
"latest_charge": "ch_3ObWZNLHe2ijJmBv17AUXXga",
"livemode": true,
"metadata": {
},
"next_action": null,
"on_behalf_of": null,
"payment_method": "pm_1ObWZLLHe2ijJmBvDkAWdhSh",
"payment_method_configuration_details": null,
"payment_method_options": {
"card": {
"installments": null,
"mandate_options": null,
"network": null,
"request_three_d_secure": "automatic"
}
},
"payment_method_types": [
"card"
],
"processing": null,
"receipt_email": null,
"review": null,
"setup_future_usage": "off_session",
"shipping": null,
"source": null,
"statement_descriptor": null,
"statement_descriptor_suffix": null,
"status": "requires_capture",
"transfer_data": null,
"transfer_group": null
},
"request_log_url": "https://dashboard.stripe.com/logs/req_H22ZX2zYJorHKW?t=1705964784",
"type": "invalid_request_error"
}
}
Please note the $103.86 vs. $103.50 amounts ($103.50 is the correct amount; we do not use tax in our config and price sets anywhere.)
Any thoughts on where this is coming from - Civi/% field/Stripe?
Thank you!