Back

VibeFox SimplePay for WooCommerce — Help

Requirements

WordPress: 6.0 or later.

WooCommerce: 7.0 or later, installed and active. The plugin refuses to activate without it.

PHP: 8.0 or later.

Store currency: HUF, EUR or USD. SimplePay does not accept other currencies, and the payment method is not offered for them.

SimplePay merchant accounts: SimplePay gives a separate merchant account for each currency, and separate accounts for live and sandbox. For each account you need its MERCHANT and SECRET KEY from the SimplePay merchant admin (admin.simplepay.hu for live, sandbox.simplepay.hu for sandbox), account > Technical data. If you sell only in HUF, the HUF account is enough. No other keys are needed.

VibeFox license key: bought on vibefox.net. One key works on one domain.

Installation

1. In WordPress go to Plugins > Add New > Upload Plugin, choose the plugin ZIP file and click Install Now. You can also upload the wcp_simplepay_gateway folder to /wp-content/plugins/ by FTP.

2. Click Activate.

3. Open the settings: WooCommerce > Settings > Payments > SimplePay (OTP) > Manage, or click Settings under the plugin name on the Plugins page.

4. Enter your VibeFox license key in the license block at the top of the page and click Activate.

5. Enter the MERCHANT and SECRET KEY of your SimplePay accounts for every currency you sell in: sandbox accounts for testing and live accounts for real payments (see Configuration).

6. Copy the IPN URL shown on the settings page into every merchant account (live and sandbox) in the SimplePay merchant admin.

7. Turn on Enable/Disable, test a payment with Sandbox mode on, then untick Sandbox mode to take real payments.

When you update from version 1.0, the single Merchant ID and Secret key of 1.0 are moved into the account of the store currency in the mode that was active (sandbox or live). Check the accounts after the update.

Configuration

All settings are on one page: WooCommerce > Settings > Payments > SimplePay (OTP). Above the fields the page warns you when the store currency is not supported by SimplePay, or when the store currency has no merchant account in the current mode. In both cases the payment method is not offered for orders in that currency. While sandbox mode is on, the page shows Sandbox mode is on: payments go to the SimplePay sandbox, no real money is charged. In the list of payment methods, SimplePay is marked as needing setup until the current mode has at least one merchant account.

General

Enable/Disable: Enable SimplePay Gateway turns the payment method on or off. Default: off.

Title: the payment method name customers see at checkout. Default: SimplePay (Card Payment).

Description: the text shown under the payment method at checkout. Default: Pay securely with your credit or debit card via SimplePay. Hungarian merchants must show the SimplePay data transfer declaration (Adattovábbítási nyilatkozat) at checkout. You can put it here, with its link.

Sandbox mode: Use the SimplePay sandbox sends payments to the SimplePay sandbox and uses the sandbox accounts. It switches both the API address and the merchant accounts. No real money is charged. Default: on. Untick it to take real payments with the live accounts.

Live merchant accounts

The accounts used when Sandbox mode is off. Fill in the accounts of the currencies your store sells in. The MERCHANT and SECRET KEY values are in the SimplePay merchant admin (admin.simplepay.hu), account > Technical data. An account is used only when both fields are filled in.

HUF account — Merchant ID: the MERCHANT of your live HUF account.

HUF account — Secret key: the SECRET KEY of your live HUF account.

EUR account — Merchant ID and EUR account — Secret key: the same for your live EUR account.

USD account — Merchant ID and USD account — Secret key: the same for your live USD account.

Sandbox merchant accounts

The accounts used when Sandbox mode is on. The fields are the same as for the live accounts: HUF account — Merchant ID, HUF account — Secret key and the same pairs for EUR and USD. Take the values from the SimplePay sandbox merchant admin (sandbox.simplepay.hu), account > Technical data.

IPN URL

The IPN is the message SimplePay sends to your store when the payment status changes. It is the regular way an order becomes paid. The settings page shows the IPN URL of your store. It looks like https://your-site/wc-api/simplepay_payment_callback/. Set this URL for every merchant account, live and sandbox, in the SimplePay merchant admin. If your site uses a language prefix in URLs or redirects other addresses, copy the URL exactly as the settings show it, because a redirected IPN is lost.

The IPN must be signed with the SECRET KEY of the merchant account it names. IPNs without a valid signature are rejected. The plugin confirms each valid IPN to SimplePay in the signed form SimplePay requires. These IPN statuses change the order:

FINISHED: the payment succeeded. The order is marked paid after the amount and currency check.
NOTAUTHORIZED, FRAUD: the payment was rejected. The order becomes Failed.
TIMEOUT, CANCELLED: the payment time expired or the customer cancelled. The order becomes Cancelled.

Failed and Cancelled are set only for the latest payment attempt of an order that is still Pending payment. Other statuses are logged and do not change the order. Without the IPN, an order is confirmed only when the customer comes back to the store after a successful payment.

Orders

Order Status After Payment: the order status set after a successful payment. The status is set at once, without a second status change.

WooCommerce default (Processing; Completed for virtual/downloadable orders): the default.
Completed: every paid order becomes Completed.

Advanced

Logging: Enable logging writes API calls, IPNs and returns to WooCommerce > Status > Logs, source wcp_simplepay_gateway. Keys and customer data are not logged. Errors are always logged, even when this is off. Default: off.

Delete Data on Uninstall: Remove all plugin data when uninstalling. When on, deleting the plugin removes the gateway settings and the plugin's logs. Order data is always kept. Default: off.

Checkout

The customer chooses the payment method (by default SimplePay (Card Payment)) and places the order. The plugin starts a SimplePay card payment for the order total in the order currency, with the merchant account of that currency in the current mode, and sends the customer to the SimplePay payment page. The page shows whatever your merchant account allows for card payments. The customer's e-mail and, when it is complete, the billing address are passed to SimplePay. The payment page uses the language of your site when SimplePay supports it, otherwise English. A started payment can be paid within 30 minutes.

After a successful payment the customer returns to the order received page of your store. The return alone never pays an order: the plugin asks SimplePay for the status of the transaction with a signed request, so the order is confirmed even if the IPN is late. The order received page shows Successful transaction. SimplePay transaction ID: and the ID. If the payment is not confirmed yet, it shows Your payment is being confirmed by SimplePay. SimplePay transaction ID: and the ID.

If the payment fails, is cancelled or times out, the customer is sent back to the checkout, or to the Pay for order page when the cart is empty. There the customer sees SimplePay's message with the transaction ID, for example Cancelled payment. You cancelled the payment or Timeout. The time allowed to complete the payment has expired. A failed payment asks the customer to check the entered data and contact the card-issuing bank. The customer can try again. Each new attempt gets its own SimplePay reference, for example 123, 123-2, 123-3.

If SimplePay cannot start the payment, the customer sees The SimplePay payment could not be started. Please try again or choose another payment method. If the order currency has no merchant account, the message is SimplePay is not available for the currency of this order. Please choose another payment method. The technical reason is added to the order notes and the log. Logged-in store managers also see it in the message.

The payment method works on the classic checkout, on the Checkout block and on the Pay for order page. It is compatible with WooCommerce High-Performance Order Storage (HPOS).

The plugin takes one-time card payments only, captured on the SimplePay page. It has no saved cards or one-click payments, no subscriptions or recurring payments, and no separate authorize and capture.

Orders and refunds

Order statuses

Pending payment: the customer was sent to SimplePay and has not paid yet, or SimplePay has not confirmed the payment yet. The order note shows the started transaction, the amount and the mode (sandbox or live).

Processing or Completed: the payment was confirmed. The status follows Order Status After Payment. The order note shows the transaction ID and whether the IPN or the status request confirmed it. The SimplePay transaction ID is saved as the order's transaction ID. A late successful payment also completes an order that was Failed or Cancelled.

On hold: the order total or currency was changed after the payment was started, so the paid amount differs from the order. The order note shows both amounts. Check the order and fulfil it or refund the payment.

Failed: SimplePay reported the latest payment attempt as not authorised or fraud.

Cancelled: SimplePay reported that the latest payment attempt timed out or was cancelled.

A refunded or completed order is never re-opened by a late IPN. If a second payment succeeds for an order that is already paid, the order is not changed again. A note asks you to check it in the SimplePay admin and refund it if it is a duplicate.

Refunds

