See #3027924: Investigate Stripe regression on Commerce 2.12 for the gory details.

Stripe stores the api key as a static parameter of its own class, which isn't kept if the payment form is pulled from form cache, like with ajax calls. With the changes around inline forms coming in Commerce 2.12, this causes the payment to fail on a missing API key.

Comments

smccabe created an issue. See original summary.

smccabe’s picture

Status: Active » Needs review
StatusFileSize
new3.25 KB
knyshuk.vova’s picture

Issue tags: +LutskGCW19
StatusFileSize
new3.11 KB
new919 bytes

Fixed coding standards.
Added interdiff.

bojanz’s picture

We could call init() from __construct() and __wakeup(), that way we wouldn't need to touch the public methods.

smccabe’s picture

Status: Needs review » Needs work

I'll switch to __wakeup() that is way better, I wasn't aware that was a thing.

smccabe’s picture

Status: Needs work » Needs review
StatusFileSize
new1.08 KB
bojanz’s picture

Title: Fix support for form cache, needed for Commerce 2.12 compatability » Broken on Commerce 2.12
Priority: Normal » Critical

Closed the Commerce issue, created a change record: https://www.drupal.org/node/3031851

Let's proceed with this patch.

  • bojanz committed 7d55787 on 8.x-1.x authored by smccabe
    Issue #3030159 by smccabe, knyshuk.vova, bojanz: Broken on Commerce 2.12
    
bojanz’s picture

Status: Needs review » Fixed

Committed, thanks!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.