I kept experiencing a “No such price” error when attempting to modify a price on behalf of a Stripe connected account.
Turns out that I wasn’t calling modify() with the connected account id, which results in Stripe looking for the price in the platform’s account.
To modify the price for a connected account, do so like this:
existing_price_change = stripe.Price.modify( stripe_price_id, active=False, stripe_account=stripe_account )
The last parameter, stripe_account=stripe_account, should be the ID for the connected account. Including it sets the correct HTTP header when sent to Stripe.