Thanks for the guidance. I ran the tests you suggested and found something very interesting.
The AJAX response is already correct on the FIRST donation amount change.
Example 1 — selecting $25:
{
"currency": "usd",
"country_code": "US",
"requestShipping": false,
"displayItems": [
{
"label": "Support us",
"amount": 2500
}
],
"total": {
"label": "",
"amount": 2500
}
}
Example 2 — selecting $10:
{
"currency": "usd",
"country_code": "US",
"requestShipping": false,
"displayItems": [
{
"label": "Support Us",
"amount": 1000
}
],
"total": {
"label": "",
"amount": 1000
}
}
So WooCommerce product data and the Stripe AJAX endpoint are both updating correctly.