WooCommerce extension updates & releases

We’ve got several exciting updates coming to WooCommerce First Data to share with you, which should be available via your WooCommerce dashboard by tomorrow 🙂

Version 4.0.0 refactors large parts of the plugin to make use of some common code we have for payment gateways, improving the performance and reliability of First Data, along with the addition of a new gateway mode. This also gives First Data some useful new features, such as capturing payments from within WooCommerce, while maintaining popular features like Soft Descriptor support.

Global Gateway Improved

First, the legacy Global Gateway (formerly Linkpoint) integration has been completely overhauled. We know there aren’t too many merchants using this for payment processing, but if you need it, we’ve clarified settings and added information on where PEM files should be stored on your site.

As part of this, we also have more details coming to our documentation this week on how to get set up with the legacy Global Gateway. Note this gateway is still deprecated and we won’t be adding features to this, but if you’re stuck using this method, hopefully it’s now less painful to set up 😉

Payeezy Gateway Rewritten

The core Payeezy method (now titled “Payeezy Gateway”, previously “GGe4”) has been improved as well. We’ll tell you about some specific features in a bit, but this also leverages some of our common gateway code for better performance.

Improved payment forms, account management, charge captures, and detailed decline messages are just some of the improvements we’ve made.

Payeezy Added

We’ve also added a new gateway method from First Data: Payeezy API (titled “Payeezy” in the plugin). Merchants currently using Payeezy Gateway can ask First Data to have their merchant accounts upgraded, and once this is done, can switch to using this gateway mode instead:

WooCommerce First Data Select Gateway Mode

One of the main benefits of the new Payeezy is basic PCI compliance. When we’d written about WooCommerce PCI compliance, we talked about “Client-side direct” gateways that tokenize / encrypt payment data before sending it through your servers so that you meet the most basic PCI requirements automatically.

Payeezy affords merchants the ability to use a tokenization SDK like this, providing a security improvement over Payeezy Gateway.

WooCommerce First Data Payeezy Settings

Payeezy (API) settings

Payeezy also includes the same great features that Payeezy Gateway has already had, such as refund and void support from directly within the WooCommerce admin. It also fully supports WooCommerce Subscriptions and Pre-Orders so long as tokenization is enabled in the plugin and within your First Data account.

Capture Charges from WooCommerce

Both Payeezy and Payeezy Gateway now support capturing charges from directly within the WooCommerce admin. If you authorize transactions without capturing them, you can now capture the charge from within WooCommerce:

WooCommerce First Data capture charge

Capturing Charges

This will automatically update the order status from on hold to processing, and captures the charge within First Data so you don’t have to log into your merchant account.

Charges can be captured for several orders at once via bulk action as well.

Improved Checkout and TeleCheck Support

All gateway modes will now benefit from an improved payment form at checkout that recognizes and auto-formats card types, along with expiration dates.

WooCommerce First Data checkout form

In addition, TeleCheck support has been added to Payeezy and Payeezy Gateway to let you accept eCheck payments for one-off purchases.

WooCommerce First Data Payeezy TeleCheck

TeleCheck does not support tokenization / Subscriptions, but can be used for any single order.

Detailed Decline Message Support

Payeezy and Payeezy Gateway support detailed decline messages at checkout. Any time a transaction is declined by First Data and a useful / specific error is returned, a detailed message is displayed rather than the generic, “please try another payment method” notice.

Account Management Improvements

There are a couple new account management improvements supported by Payeezy Gateway and Payeezy. First, customers can add new saved cards from directly with the “My account” area without the need to go through checkout to add new payment methods.

WooCommerce First Data Add Saved Card

When Subscriptions is active, the saved payment method table will also now show more detail, such as any linked subscriptions the card is used for (thanks to some great work by Chase in our plugin framework). If one subscription is linked, a “View Subscription” button will be included. If multiple subscriptions use the same saved method, a comma-separated list of subscription IDs (with links) will be shown and this button is hidden.

WooCommerce First Data Payeezy My Account Saved Methods

Saved Methods + Subscriptions

This also changes how card deletions are handled. If a card is currently linked to a subscription, it can no longer be deleted to avoid failed renewal payments that require a manual card token update. The subscription must be switched away from this card to remove it.

Ready to give it a go? You can download the update from WooCommerce once it’s deployed, and we’ll update our documentation then as well. As always, if you run into any hiccups with upgrades or new features, we’re happy to help via the help desk.

Published by Max Rice

Max is one of our co-founders, CEO, resident webhook expert, and coffeescript lover. He's a top WooCommerce contributor, unit test aficionado, survivor of coding with timezones, and spends much of his time being the chief bottleneck at SkyVerge.


  1. A question on “TeleCheck does not support tokenization / Subscriptions, but can be used for any single order.”

    Is this something that’s coming? Or, isn’t it possible because of First Data? Or…?


    • Afraid this is a technical limitation — First Data doesn’t have a way to tokenize / save echeck data, so they can’t be used for future payments. Sorry I don’t have better news!

  2. My client is using the same FirstData Payeezy Payment gateway for two different sites. I see that enabling Soft Descriptors can give you the ability to add a DBA name, etc. from the site. I looked at the First Data API resources and noticed there is also a level 2 and level 3 data that can be pushed to the gateway too in order to pass along freight charges and items purchased as part of the transaction. Is there a method to enable that with this First Data Payeezy Woocommerce extension? If there isn’t, do you provide services to add that customization?

    The reason I ask is that the client’s accounting dept needs to reconcile orders each month from both sites and needs to keep them separate. Right now they would have to export orders from Woocommerce and run it against the transactions at FirstData using order numbers. If they could do it all from within FirstData’s payment gateway it would save a lot of time.

    I realize you provide support for Woocommerce customers as well and they’ve been backlogged due to WC 3.0 release. Their support site has a minimum of 5 day response time right now and I wanted to get a feasibility answer on this before then if possible.

    Thanks for making some awesome extensions and keep up the good work.



    • Hey John, level II data is already sent by the plugin. Level III data is not supported because it requires each line item to have an associated commodity code, which the admin must enter from a list of hundreds of types (see this document), which is a massive setup headache. As we’ve only had one request for this in the past (yours makes 2), that’s not really enough to invest in building the very complicated UI required to make this possible.

      If level III is really needed, you could have custom code to filter the request data and set the level 3 data manually (see the WC_First_Data_Payeezy_Gateway_API_Transaction_Request::set_level_2_3_data() method notes in the plugin) — we recommend Codeable for these sort of projects 🙂

      • Thanks for clarifying Beka. That makes total sense from a development standpoint as to why Level III hasn’t been rolled in. I figured there was some reason behind it and I’ll explain that to the client.

        I appreciate the detailed response. Cheers!


  3. Hi SkyVerge,

    I have another Payment Gateway question for you. We are using this FirstData payment extension. The client wants to only authorize the payment until the product is shipped. We have WooCommerce connected to ShipStation.
    The order shows up as “On hold” in ShipStation (the same order status the order is at within WooCommerce). When we print the shipping label for that On-Hold order in ShipStation, ShipStation connects to WooCommerce and changes the order status to Complete.

    However, we need to capture the authorized funds when the order status is set to complete. Does that happen automatically when changing the order status in WooCommerce to complete with this FirstData payment gateway? or is there a method or function we can add to capture funds that are in the “On hold” status when we mark them as complete?

    Thank you,


  4. Hello,

    Following up on the discussion from last May, “Level II data is already sent by the plugin.”

    Is there documentation on that? My client is working with a bank that uses Payeezy and claim they need this. It would be great to tell them, “Got it” – but in a definitive way.

    • Hey Peter, the Level II data here is all sent by the plugin — tax amount, ship to address, and customer reference number. Level III data is not included because it requires every line item to have a commodity code, which the admin must enter from a list of hundreds of types (see this document), so we don’t have plans for any Level III data at this time.

  5. Thanks! That helps.

    I guess the question we have to resolve with the bank is if we need default content for customer reference number, i.e., it “cannot be blank.”

    • Hey Peter, our plugin automatically sends customer reference number, so it will never be blank 🙂 It will be equal to the WooCommerce order number on your site.

Hmm, looks like this article is quite old! Its content may be outdated, so comments are now closed.