Open the order, click Refund, enter the amount and click Refund via SimplePay (OTP). Full and partial refunds are supported. HUF refunds must be whole forints. The refund is sent with the merchant account and in the mode (sandbox or live) the payment was made with, so that account must still be in the settings. If SimplePay does not accept the refund, WooCommerce shows the error and no refund is recorded. A successful refund is added to the order notes with the SimplePay refund transaction ID and the reason, if you entered one.

Refunds made in the SimplePay merchant admin are not synced to WooCommerce. Record them in WooCommerce manually, without Refund via SimplePay (OTP).

License key

The plugin works with a VibeFox license key from vibefox.net. The license block is at the top of WooCommerce > Settings > Payments > SimplePay (OTP). Paste the key into License key and click Activate. The block shows the status, for example the date the license is active until and your domain. Use Check now to check the status again, Change key to enter another key and Remove key to remove it from this site. The link Manage licenses and domains in your account opens your vibefox.net account.

One key works on one domain. Removing the key from a site does not free its domain slot. Free the slot in your vibefox.net account.

Without an active key, SimplePay is not shown to customers at checkout. If a payment is started anyway, the customer sees This payment method is not available. Please choose another one. Logged-in store managers still see the payment method, marked (unlicensed — visible to admins only), so you can set up and test the plugin before you buy a key. A reminder appears on the Plugins page and on WooCommerce pages. Existing orders are not affected: payments already started are still confirmed, and refunds work.

When a license expires, the plugin keeps working, but updates and support need a renewal. The status is checked again automatically in the background.

Troubleshooting

SimplePay does not appear at checkout: check that the license is active, Enable/Disable is on, the order currency is HUF, EUR or USD, and that currency has both Merchant ID and Secret key in the current mode: the sandbox accounts while Sandbox mode is on, the live accounts while it is off. The settings page shows a warning when the store currency has no account.

The payment went through, but the order stays Pending payment: the IPN did not reach the store. In the SimplePay merchant admin check the IPN URL of the merchant account you use (live or sandbox, the currency of the order). It must be exactly the URL shown in the settings, and your server must be reachable from the internet. The order is also confirmed when the customer returns to the store after paying.

IPN answers Invalid signature: the IPN names a merchant account that is not in the settings, or its Secret key is wrong. Enter the MERCHANT and SECRET KEY exactly as the SimplePay merchant admin shows them. SimplePay repeats unconfirmed IPNs.

IPN answers Order not found or Unknown transaction: the IPN is for an order or a transaction that this store did not start. The order is not changed.

IPN answers Busy, retry: the order was being confirmed by another request at the same moment. SimplePay retries the IPN.

The customer sees an error when placing the order: open the order notes or look at WooCommerce > Status > Logs, source wcp_simplepay_gateway. A wrong secret key gives Invalid response signature from SimplePay. Check the secret key of the merchant account. SimplePay errors are shown as SimplePay error code(s): followed by the codes.

After switching between sandbox and live: new payments use the accounts of the new mode. Orders started before keep the merchant account and mode they were started with: their IPNs, status requests and refunds use that account. Keep the accounts of the old mode in the settings while such orders are open or may be refunded.

Order is On hold after payment: read the order note. The order total or currency was changed after the payment was started. Fulfil the order or refund the payment.

Refund fails: read the message. SimplePay refunds in HUF must be whole amounts. means the HUF amount had decimals. If the message says the merchant account of this payment is not configured, enter the account (currency and mode) the payment was made with again. If SimplePay refunded a different amount, the message asks you to check the refund in the SimplePay admin.

The license block shows an error: follow the message in the block. For example, if the key is already used on another domain, free a slot in your vibefox.net account and click Check now. If the site address changed, click Check now to activate the key for the new domain. If the license server cannot be reached, the plugin keeps working on the last known status.

Uninstall

Deactivating the plugin keeps all data. To remove it, deactivate and delete it on the Plugins page. The license key and license status of this plugin are always removed. The gateway settings and the plugin's logs are removed only if Delete Data on Uninstall was on. Otherwise they stay for a later re-install. Existing orders keep their payment notes, transaction IDs and SimplePay data.

SimplePay is a trademark of its respective owner. This plugin is not affiliated with or endorsed by SimplePay.