Posts Tagged ‘EE4’

Developer’s Guide to Payment Methods for Event Espresso 4.6+

Welcome! Let’s take a brief look at the payment methods as of Event Espresso 4.6.

In the Beginning…

In the old days of Event Espresso (EE3), all of the “payment gateways” (as we called them, then) were included in the core Event Espresso file system, which made the overall file size rather large and unwieldy over time. Some gateway folders ended up weighing in at around 2 – 3 megabytes each!

One of the many reasons we rebuilt Event Espresso 4 (EE4) from the ground up, was to make the gateway system more modular. So, in the beginning, we decided to build a simple payment gateway interface, that included only four of our most popular online payment gateways from EE3.  This approach allowed us to ship a working product, or rather a Minimum Viable Product (MVP), while allowing our developers time to fine tune Event Espresso and rebuild the entire gateway system.

Get Noticed!
Developers submit your add-ons to our Third-party Add-ons Directory.

Fast Forward to Event Espresso 4.6

We’ve now finished the “Gateway Rewrite”, or GWRW as we called it, in Event Espresso 4.6 and things are looking pretty sweet for Event Espresso gateway developers. We are now taking the approach of renaming “payment gateways” to “payment methods” in Event Espresso 4.6.

Payment Methods are now modular, and can be developed as an Event Espresso add-on. This allows us to keep EE4 core code and files lightweight, while providing our developers, as well as any third-party developers more flexibility to add new features, without lots of bloat.

As of  Event Espresso 4.6, developers are now invited to start developing new gateways, by following our in-depth payment method documentation.

Getting Started!

Ok, so you’re ready to build your own payment method? Head over to the EE4 Payment Method Development page on our developer documentation website.

Don’t forget, in order to give you a head-start, our developer’s have created an Add-on Skeleton that has  two working payment methods in it: one onsite and the other offsite. Of course neither actually communicates with a Payment Gateway, that’s what you’re going to do by following our gateway documentation!

The skeleton add-on is located in the event-espresso-core/tests/mocks/addons/new-payment-method. Currently the “tests” folder isn’t included by default in order to reduce plugin size, so you’ll need to get it from our github repo.

How Does the New Payment Method System Work?

