Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Stripe Stripe
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 59
    • Issues 59
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 7
    • Merge requests 7
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Extensions
  • StripeStripe
  • Issues
  • #321
Closed
Open
Created Jun 10, 2021 by jhungerford@jhungerford

Missing paymentIntentID when using backend form to create recurring contributions

Adding recurring contributions through the backend form results in "Unable to complete payment! Missing paymentIntentID" like in issue #233 (closed).

If I understand correctly though, that issue affected payment pages. This only affects the backend form, and only for recurring payments. I've only tested it in test mode, by opening the page in a new tab and replacing "mode=live" with "mode=test" in the URL.

  • CiviCRM version: 5.33.5
  • CMS: Drupal 7.80
  • civicrm-Stripe version: 6.6
  • firewall version: 1.1.3
  • mjwshared version: 1.0
  • SweetAlert version: 1.4.1

Adding recurring payments through a payment page works on our test and production sites (in test mode), just not through the backend page.

In the javascript console on the affected backend page, I see a few warnings when selecting Stripe as the payment processor, but they seem unlikely to cause this issue:

  • [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/
  • Elements requires "width=device-width" be set in your page's viewport meta tag. For more information: https://stripe.com/docs/js/appendix/viewport_meta_requirements
  • The fontSize style you specified (1.1em) is not in px. We do not recommend using relative css units, as they will be calculated relative to our iframe's styles rather than your site's.

I noted this entry in the change log for release 6.3: "For forms that have multiple submit buttons (eg. Save, Save and New) override the submit handler on all of them (This fixes some more instances of missing PaymentIntentID on the backend forms)."

I found what I believe is the relevant commit (110c9b) and the equivalent code seems to be working still, though it has changed a bit since that commit. The disabling of the "Save" and "Save and New" buttons works as expected when I press "Save".

Assignee
Assign to
Time tracking