Plugins

No code? Plug in.

Take ezPayments payments in your store without writing code. Both integrations use the same payment links and signed webhooks as the API.

PlatformHow customers paySetup
WooCommerceRedirected to an ezPayments hosted payment page at checkoutInstall the WordPress plugin, paste your secret key
ShopifyOrder placed with the ezPayments manual payment method, then paid by linkCreate a Shopify app, then connect it in ezPayments under Settings, Shopify

WooCommerce

v1.1.0ezPayments for WooCommerce adds ezPayments as a payment gateway. At checkout your customer is sent to a secure ezPayments payment page, and the order updates automatically when they pay. The plugin never touches card data.

Requirements

  • WordPress 5.8 or later, WooCommerce 6.0 or later, PHP 7.4 or later
  • HTTPS on your store (needed to receive webhooks)
  • An ezPayments secret API key: sk_test_… for testing, sk_live_… for real payments

Install

  1. Download ezpayments-woocommerce.zip from the latest release.
  2. In WordPress go to Plugins → Add New → Upload Plugin, choose the zip, click Install Now, then Activate Plugin.
  3. Updates appear in the normal WordPress updates screen when a new release is published.

Configure

Go to WooCommerce → Settings → Payments → ezPayments → Manage.

SettingWhat to enter
Enable ezPaymentsTick to show ezPayments at checkout
Title / DescriptionWhat customers see at checkout
Test ModeOn by default. Uses your test key, so no real money moves
Test Secret KeyYour sk_test_… key
Live Secret KeyYour sk_live_… key
Webhook StatusRead-only. Shows whether webhooks are registered for test and live

When you click Save changes, the plugin checks each key with ezPayments and registers a webhook for that mode at https://your-store/wp-json/ezpayments/v1/webhook, listening for payment_link.paid, payment_link.expired and payment_link.cancelled. You don’t need to set up webhooks yourself.

Use the secret key, never the publishable key (pk_…). Create keys in your ezPayments dashboard under API keys. A secret key is shown only once.

How a payment works

  1. The customer chooses ezPayments at checkout.
  2. The plugin creates a payment link for the order total in USD. Stores in another currency are converted to USD at a live rate; the original amount and currency are kept on the order.
  3. The order is set to On hold and the customer is redirected to the ezPayments payment page.
  4. After paying, the customer returns to your order-received page.
  5. ezPayments sends a signed payment_link.paid webhook. The plugin marks the order paid (usually Processing), adds an order note and reduces stock.
Webhook eventWhat happens to the order
payment_link.paidPayment completed, stock reduced. Protected against double processing
payment_link.expiredCancelled
payment_link.cancelledCancelled

Test mode

With Test Mode on, payments use your test key and no real money moves. Pay with the test card 4242 4242 4242 4242, any future expiry date and any CVC.

Limits

  • Customers are charged in USD.
  • Up to 10,000.00 per order.
  • Refunds aren’t supported from WooCommerce yet. Refund from your ezPayments dashboard instead.
  • Products only: no subscriptions or saved cards.

Troubleshooting

MessageFix
Invalid Test/Live Secret KeyYou pasted a publishable key. Use the key that starts with sk_test_ or sk_live_.
Could not authenticate API keyThe key is wrong, revoked or from another account. Create a new one.
ezPayments requires HTTPS for webhook deliveryTurn on HTTPS for your store, then save settings again.
Webhook not registeredSave settings again with a valid key.
Unable to convert currencyThe exchange-rate service was unreachable. Try again shortly.
Orders stay On holdCheck WooCommerce → Status → Logs, source ezpayments, for webhook signature errors. Save settings again so the right webhook secret is stored.

Shopify

Connect your Shopify store from the ezPayments dashboard. Customers place their order with an ezPayments manual payment method, get a payment link by email, and once they pay, ezPayments records the payment on the Shopify order. There is nothing to install.

Requirements

  • An ezPayments account with the Owner, Admin or Developer role
  • A Shopify store on a *.myshopify.com domain
  • An active ezPayments API key (test or live). The store follows the key’s mode

Connect your store

  1. In ezPayments, open Settings → Shopify → Connect.
  2. In Shopify admin go to Settings → Apps → App development → Build apps in Dev Dashboard → Create an app and name it ezPayments.
  3. In the app’s configuration, set the App URL and Allowed redirection URL shown in the ezPayments wizard.
  4. Set the API scopes to read_orders, write_orders, read_customers, write_script_tags, save, then click Release.
  5. Copy the app’s Client ID and Client Secret into the ezPayments wizard, along with your store domain and API key.
  6. In Shopify go to Settings → Payments → Manual payment methods → Create custom payment method. Its name must contain ezPayments, for example ezPayments - Card.
  7. Click Connect Store in ezPayments and approve the app in Shopify.

How a payment works

  1. The customer checks out with the ezPayments payment method. Shopify creates the order as unpaid.
  2. ezPayments receives the order, creates a payment link for the order total and emails it to the customer.
  3. The customer pays on the ezPayments payment page and returns to their Shopify order status page.
  4. ezPayments records the payment on the Shopify order. You can follow each payment under Settings → Shopify → Sessions.

Limits

  • Customers pay after placing the order, not inside Shopify checkout.
  • Payments are in USD. Up to 10,000.00 per order.
  • Expired or cancelled payment links and refunds don’t update the Shopify order.
  • One ezPayments account per Shopify store.

Troubleshooting

MessageFix
Invalid store domainUse your *.myshopify.com domain, not a custom domain.
Store already connected to another accountDisconnect it from the other ezPayments account first.
Invalid HMAC signature / Invalid stateWrong Client Secret, or approval took more than 10 minutes. Start the wizard again.
Orders don’t get a payment linkThe manual payment method’s name must contain ezPayments.
Store shows token invalidShopify revoked access. Reconnect the store.
Building your own integration? Start with the API reference, or hand the AI agent guide to your coding assistant.