In Event Espresso 4.6+, payment methods are PHP classes and associated files that take care of accepting payments from customers. They  define a form for its settings, possibly a form for billing information which can be displayed during Single Page Checkout, and possibly a gateway class which takes care of communicating with a payment gateway (eg to actually transfer funds from the customer to you. They fall into 3 general categories:

  • ONSITE (where the customer enters their billing info directly on your site, and your site transfers billing data to the payment gateway directly),
  • OFFSITE ( where the customer is redirected to the payment gateway, enters their billing info, and then returns to your site afterwards), and
  • OFFLINE (where payment is marked to occur offline without a separate payment gateway).

Payment methods are more narrow in scope than EE Modules, and are generally placed in an EE4 Add-on. If you are building your own Payment Method as an add-on, please feel free to use our sample “New Payment Method” Add-on. For details, see the section Using the New Payment Method Add-on Skeleton section of our documentation.

What’s Next?

So, you’ve created a new gateway, and now you want to release it to the Event Espresso 4 community? First you need to decide if you want to sell and support the gateway, release it for free with limited support, or just keep it to yourself. Here’s some helpful tips on where to go next:

  • Selling & Supporting Your Custom Gateway – The best option is to list the plugin for sale on your website, using a shopping cart system, such as Easy Digital Downloads or eJunkie. Once the plugin is available on your website, please let us know so we can list it for you.
  • Release for Free With Limited Support – There are a few possible options. The easiest is to just release the plugin on Github. If you want other Event Espresso and WordPress users to find it easier, you can post it on plugin repository. Once you’ve uploaded it to one, or both of these locations, please let us know so we can list it on our website for you.
  • Keep it to Yourself – This is by far the easiest option, but no one else benefits from your hardwork 🙁

Wrapping Up

We hope that our gateway documentation works as a helpful guide to incorporating your own payment methods in Event Espresso 4. If you have technical questions, please feel free to post in our support forums. Developers with access to Event Espresso on Github can post questions there.

Tags: ,
Posted in Product & News | 3 Comments »

WP User Integration for Event Espresso 4

ee4-wp-user-integrationWe are pleased to announce that the WP User Integration add-on is now available for Event Espresso 4. The “EE4 WP User Integration” add-on allows you to take full advantage of the WordPress user system. Create member only events and tickets, set the minimum WP User Capability for ticket purchase, create new WordPress users on registration, and more!

Get Started!
Purchase the WP User Integration add-on for Event Espresso 4.

How does it work?

You’ll be able to display member only tickets to your logged-in members; members can store personal information into the WordPress database allowing your members to quickly register for events by auto-filling in the personal information on the event registration form.

What can I do with it?

With the WP User Integration add-on for Event Espresso 4, you can give your users a special incentive by offering member only events and tickets. You can also help streamline registration, create new users when someone registers, and ensure existing customers use their existing accounts to register so you data stays clean.

  • Member Only Events – The “member only” events feature let’s you pick and choose what events are members only. Member only events still appear in your events list, but require login before allowing customers to register for the event.
  • Member Only Tickets – Makes it easy to offer member only incentives on ticket purchases.
  • Streamlined Registration for Members – Members on your site can store personal information into their profile page allowing your members to quickly register for events by auto-filling in the personal information on the event registration form.
  • Create New Users Upon Registration – This feature makes it easy to create new members upon registration.
  • User Traffic Cop – If a member is not logged, and tries to register for an event, they will be asked to login before proceeding. Basically, if the email entered already exists in the WP User database, the user is asked to log in before proceeding.
Get Started!
Purchase the WP User Integration add-on for Event Espresso 4.

How does this compare to the EE3 version?

The EE4 WP User Integration add-on was built from the ground up, seamlessly integrated with Event Espresso 4 core code using existing hooks and filters (as of EE 4.6) in the ticket selector and registration templates. Whereas the EE3 version was built into the Event Espresso 3 template system, which made it very hard to keep updates from conflicting with customizations.

Going forward, updates to the EE4 WP User Integration add-on will be seamless and not depend upon EE4 core code. This helps us to keep things updated and running more smoothly.

Please Note:  The “My Events” feature is not yet available. This means that registered members CANNOT cancel, pay for, or view events they’ve registered for in the past. This feature will be available in a later iteration.

Posted in Product & News | 13 Comments »

Raising the PHP Requirements for Event Espresso 4

Here at Event Espresso, our mission has always been to empower business and organization leaders with the event registration, ticketing and management tools that maximize the success of their events. While our products are constantly improving as a result of that mission, we must also continue to evaluate systems our products are built with to ensure they contribute to this mission as well. One of these dependencies is the usage of the PHP programming language.

Since the release of Event Espresso 4, back in January 2014, we have made it clear on the Requirements page that EE4 requires at least PHP 5.3. As of EE version 4.4, we will no longer support PHP 5.2. If you try activating EE 4.4 on a site running on PHP 5.2 it will simply deactivate and display a minimum PHP version is required message. This is done on purpose to prevent serious issues on your site. If you wish to continue using EE 4.4, you will have to upgrade your server to PHP 5.3 or later. If you are unable to upgrade to PHP 5.3+ right away (maybe your host is slow to respond) you can continue to use EE 4.3.1.

Please note that the PHP 5.3 series will enter an end of life cycle and receive only critical fixes as of August 14, 2014. All users of PHP are encouraged to upgrade to PHP 5.4. PHP 5.3.29 is recommended for those wishing to remain on the 5.3 series.
Create an account now and download Event Espresso 4 Decaf for free.

Why are we raising the PHP requirements for EE4?

Dropping support for PHP 5.2 was a decision we did not make lightly. In fact, we tried to delay it as long as possible. Here are the three primary reasons prompting this decision:

  1. Security
    PHP 5.2 is a dead release. It became end-of-life on January 6th, 2011 when the final version, PHP 5.2.17, was released. As the PHP website reads on that page:

    If you are using these releases, you are strongly urged to upgrade to a current version, as using older versions may expose you to security vulnerabilities and bugs that have been fixed in more recent versions of PHP.

    This is exactly the case with PHP 5.2, a version of PHP which is end of life for over 3 years. As a matter of fact, just a mere days after it became end of life a major security flaw was detected. It was fixed in PHP 5.3 but not in PHP 5.2. If you are using PHP 5.2, and your hosting provider has not patched this version, you are exposed to known security threats which are being used to attack web sites. The nature of these attacks means that your server’s firewall and/or a security component (like Admin Tools Professional) cannot protect your site. If you are using an un-patched version of PHP 5.2 your site will be hacked. The question is not if, but when. So, using PHP 5.2 may hurt your site’s security.

  2. More Efficient Code
    PHP 5.2 lacks several features necessary for modern software development, like late static binding. To cut a long story short, if we kept on supporting PHP 5.2 we could no longer maintain our software in a way that is consistent with our commitment to providing up-to-date and easy to use software. We’d be stuck in the Stone Age until we reached a point that we could no longer provide new features and updates. So, using PHP 5.2 doesn’t allow efficient software development.
  3. Quicker Feature Development
    One of the major factors in the longer release times of our EE4 products has not only been extra development time working around PHP 5.2 deficiencies, but also having to test on PHP 5.2. Eliminating support for PHP 5.2 helps us speed up release times. Therefore allowing us to develop and test new features at a much faster rate.

Why now?

Basically, we chose now as the time for dropping support because in the past year most major hosts have begun moving their customers over to newer PHP versions and are dropping support for PHP5.2. We delayed dropping support ourselves because we wanted to ensure that most of our existing customers are able to transition to newer versions of PHP fairly easily. Also, in the past year WordPress has made a number of fixes in its releases to address minor compatibility issues with PHP 5.4 and 5.5 that ensure it is fully compatible with the most recent versions of PHP.

Will my WordPress website stop working?

Upgrading your WordPress site to a new PHP version will not break the site unless you have a plugin/theme that uses a deprecated PHP function/method. Themes are less likely to have that, but plugins might. You will have to notify the plugin author of the affected plugin.

Customers can always download and install EE 4.3.2, from the pre-release channel within your account, which is compatible with PHP 5.2 until they can find a better web host.

Keep in mind WP will support sites up to PHP 5.4 (and even PHP 5.5 as of WP 3.9). So compatibility with WP is not a problem.

The only issue our customers might see in some circumstances is if they have WP_DEBUG on, plugins coded in a PHP 5.2 environment (or even PHP 5.3) might have things that throw warnings in PHP 5.4+ , but again that does not break sites if WP_DEBUG is off (which in a production environment SHOULD be off).

What if my host is still on PHP 5.2?

All the major hosts (Dreamhost, Bluehost, Hostgator, etc…) have PHP 5.3 by default.

And if there is a minor host where PHP 5.2 is the best you can have, then what’s the point with signing with a smaller and lesser known company if they cannot provide better services than big ones?

There are hosts which still offer PHP 5.2 by default but do support PHP 5.3 or 5.4 as an option. On these hosts you can ask them for the proper way to upgrade to PHP 5.3. Usually it’s a configuration option in your site’s control panel or in your .htaccess.

Even worse, there are still hosts which do not offer you any way to use PHP 5.3 or later. These hosts must be avoided at all cost. It means that the hosting company doesn’t care about investing the minimal amount of time required to properly setup their machines and ensure your security. Do you really want to trust them with your site? Would you tolerate a catering company serving stale food at your event? It’s the same question. If you’re stuck on such a host we strongly recommending moving to a decent hosting company. We have compiled a short list of quality hosts you might want to consider. Here you go, in no particular order:


As of EE 4.4, we are no longer supporting PHP version 5.2. If you cannot update to PHP version 5.2, then you cannot use EE 4.4. If your hosting company is still on PHP 5.2, you will need to have them update your server to PHP version 5.3 or greater. If they refuse, you should seriously consider switching to a different hosting provider.

Customers can always download and install EE 4.3.2, from the pre-release channel within your account, which is compatible with PHP 5.2 until they can find a better web host.

Why drop support for PHP 5.2?

  1. Security
  2. Ability to write more efficient code
  3. Quicker development of new features

Will my WordPress website still work?
Yes, your site will still work, as long as your WordPress theme and plugins are compatible with PHP 5.3+.

Host won’t update?
Move to a trusted hosting provider.


Tags: , ,
Posted in Product & News | No Comments »

Event Espresso 4 Feature Showcase: Ticket Quantity, #Uses, Min and Max

Blog banner of the 4 Feature Showcase: Ticket Quantity, #Uses, Min and Max

At Event Espresso we’re never content with what we’ve already accomplished with online event registration for WordPress. We’re always looking to make improvements so our customers can sell tickets online. There are so many significant developments coming soon to Event Espresso that we wanted to highlight some of the great changes that are on the way.

A New Ticket Selector to Control Every Option

The Ticket Selector in Event Espresso is being completely redesigned. we’ll show you the full redesign later, but just one powerful function will be the ability to control single ticket options.

Part of that redesign includes the power to control the Ticket Quantity, #Uses per Ticket, Minimum Number of Tickets and Maximum Number of Tickets.

Options Online Ticket Sales

Ticket Quantity

WordPress event managers will be able to set how many of each specific type of ticket is available. You may have only one type of ticket, or many different ticket options for attendees. You will be able to offer a limited number of, say, VIP tickets so you can give a certain number of attendees a special experience. You could also limit the number of promotional tickets that are available for sale, and so on. There are a lot of powerful things you can do with setting quantity limits to your online ticket sales.

Pro Tip: We’ll address this again later, but setting quantity limits for individual online tickets will be one form of setting seating limits for your event or venue in Event Espresso.

Number of Uses per Ticket

When you combine Number of Uses per Ticket with our mobile ticketing apps and ticketing add-on, you really become a professional event manager; you also make online event registration a breeze for your attendees. With the Number of Uses per Ticket, you can sell tickets to attendees that can be used any number of times. For example, if want to sell a ticket that will let people return to the same event twice (or more) then you can do that. You could configure your ticket sales so that attendees can reuse one ticket for all the events in your event series instead of having to print off and bring new tickets each time. This also allows you to let attendees use their ticket as a badge. On the other hand, if you want limit how many times someone can go through the food line, then you can do that too!

Pro Tip: What if you want offer unlimited access to your events or unlimited number of uses during a certain time period? Well, you’ll be able to do that too!

Minimum Number of Tickets  Allowed to Purchase

It’s obvious that attendees have to purchase at least one ticket to attend your event. But what if you wanted attendees to purchase more than one ticket? You can sell tickets online with WordPress and require that attendees purchase more than one ticket at a time. For example, if you want to sell sponsorships to your event with the  requirement that the sponsors purchase more than one ticket for their company, now you can set it up that way. What if you want to sell a family pack of tickets online and offer a discount for purchasing multiple tickets? Well, you can do that too.

Pro Tip: What if you wanted to sell tickets online with tiered pricing? You can now configure the price of each ticket to be different based on the minimum number of tickets they have to purchase. The more tickets you require, the bigger the discount. That’s awesome!

Maximum Number of Tickets Allowed to Purchase

What about the opposite situation, when you knew people would want to attend your event multiple times, but the goal of your organization was to engage with more unique individuals? Now you can specify that someone can only purchase a single (or any maximum you want) number of tickets per transaction. The Maximum Number of Tickets Allowed to Purchase also means you can specify the price of each ticket for a quantity range of tickets (e.g., purchase 5-10 tickets and the price of the ticket is $xx each; purchase 10-20 tickets and the price per ticket is only $x).

Pro Tip: Want to make it less convenient for ticket scalpers to hoard tickets? You can at least get in their way with Maximum Number of Tickets Allowed.

Are you a developer? Are you interested in having early access to Event Espresso 4 for preparing for its release? Take a look at our developer resources where you can request access to our GitHub repo and more.
All these features and more are coming soon to Event Espresso, the best registration and ticketing plugin available for WordPress. These features are in active development and could change between now and the first release. If you have an idea for a feature you’d like to see in the future, let us know! We’d love to hear from you.

Tags: , ,
Posted in Event Planning | 21 Comments »

Event Espresso