Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP Event Cart convert to use standard payment forms #17508

Closed
wants to merge 18 commits into from

Conversation

mattwire
Copy link
Contributor

@mattwire mattwire commented Jun 5, 2020

Overview

Convert the event cart to use standard payment forms and supported interfaces. Builds on #17339

Before

Very old, unsupported code. Only a single payment processor supported and some don't work (eg. Stripe). Lot's of custom code to create contribution/participants/lineitems and payment made before contribution created.

After

Checkout:
image
(The pay now button is a sneak-preview of the upcoming google/apple/payment request support in stripe).

Settings:
image
(translation seems to have got stuck for the first setting despite setting to English!).

Technical Details

This is a major refactor of the event cart checkout following it's move to an extension. We switch to using standard billingblock functionality and support an independent set of payment processors via settings. (Previously this was guessed from the events in the cart and only one processor could be used).
This switches event cart to use Order API + payment propertybag making this probably some of the most up to date code in CiviCRM!

Comments

@eileenmcnaughton @artfulrobot This is still a work in progress because I've not gone through and verified that receipting is working properly (and may switch to Payment.sendconfirmation for this). But you'll be pleased to see it uses Order API to create the contribution, participants and lineitems. And then uses payment propertybag before calling doPayment.

@civibot
Copy link

civibot bot commented Jun 5, 2020

(Standard links)

@eileenmcnaughton
Copy link
Contributor

Closing this as it now needs to be the basis for smaller reviewable PRs to take this forwards (which it can do without being in the review queue) - note I think we should keep anything to do with the property bag out of any work on this. We've got quite a bit of work to do to ensure we have a shared vision on that & I'd rather than wasn't a blocker on this because I'd rather not think about propertyBag again for a while

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
master needs-work-not-review-ready Submitter required to take action, will be closed after 1-2 weeks in this state
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants