# GetGateman for WordPress

GetGateman connects WordPress email and selected Stripe payment integrations
to Gateman. The plugin includes the Gateman client integration and handles
authenticated Gateman requests for you. WordPress administrators do not need
to install a separate Official PHP client or implement Contract v1 signing.

You need a Gateman account and a configured Gateman application. Configure the
application and its provider credentials in Gateman, then connect the
application from WordPress.

## What the plugin provides

- WordPress `wp_mail()` transport through Amazon SES, Postmark, or Resend.
- WooCommerce hosted Stripe Checkout and embedded Stripe Payment Element.
- Easy Digital Downloads hosted and embedded Stripe checkout.
- FluentCart hosted and embedded Stripe checkout for one-time payments.
- Stripe webhook setup and payment completion for the supported integrations.
- Provider-readiness checks, a test-email action, and optional local email
  activity logs.

The plugin does not store Stripe provider credentials. It uses the Gateman
application configuration and capabilities selected for the site.

## Install the plugin

Install GetGateman using the official plugin ZIP package:

1. In WordPress administration, open **Plugins → Add Plugin**.
2. Upload the GetGateman package and install it.
3. Activate **GetGateman**.
4. Open **GetGateman → Settings**.

The plugin requires PHP 8.1 or newer for the bundled Official PHP client,
with cURL, JSON, and sodium support available to PHP. The WordPress
installation must also provide the platform integration you intend to use:
WooCommerce, Easy Digital Downloads, or FluentCart.

## Configure Gateman

Create or select the Gateman application in the Gateman console. Grant the
capabilities needed by the site and configure the matching provider
credentials there. For payment integrations, the application needs the
Stripe capability and the Stripe webhook capabilities used by the plugin.

In **GetGateman → Settings**, choose one of the supported configuration
methods.

### WordPress-managed configuration

Enter the Gateman App ID, choose **Private key** or **App secret**, enter the
credential, and select **Production**, **Staging**, or **Development**. Save
the settings.

The credential is the Gateman application credential, not a Stripe, SES,
Postmark, or Resend credential. Provider credentials remain in Gateman.

### Deployment-managed configuration

A deployment can provide `GM_BASE_URL`, `GM_APP`, either `GM_PRIVATE_KEY` or
`GM_APP_SECRET`, and `APP_ENVIRONMENT` to the PHP process. When supported
deployment configuration is present, it is used as one complete source and
WordPress-managed values are not mixed with it. The normal WordPress settings
screen shows that configuration is managed by the deployment.

Keep application signing credentials server-side. Do not commit them, log
them, or expose them to browser code.

## WordPress email

When **Email through Gateman** is enabled, the plugin handles normal
WordPress `wp_mail()` calls through Gateman. Select **Amazon SES**, **Postmark**,
or **Resend** in the Email section.

The transport supports normal text/plain and text/html messages, recipients,
Cc, Bcc, From, Reply-To, supported headers, and bounded attachments. Use
**Send Test Email** from the settings screen after configuring the selected
provider.

Production sends through the selected provider. Staging and Development use
Gateman mailbox capture and do not deliver through the external provider.

When Gateman email transport is enabled, failed sends do not fall back to
WordPress's default mail transport.

Optional **GetGateman Email Logs** store metadata about the local WordPress →
Gateman result, such as recipients, subject, provider, environment, status,
message ID, and safe error information. Message bodies and attachment
contents are not stored. These logs are not provider delivery reporting.

## Stripe payments

Configure the relevant payment gateway in the normal platform settings, then
return to **GetGateman → Settings → Stripe Webhook** and select **Set up Stripe
webhook**. The plugin displays the callback URL and reports whether the
webhook is configured for the selected environment.

Stripe sends payment events directly to the WordPress webhook endpoint. The
plugin verifies the event and completes the supported platform payment flow.

### WooCommerce

WooCommerce supports:

- Hosted Stripe Checkout.
- Embedded Stripe Payment Element.
- Classic WooCommerce checkout.
- WooCommerce Checkout Blocks.
- Payment completion through the supported return and webhook flows.

Embedded payment fields remain in Stripe.js; WordPress and Gateman do not
receive raw card details.

This integration is for supported one-time payment flows. Subscriptions,
saved cards, express checkout, and wallet-specific functionality are not
provided by this gateway.

### Easy Digital Downloads

Easy Digital Downloads supports hosted Stripe Checkout, embedded Stripe
checkout, payment completion, and Stripe webhook handling. The integration
supports EDD 3.7.1 and later behavior where the payment identifier is supplied
through the platform's order flow.

### FluentCart

FluentCart registers a **GetGateman Stripe** gateway with two payment
experiences:

- **Hosted Stripe Checkout**.
- **Embedded Stripe Payment Element**.

The gateway supports one-time payments and completes the FluentCart payment
through its native order and transaction lifecycle after the payment is
verified. Subscriptions, recurring renewals, saved payment methods, and
automatic refunds are not supported.

## Readiness and next steps

The settings screen reports missing configuration and provider-readiness
results separately. A missing provider credential or capability prevents the
corresponding integration from becoming ready; it does not require provider
credentials to be copied into WordPress.

For application setup, see [Getting started with an application](https://docs.getgateman.com/getting-started-with-an-application/).
For the underlying payment capability, see [Use Stripe](https://docs.getgateman.com/capabilities/stripe.use/).
For email behavior, see [Send email](https://docs.getgateman.com/capabilities/email.send/).
